Hi all! So I opened an issue to see if there were plans to migrate Strum’s modules and it sounds like would be several weeks away before Strum could get to it if it happens at all.
If anyone is interested in getting the migration started I think Strum would be happy to let them at it
I am not a coder/developer/programmer/etc otherwise I would happily offer to assist. I will gladly cheer on anyone who does decide to run with it
Update the modules to work with VCV Rack v1.+ one at a time. I haven’t got the spare time to do them all as one big bang release.
Add each completed module to a “rolling release” on GitHub.
When I’ve finished them all see what the logistics are for getting them added to the VCV Library. As I see it, these are Strum’s modules, not mine. I’m just updating them. I’d rather the “ownership” stays with Strum, not me. So if my changes can just be merged with the original repo and then that is added to the Library that would be good for everyone, I think?
Please note that ONLY the Clock Divider is in the release at the moment. I’ll be working on the others over the coming months / weekends / boring commutes.
Also, these are not official Strum / mental releases. If there are any problems with the new versions, blame me.
All three of those modules are amazing, the mux in particular is a really interesting approach. I didn’t play with this plugin set much in 0.6 so it’s great to be able to explore them now. Thank you for updating them.
Hi. Sorry for the slowdown. Picking up again. I’m working on updating the A/B Switches modules at the moment, but would like some feedback.
The module lets you pick which one of two output ports “repeats” the voltage sent to the main input port by using another input to “switch” between them. Positive voltages to the switch port cause the main input to go to output A, whereas negative voltages mean output B. (The module has four or these circuits.)
The module also has an LED button which, from what I can make out, is supposed to let you pick which output is selected regardless of the switch input. I think that’s the aim, but the documentation and code are not clear, as when you press the LED button odd things happen. Sometimes the LED button has priority over the select port, sometimes it doesn’t.
I’m going to keep the original behaviour in the Rack v1 compatible version by default so it doesn’t break any existing patches, but I think I should add some kind of switch which causes the “fixed” versions of the buttons to kick in.
Worth doing? If so, should the control be a switch on the front panel, e.g. “original behaviour” <-- --> “new behaviour”, or a right click menu option? Or not bother?
I think a button next to the LED might be best but perhaps name it something to denote predictable/non-predictable or certain/uncertain. Then again, it seems like such an obscure and subtle thing to have an option for and I’m not sure why anyone would want that behaviour unless it is something like a Bernoulli gate when the LED button is on (it sounds from your description that it is just buggy rather than usefully random).
Edit:
Having said that, I have just loaded up 0.6.2c and had a play around with it. It seems to work as I would expect but I think it behaves a bit differently to how you describe. The button (which should be illuminated I think when enabled but isn’t for me) locks the output to B, I can’t for the life of me make it lock to A, so it seems it is not a chooser for locking the output to A or B but a lock just for output B. For me it behaves reliably in this fashion and I don’t get any unpredictability so maybe disregard everything I said in the first paragraph!
I think it would be cool if you could actually choose which output locks, maybe a cycle between off, A, and B. Different coloured LEDs for the two locked states would be good and LED off for when the button is not engaged.
Also, just had a play with the clock module and the run seems to mute the output rather than actually start/stop the clock (maybe all clocks work this way?) because you can catch it in the middle of the gate if you hit run at the right time. It seems to make it sound like the clock is slowing down slightly when it starts if it is plugged in to a hihat or something.
If you implement the 3-state switch as @TroubledMind suggests, then it looks like backward compatibility could be preserved if you change the button_on array of booleans to an integer array keeping track of the states:
0: CV selects input
1: always send input to B
2: always send input to A
with (2) being the option that is not possible in the 0.6 version.
Thanks for taking on this project! This plugin was one of my favorites and I’m looking forward to being able to use some of the modules again.
EDIT: Anyone got a preference for which module to convert next? I’m going through them in (mostly) alphabetical order so far, but if someone’s pining for a particular module I’ll bump it up the list. Thanks.
@chrtlnghmstr, thanks for starting on this, I was about to get on to it.
We can work together on it and then merge the changes to the existing project on github if you want
I’ve got a few other modules I was going to make another set with as well.
Thanks everyone for the interest in the modules, I’m surprised people are still finding them useful.
Most of them have been made redundant by newer modules or have been cloned and reskinned in other sets.
My computers are old and struggle to do much at all with rack since the .60 release and this has been part of why I haven’t worked on the modules for ages. Anyway I’m back in coding mode now so hopefully I can work with @chrtlnghmstr to get them done in the next couple of weeks.
I know the documentation is a pretty thin but if anyone has questions about how the modules are supposed to work send me a message on here or on the dIscord and i’ll explain it to you.
the 3 state switch idea for the A/B switches sounds like a good idea, that way you can select either output and disable the select input when you are using manual control.
The module browser draws the Widget but it does not instantiate the Module. I had a lot of module browser crashes when migrating my code, and putting a check in all the draw methods eg: if(module) {...} fixed the crash.