[Lazarus] VST

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Tue Nov 26 18:01:31 CET 2013

Michael Schnell wrote:
> Did anybody ever do a "VST plugin" by means of Lazarus/fpc ?
> ==============================
> A VST plugin is a DLL, that can receive and send MIDI and/or Audio data 
> streams and features a GUI ( -> 
> http://en.wikipedia.org/wiki/Virtual_Studio_Technology ). There are 
> hundreds of VST plugins (commercial and non-commercial) and there are a 
> lot of (commercial and non-commercial) programs that can host such VST 
> plugins, on Windows and on Mac.
> The API of such DLL is defined (by Steinberg) as well for Windows as for 
> MAC (but not for Linux), as well for 32 Bit as for 64 Bit systems. 
> Steinberg provides a C SDK that allows for easily creating such VSTs.
> Some years ago someone did a (freely available) Delphi SDK for creating 
> 32 Bit VSTs for Windows. I already tried same with "Turbo Delphi" and 
> was able to get something working.
> ==============================
> Question:
> What about doing such VST plugins with Lazarus ?
> In fact I would like to do some 64 Bit VSTs for Windows.
> Are there any obvious problems to do that (e.g. porting the SDK to 
> Lazarus, porting the API interface unit to 64 Bit and/or doing a DLL 
> that provides it's stand alone GUI.)
> Any comments ?

I've played with special-purpose MIDI filters in a DLL/so, but the only 
GUI element was that menu entries were copied from a form in the DLL to 
the main form. There's been a couple of threads in this list about VST, 
I presume that this is the SDK you mentioned above.

Below from an older thread:

 > Christian Budde set up DelphiAsioVST
 > (http://sourceforge.net/projects/delphiasiovst/) to help with VST
 > development in Object Pascal. It has alot of classes which you can use,
 > or you can just use Frederick Vanmol's translation of the SDK, and
 > implement everything yourself.
 > Over the last couple of years there have been some problems, but mostly
 > you can use FPC now. However, at the moment these will only be able to
 > use the host's default UI. I am mid flow sorting out the code so that a
 > plugin can supply it's own UI, then full XPlatform VST development will
 > be possible using Laz/FPC :-)


- VST is in Lazarus-CCR, but an older v4 version. VST porting is hindered by
   not accepting changes (like a sane IFDEF system) upstream, which makes
   every port an one off change.

Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

More information about the Lazarus mailing list