PdVst

VST - Pd Bridging Plugin



-What Is PdVst-
PdVst is a software system that allows Pd patches to run as VST plugins.


-How PdVst Works-
PdVst consists of two main parts, a VST plugin and a custom version of Pd. When a PdVst plugin is opened by the host application, a setup file is read to determine information about the plugin, such as the Pd patch file to use, the number of parameters, etc., and the custom version of Pd is started and opens the Pd patch file whose name was found in the setup file.


-Installation-
  1. Copy the pdvst folder to the directory that contains the application (e.g. Cubase.exe) that you want to use PdVst with (e.g. c:\Program Files\Steinberg\Cubase VST\)
  2. Copy your .pdv, .pd, and any dependant Pd external .dll library files to the pdvst directory.
  3. Copy your plugin .dll file (e.g. Pd_Gain.dll) to the vst plugins directory for the application (e.g. c:\Program Files\Steinberg\Cubase VST\VstPlugins\)

-Creating VST Plugins from Pd Patches-
  1. Create a new .pdv setup file (see -The .pdv Setup File- section). The file must be named the same as the plugin (e.g. for a plugin named Pd_Gain you would create a file named Pd_Gain.pdv). Place this file and all dependant files (.pd files, external Pd library .dll files, etc.) in the pdvst directory of the application you wish to use the plguin with.
  2. Make a copy of the pdvst-template.dll file and rename the same as the plugin and .pdv file (e.g. for a plugin named Pd_Gain you would copy pdvst-template.dll to a new file named Pd_Gain.dll). Move your new plugin .dll file to the vst plugins folder of the application.

-The .pdv Setup File-
This file contains all of the information about your plugin. The format is ASCII text with keys and values separated by an '=' character and each key and value pair separated by a carriage return. Comments are demarked with a '#' charcater. For an example, see Pd_Gain.pdv and Pd_Synth.pdv.

    -Keys-

-Pd/VST Communication-
When the plugin is opened, the .pd patch file declared in the .pdv setup file's MAIN key will be opend. For VST effects, the Pd patch will receive its incoming audio stream from the adc~ object. For VST instruments (VSTi), the patch will receive incoming MIDI data from the Pd objects notein, ctlin, and pgmin. Pd patches should output their audio stream to the dac~ object.

For purposes such as GUI interaction and VST automation, your patch may need to communicate further with the VST host. Three special Pd send/recieve symbols can be used in your Pd patch. For an example, see the Pd_Gain.pd file.

Note: for most VST hosts, parameters for VST instruments are recorded as sysex data, so be sure to disable any MIDI message filtering in the VST host.


-What's New in v0.0.2-
-added VST instrument functions
-added external library loading
-fixed sample rate problem
-fixed initial program loading problem


-Downloads-
    pdvst-0.0.2.zip - PdVst source and binaries.



[ Back ]   [ Home ]



Questions? Comments? Send them to me, Joseph Sarlo (jsarlo@ucsd.edu)