21khz plugins v1 migration

hello,

it looks like the nice 21khz plugins from https://github.com/21kHz/21kHz-rack-plugins.git are no longer actively maintained: the last commit is from august 2018, there is no development towards vcvrack v1 visible and an issue asking for the v1 status is still unanswered (like another open issue too). maybe the 21khz author is reading this and might respond here?

in order to move the 21khz plugins forward to vcvrack v1 i decided to give it a try to migrate them myself following the migration guide from https://vcvrack.com/manual/Migrate1.html … i got to point 1.8 where i ended up with the following compile error:

In file included from src/TachyonEntangler.cpp:1:0:
src/21kHz.hpp: At global scope:
src/21kHz.hpp:53:44: error: expected class-name before '{' token
 struct kHzButton : SVGSwitch, ToggleSwitch {
                                            ^

as i’m not really a c++ programmer i thought maybe some of the other plugin developers or c++ coders can easily see the problem and might help to get this forward. i have put my current state of the code at:
https://github.com/hexdump0815/21kHz-rack-plugins
and described the problem at:
https://github.com/hexdump0815/21kHz-rack-plugins/issues/1
if anyone has an idea or might help me with the 21khz migration, i would be very happy about pull requests or responses to the mentioned github issue or here.

a lot of thanks and best wishes - hexdump

5 Likes

2 things:

  1. I think it’s SvgSwitch now.
  2. khzButton should probably be ‘class kHzButton’.

The struct is fine; the other problem is ToggleSwitch is gone. You can just remove “,ToggleSwitch” and it will be OK. (If it was ,MomentarySwitch you also need to add momentary=true in the ctor)

thanks - this way it compiles at least now - just need some time to test if it works still …

4 Likes

Good luck with this guys ! I would love to have pitch tools back :slight_smile:

2 Likes

Yeah, the palm loop is one of my favourites.

2 Likes

Multiple inheritance is no longer allowed (or necessary) for descendents of Widget. You may only have one Widget-derived superclass. Use SvgSwitch.

the 21khz plugins from the v1 branch of my above fork compiles and run well in compatibility mode now. what next? shall i submit them to the library now?

4 Likes

Just to mention I appreciate your attempt to contribute even if you’re not a developer :+1:

BTW I think your question came in a particular moment (v1 release, holidays etc) so @Vortico may have missed it, I hope he doesn’t mind if I mention him now to make sure of this.

don’t worry - no problem … there is by the way someone else who did a v1 port of the 21khz plugins as well and he got it even further (polyphony etc.) … i guess his port will get the official one as soon as he is ready (fyi @stevo.sebik)

best wishes - hexdump

2 Likes

Where does one find the binaries for Palm Loop? Doesn’t seem like they have made it to the library and I don’t see the port on Github.

If you have facebook :

If not and you look for a windows build :

4 Likes

The indominable Netboy3 has posted builds on the official repo:

Indeed he did, but (and I already teased him with this) his D ∞ is monophonic, and Stefansebik made his D ∞ Polyphonic. so there is a difference :slightly_smiling_face: ( I personally like the polyphonic version, It’s so much fun with chords.)