Plugins that are built for Rack v2

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
4 Likes

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.

19 Likes

Thanks again for the hard work and genoristy

2 Likes

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

Have you downloaded the SDK?

Use this fork to build for v2 until Stoermelder gets around to accepting pull requests.

1 Like

Thanks I’m downloading it now. I’ve never developed in VCV or used C++ so this is all new to me. :slight_smile:

Thank you! Will see if I can figure it out.:pray:

I’m a bit behind - lots of work on the surge xt beta - but do I need to do something now rack 2 is out? My plugs all compile but is there a rack 2 library step now?

Thanks!

4 Likes

Please submit to the appropriate Library issue as usual. Thanks.

1 Like

Very much looking forward to Bacon in Rack 2. And hopefully the 303 module? :wink:

No, don’t do that. The author has indicated that for is only for debugging, not general distribution.

Oh. Sorry :confused:

It was the only way to get working midi mapping.

oh, it’s fine. let me modify that - if you want to test the Stoermelder plugins (which are pretty bleeding edge atm) then probably the best source it his repo, and I think his incorporated Steve’s fixes.

1 Like

It’s not going to be trivial, but if you are lucky and motivated you will be able to do it in several hour. Look at the “building” instructions in the VCV manual, they are very good.

That said, most people who build already know how to use git, bash, make, etc… so prepare for some learning.

Also, the v2 test version of those plugins is on a git branch, so after you do git clone you will need to do git checkout v2-dev (assuming the branch is called v2-dev).