Dave Phillips wrote:
Mark Knecht wrote:
I'd
like to see every Linux Audio user interested in this subject
start pressing the Wine folks to support this themselves. Let's pay
attention to the Windows apps that can host VSTs and VSTi's. Acid Pro
is a commercial one that comes to mind. Fruity Loops, etc. There's got
to be free VST loaders out there for Windows. Older versions of Acid
install and run fine under Wine but do not handle VSTs very well. The
new versions don't install or run.
Putting together yet another hack outside of Wine that will run for 1
year and then die when gcc5 comes out would be disappointing. Let's
get the Wine folks to support this.
Please enter apps in the Wine AppDB and enter test results in Wine's
Bugzilla. If there are enough of us entering 100's of apps then
they'll pay attention. Maybe not fast, but I believe they will.
Hear the man. This issue is really as much a matter for the WINE folk
as it is for us. VSTs are Windows applications, WINE intends to run
Windows applications.
Torben Hohn wrote:
i still believe, that the current xfst approach
is a clean solution.
it does no more use the libwinelib hack.
its a wine app which uses jack natively.
An interesting approach.
I downloaded the 0.3 package and built it under Planet CCRMA's RH9,
WINE 20050725. What I had to do:
1) Fixed aeffectx.h by commenting out lines 918 through 932 and
added "struct" to the beginning of line 949 to read "struct
VstFileType".
2) Linked /lib/libuuid.so.1 to /lib/libuuid.so.
It built without problems. There is no 'make install', so I ran xfst
from its own directory.
The first time I ran it my X server crashed, probaby due to memory and
CPU shortcomings of my PII 366 laptop. I restarted X and ran './xfst
../vstplugins/Crystal.dll'. The plugin GUI appears and its various
controls seem to work all right. I connected a virtual keyboard to it,
played a note, and JACK zombifies the plugin.
I've only tried running the Crystal plugin, so this test doesn't mean
much. I'll try upgrading WINE to see if that matters.
so someone should step forward and try to get
xfst outthere soon.
with webpage, README etc.
I need to update the VST/Linux tutorial and I'd like to include
information regarding xfst. Success stories are welcome.
I'll try building and installing it tomorrow on my desktop machine.
Best,
dp
xfst worked great with some VSTis
I've tested so far:
Crystal ran well
NIs Kontakt Sampler 1.5 runs nearly like a native linux app and is
perfectly jackified.
NIs Reaktor Session has had major problems with it's menu structure,
freezed to some degree and than didn't recognize mouse-clicks
My Setup:
Debian Testing (kernel 2.6.13)
Wine 20050628 (winxp mode)
xfst-0.3
Here is what I did, to make it working.
Download the vst-sdk.
http://ygrabit.steinberg.de/users/ygrabit/public_html/vstsdk/Download/VST%2…
Copy the required header files from vstsdk2.3/source/common/ to xfst/vst
directory.
(AEffect.h and aeffectx.h)
Patch xfst/vst/aeffectx.h
I'v created a diff, appended as attachment.
Apply it like this:
patch aeffectx.h aeffectx.h.diff --verbose
compile xfst:
make
Start jackd
Start xfstified vst:
./xfst ~/.wine/c/Program\ Files/Vstplugins/Kontakt.dll
Regards,
Emanuel
start of aeffectx.h.diff
#######################################
--- aeffectx.h.orig 2005-10-16 17:30:00.000000000 +0200
+++ aeffectx.h 2005-10-17 15:27:11.000000000 +0200
@@ -913,6 +913,9 @@
//---Used by audioMasterOpenFileSelector-----------
+/*
+// commented out for xfst
+//
struct VstFileType
{
VstFileType (char* _name, char *_macType, char *_dosType, char
*_unixType = 0, char *_mimeType1 = 0, char *_mimeType2 = 0)
@@ -938,6 +941,9 @@
char mimeType2[128];
};
+*/
+
+
struct VstFileSelect
{
long command; // see enum kVstFileLoad....
@@ -946,8 +952,12 @@
long macCreator; // optional: 0 = no creator
long nbFileTypes; // nb of fileTypes to used
- VstFileType *fileTypes; // list of fileTypes
-
+
+
+ // commented out for xfst
+ //struct struct VstFileType *fileTypes; // list of fileTypes
+
+
char title[1024]; // text display in the file selector's title
char *initialPath; // initial path
###################################
end of aeffectx.h.diff