EDIT: here’s the stable release VSTPlugin v0.1.0 released!
Hi, I’m happy to share a pre-release of VstPlugin. It’s been a month since the last test release and the project has developed a lot thanks to all the valuable feedback and discussions I had.
Binaries (just unzip into your Extensions directory):
Windows 64-bit: https://drive.google.com/open?id=134Fr053BXFu5HtQMCZeb51L4cOxV36wp
Windows 32-bit: https://drive.google.com/open?id=1LcYCvWSQJZea-EprHEL3rJVI5g1K4Y7T
macOS 64-bit: https://drive.google.com/open?id=1BWGmgQoAoNyYArGszsjAn_aWJgpgYkgy
Here is the source code: https://git.iem.at/pd/vstplugin/tree/develop
NOTE: Many method names and parameters have changed, so old examples probably won’t work.
I’ve updated the documentation and added some examples (could be more, of course).
I think it would be also good to have a short Tutorial/Guide.
If possible, send bug reports to https://git.iem.at/pd/vstplugin/issues (needs an GitHub or gmail account) because it’s easier for me to track them. Otherwise just post them here.
- VstPlugin is now fully realtime-safe!
- class methods for searching a Server for plugins (in the platform specific default paths and/or user provided paths).
- the plugin info is cached on the Client side, so you can access it without actually creating plugin instances
- each searched plugin is stored under a key which is generated from plugin name + subfolder (e.g. ‘GVST/GChorus’). those keys can be used in -open.
- -open now also accepts relative paths (which are resolved to the currently executing file).
- easier to use VST instruments: the -midi method returns an instance of VstPluginMIDIProxy which basically has the same interface as MIDIOut and can be used as such (e.g. as the MIDI target for \midi Pbinds). all other MIDI messages have been removed from VstPluginController (except for raw MIDI).
- -showGui is gone; instead there’s -editor to show the VST editor (Windows and Linux only) and -gui for the Qt GUI.
- you can use the Qt GUI and VST editor simultaneously (but you have to -open with ‘editor: true’)
- -gui now follows the SC conventions and can be either opened as a new Window or embedded in existing views!
- it’s possible to change models, so you can use a single view and switch between different VstPluginController instances
- parameter displays are now text fields, where you can type the value as a string (not supported by all plugins)
- VstPluginGui also has a pop-up menu for changing programs, panels for reading/writing program/bank files and a dialog for searching, browsing and opening plugins.
- various customization points on class and instance level
- several optimizations for local Servers (most data is now transferred via temp files)
- more reliable OSC communication with remote Servers
- proper MVC via object dependency. you can add objects as dependants and they will receive all necessary updates. (needs to be documented.)