Plugins that are built for Rack v2

If you are downloading plugins other than building them, it might be you have downloaded some plugins that were not built against the latest beta 1.

I’m on Mac and have Squinky built and it’s not crashing here.

1 Like

Make sure you have the right release version for the binary you downloaded and installed. The latest build is for 588342d7, so not Beta-1. The behaviour you describe is what happens when you have the wrong version. If you are running Beta 1 make sure you build the latest codebase against the Beta1 SDK

Does anybody have the Audible Instruments built for linux ? Thanks

I can build surge-rack for beta-1 but Rack won’t load it. Had a similar issue with Bogaudio but other plugins I’ve compiled load just fine:

[0.840 info src/plugin.cpp:117 loadPlugin] Loading plugin from /Users/lab/Documents/Rack2/plugins/SurgeRack
[0.844 warn src/plugin.cpp:170 loadPlugin] Could not load plugin /Users/lab/Documents/Rack2/plugins/SurgeRack: Failed to load library /Users/lab/Documents/Rack2/plugins/SurgeRack/plugin.dylib: dlopen(/Users/lab/Documents/Rack2/plugins/SurgeRack/plugin.dylib, 6): Symbol not found: __ZN10SurgeStyle13surgeRoosterXE
  Referenced from: /Users/lab/Documents/Rack2/plugins/SurgeRack/plugin.dylib
  Expected in: flat namespace
 in /Users/lab/Documents/Rack2/plugins/SurgeRack/plugin.dylib

After re-writing about 2k lines of code, Substation is finally compatible with v2 and the Rack VST plugin. :sweat_smile: I’ll submit it to the library as soon as I finish testing.


Excellent!! Thank you!!

Ouch! very happy to hear its now working in v2 though

You had to change 2000 lines? Or that’s the total size?

Had to change ~2k lines for v2 compatibility, out of just under 10k total for the plugin


Ok. That’s a lot!


Big oof. But I’m glad to hear it’ll make it over, should be really fun to be able to load it in the VST!

I’m curious, were you doing something particular weird to need to do that? At least for my modules (which are considerably less complicated, mind you) it was almost as simple as just bumping the version

Since you’re curious, here’s a breakdown of the changes:

  • Some Rack headers and namespaces changed, which I adjusted for
  • I removed some of the features that are now standard in Rack, like port tooltips
  • I added compatibility for the new “room brightness” feature to the lights
  • I changed part of my memory model to make it more efficient in DAWs
  • In a DAW, the NVG context is destroyed and recreated when closing and opening the plugin, so I had to change my rendering system to account for that. Most of the changes were here.
  • I also removed the dynamic texture mipmapping and preloading that the plugin used to do, since it didn’t play well with DAWs.
  • I’m using my own component layout system instead of Rack’s, and had to make a few changes to match the new way params/paramquantities are handled
  • The layout system also depended on having access to an NVG context in its constructor to determine texture sizes, which is not always the case in a DAW. I ended up hardcoding the sizes.
  • The flow for programmatically adding new modules changed, so I adjusted the code for the “add expander module” context item

Just a quick update here regarding my PurrSoftware Meander module. The singleton module is now in the V2 library!

The migration process was easy once I got my bearings. The existing V1 code built without errors and serious warnings. I did change a few dozen lines of code to make the migration document suggested loadFont() changes, including checking the font-> for non-null in all uses, just in case a font could not be loaded for some reason so it will not crash. This was probably important for VST use since I have so much dynamic music font panel rendering going on.

After a few adventures, I now have Meander running inside the V2 Pro VST inside of Ableton Live Suite 10 under Windows 11. Everything seems to work as expected, including the singleton enforcement logic in the VST, at least for a single VST track in Ableton.

I’m very happy with all of this and a bit surprised at the ease. A week ago migrating Meander to V2 was not even on my radar, although it was certainly on my mind.

I hope everyone enjoys the new incarnation of Meander and I am looking forward to seeing what music Meander helps enable. I will also be doing more of my music using Meander and the other wonderful plugins and modules in V2 and will post to my SoundCloud and link in my development topic.

Thank you to everyone who advised and encouraged me in this endeavor.


Thanks again for the hard work and genoristy


I don’t think the library build system enforces a default branch. In fact I know it doesn’t. I changed my default branch from “master” to “main” back when most people did. It’s easy to change the default branch for your module in github. Just do it.

His ABC plugins are not in the library. They are basic plugins associated with the book on VCV Rack programming he wrote - they can be downloaded from his github.

But you’re probably right - just do it.

Add: " NOTE: The plugins are ready for RACK v2!"

1 Like

Correct. The build system only needs a SHA. It doesn’t care about branches.

Hey they just showed up in the library today! Thanks for all the extra work you did to get these ready for V2!

1 Like

Can somebody please help me with updating the Stoermelder plugins to V2 as described earlier by pgatt in this post? I found the plugin.json file and changed the version to 2.0.0, but I’m not sure how to “make clean” and “make dist”. Thanks Tim