VSTServer V0.0.1. ----------------- First release. Beta, but usable.
ABOUT
Vstserver is a wine program that must be running when using programs using vstlib.
Vstlib is a library that can be used by programs to run windows vst audio plugins under linux/freebsd/i386solaris/etc.
RUNNING Vstserver is started like this: "wine vstserver.so". You probably want to set the "VST_PATH" environment variable pointing to your plugins first.
DEVELOPMENT Vstserver is released under the GPL, and vstlib under LGPL. If there comes many source-contributions, I will probably make it a sourceforge project. To use vstlib in a program, look at the tests/exampleclient program, and various vst plug-in documentation. The interface to the vstlib consists only of two functions (new/delete), the rest is like you would do when programming for windows, macos(X), beos, irix, etc.
CURRENT STATUS Vstserver seems to be very stable. I have not found any plug-ins that wont run, and I am not able to hear any latency. And plug-ins does not seem to cause more cpu-power than under windows. No GUI or graphics-support yet.
BUGS 1. When running the ladspa "listplugins" program many times in a row, I get the following errors before the server freeze:
err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes err:region:CombineRgn Invalid rgn=0000 err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes err:region:CombineRgn Invalid rgn=0000 err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes err:region:CombineRgn Invalid rgn=0000 err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes err:local:LOCAL_GetBlock not enough space in GDI heap 01f7 for 24 bytes err:clipping:CLIPPING_UpdateGCRegion hVisRgn is zero. Please report this.
I dont know what this is. Its not errors coming from the vstserver program. It seems to be related to X, allthough no graphics is used in the vstserver. I hope its just the buggy libXrender.so library that wine shouts about each time it starts.
2. Shared memory handlig might be faulty. I suspect that it doesnt free resources. (see server/shmhandler.c)
3. I havent read the vst plug-in documentation yet, and dont know everything about it. This especially goes for the "AudioMasterCallback" function, which for now just returns 1. I guess some more work needs to be done in this area, and for the various dispatch opcodes too.
4. The processReplacing function in vstlib should perhaps be made just by calling the process fuction. But I dont understand the difference between processReplacing and processing.
FUTURE Add GUI and graphics support to the server (help wanted). And maybe make a DX-plugin server. (would be fun running pi-warp under linux).
CREDITS vstserver and vstlib are made by Kjetil S. Matheussen / Notam. k.s.matheussen@notam02.no
Some programming hints is gathered by looking at the pd vst-object plugin~ source and the jack soundserver source.
vst ladspa plugin v0.0.1 - alpha ---------------------------------
Makes vst plugins located in $VST_PATH appear as ladspa plugins.
I'm not sure how well this one actually works. The northpole plugin seems to work, but others don't. Oh well, its alpha for now.
k_vst~, a Pd tilde object for hosting VST plug-ins. ---------------------------------------------------
This is really just the plugin~ source made by Jarno Seppänen, but with a few lines changed (very few that is) to make it work with vst-plugins using the vstlib.
The name was changed from plugin~ to k_vst~ to avoid nameclash with the plugin~ object running ladspa plugins.
This object is for i386 non-windows (ie. linux/freebsd) only.
This one works very well!
-------------------------
vstserver, ladspavst and k_vst~ are open-source programs made at Notam / Oslo, and can be downloaded from from http://www.notam02.no/arkiv/src/