VST3 in Delphi
- KVRAF
- 2476 posts since 25 Sep, 2014 from Specific Northwest
I should add that I was not expecting miracles in the speed department, but the final results were indeed disappointing. If the final version was less than 25% slower, that might have been an acceptable trade off. In the end, optimized Pascal was still slower than unoptimized C++.
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better? 
- KVRist
- 418 posts since 17 Feb, 2013 from Sayan Mountains, Siberia
I also noticed that plugins made on FPC or Delphi, run slower than similar ones made on C++.syntonica wrote: Sun Mar 15, 2020 4:42 pm I tried Free Pascal with VST 2, but it just wasn't fast enough in the end. No matter how much optimization I tried, it was always about 50% slower, on average, compared to the C++ code.
And even the use of assembly inserts does not particularly increase speed. For this reason decided to stop making plugins on Pascal.
¤ stone-voices.ru ¤
- KVRist
- 418 posts since 17 Feb, 2013 from Sayan Mountains, Siberia
Although, once made a plugin in this way - the DSP was made on C++, and the GUI on Delphi with its powerful and convenient VCL, the equivalent of which I did not find in C++.syntonica wrote: Sun Mar 15, 2020 4:51 pm I should add that I was not expecting miracles in the speed department, but the final results were indeed disappointing. If the final version was less than 25% slower, that might have been an acceptable trade off. In the end, optimized Pascal was still slower than unoptimized C++.
¤ stone-voices.ru ¤
-
- KVRist
- Topic Starter
- 47 posts since 21 Jan, 2019
Some remarks: 'My' framework is not stable but does run with Reaper, Fruity Loops, Herman Seib's Host (!), Cantabile(!) and others. It does not run under Cubase At All (??) but I and Kenneth are investigating that. I think I've tackled the most difficult things, like the COM interface and the fact that Delphi does NOT support multiple inheritance (as used in iPlug2 as well). Yet, 'the rest of work' just isn't appealing, lots of frustration and a very small target audience. Moreover, we are doing this for a hobby, and a large fact is not at all fun, just by the way Steinberg is forcing us into something I don't believe in at all. (See the discussion on MIDI legacy CC a while ago or the VST2.4 withdrawal ). I am still waiting for another pluginformat which is really open....and still develop for 2.4 for my fun!I'm thought about implementing a stable VST framework for Delphi, and this thought came - to port from C++ the IPlug2 framework. However, it is very huge work, which is not real without an infusion of finance, as according to approximate subjections can take half a year or even a year.![]()
- KVRist
- 418 posts since 17 Feb, 2013 from Sayan Mountains, Siberia
Yes, this is not yet a solved Delphi problem.
However, the problem is solved in particular by the use of interfaces and their delegation.
However, my hobby of using Delphi to create VST plugins ended a few years ago. I am fed up with execution time errors during plugin operation, as well as difficult-to-find bugs and bugs located in wilds of VCL, and actually slow-running DSP code. Among Russian programmers, this is called "гемор" what is hemorrhoids.Eduur wrote: Mon Mar 16, 2020 10:58 am Moreover, we are doing this for a hobby, and a large fact is not at all fun, just by the way Steinberg is forcing us into something I don't believe in at all. (See the discussion on MIDI legacy CC a while ago or the VST2.4 withdrawal ). I am still waiting for another pluginformat which is really open....and still develop for 2.4 for my fun!
Although the idea has long been brewing that code written in Pascal can be hidden from the user in C++ and already compiled. As far as I know, translating code from Pascal to C++ is quite real, and the inverse problem is sometimes very difficult (I had to do a lot of porting code from C++ to Pascal once). Therefore, this approach is quite realistic for creating plugins in Pascal.
Nevertheless, Pascal is my favorite programming language, but it was much less fortunate than C++...
¤ stone-voices.ru ¤
- KVRer
- 1 posts since 22 Jul, 2020
Just stumbled over this, trying to use it now for my Wren thingie, as Vren .. sofar it successfuly generated noise, in Reaper, as in 0.1 * ( 1.0 - 2.0 * random), it shows my screen too .. but that doesn't do a thing yet.
I didnt use plugins much before, let alone make them .. but since I got me a Reaper license a couple of weeks ago I'm somewhat interested in VST.
Anyways .. another pascal user here, and some work to do .. I may have questions later on.
I didnt use plugins much before, let alone make them .. but since I got me a Reaper license a couple of weeks ago I'm somewhat interested in VST.
Anyways .. another pascal user here, and some work to do .. I may have questions later on.
-
- KVRer
- 15 posts since 3 Mar, 2005
Hi.
I just want to say that I have made a vst3 plugin compiled for 64 and 32 bit Windows using the vst3 wrapper.
It works. The plugin is not processing any sound but use midi and a lot of graphics.
I also have some more ideas that I will build using this framework.
No problem compiling. Using Delphi CE 10.3.
My plugin will be released here when its finished.
Thank you Eduur and all other that have done work the at made it possible to do the delphi vst wrapper.
Regards
I just want to say that I have made a vst3 plugin compiled for 64 and 32 bit Windows using the vst3 wrapper.
It works. The plugin is not processing any sound but use midi and a lot of graphics.
I also have some more ideas that I will build using this framework.
No problem compiling. Using Delphi CE 10.3.
My plugin will be released here when its finished.
Thank you Eduur and all other that have done work the at made it possible to do the delphi vst wrapper.
Regards
-
- KVRian
- 909 posts since 19 Aug, 2009
Seemed to be working fine, but I decided to add ReportMemoryLeaksOnShutdown := True to check for any resource leaks. Unfortunately, it shows quite a few memory leaks.Eduur wrote: Tue Feb 05, 2019 5:39 pm So, see subject.
I was wondering if I am the last (wo)man on earth still doing (hobby) VST development in Delphi... I guess I am, because I was not able to find anything related to VST3 / Pascal on the net. So, a few weeks ago I decided to create a VST3 wrapper for my VST2 plugins. You can see the result on my github page: https://github.com/RuudErmers/RMSVST3
Only tested in Reaper and only the basics.
It is a combined Processor/Controller and implements the following:
- Audio processing (synth or effect), two channel only.
- Midi CC processing
- Parameter processing
- Presets
- Tempo / Playstate.
An example Audio Gain which expands the code to any plugin (just a few lines of code) is available.
Anyone interested in something like this? If so, I would like to expand and improve the quality of the code. But, .. maybe ... I am the only one![]()
I'm using Delphi 12.1 (CE).
I started working with VST3 this week, so I'm not (yet) sure how to fix this.
You do not have the required permissions to view the files attached to this post.
-
- KVRist
- Topic Starter
- 47 posts since 21 Jan, 2019
Hi, that's bummer, but I am afraid I wasn't paying too much attention to destruction code at that time. My fault, but is a very long time ago! If I had to code it again, I would use the flat interface Steinberg finally releaded many moons later...
-
- KVRian
- 909 posts since 19 Aug, 2009
You mean the VST3 C API?Eduur wrote: Sun Aug 10, 2025 1:55 pm Hi, that's bummer, but I am afraid I wasn't paying too much attention to destruction code at that time. My fault, but is a very long time ago! If I had to code it again, I would use the flat interface Steinberg finally releaded many moons later...
I’ll look into it, but I think I’ll go for the CLAP plugin format instead (which was surprisingly easy to get up and running) and possibly use the clap-vst3 wrapper.
-
- KVRian
- 872 posts since 30 May, 2019
... like CLAP?Eduur wrote: Thu Mar 12, 2020 3:10 pm (Or just wait for some genius to come up with a simple plugin open source platform, supported by all major DAWs...)
Currently supported by many, if not yet all major DAWs.
-
- KVRist
- Topic Starter
- 47 posts since 21 Jan, 2019
Yeah, 'Clap' ! (But my post was from 2020, so we did finally get our genius) (I wrote a wrapper for CLAP/Delphi as well, but it is not complete, as a few people noticed here...., and ditched VST3 support...).
-
- KVRian
- 872 posts since 30 May, 2019
After reading through this old topic. That is great to hear.Eduur wrote: Mon Aug 11, 2025 8:43 am Yeah, 'Clap' ! (But my post was from 2020, so we did finally get our genius) (I wrote a wrapper for CLAP/Delphi as well, but it is not complete, as a few people noticed here...., and ditched VST3 support...).
I agree about the CLAP format and I use it for all my purchased plugins, as and when CLAP support becomes available for them.
It's great there is now a reliable open source alternative to Steinberg.

