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.
> 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