PURPOSE: I required a virtual drum machine (xox drums) along with the ability of mixing 8 outputs of a physical drum machine (Behringer RD-78 in my scenario). Another 4 inputs sub mixer was added. The XOX runs on outputs 1 and 2 . The external drum mixer and 4 channel submixer run on outputs 3 and 4.
The main effort was in creating the KNOB SETS and keeping the CPU use low enough that the entire patch would run at 48k with 32 Blocks for low latency whilst not exceeding the CPU.
About 100 parameters are mapped using 8 pages of knob sets. All knobs were given custom names. In a few cases I had to put knob mappings on other KNOB SET pages as I ran out of knobs on a given page. I tried to do this logically.
It will take a bit of time to learn where everything is but you’ll adapt quickly if you spend time with the patch. There is documentation in the text boxes of the VCVRACK file. If you download the photo you can read the details from that image by zooming in.
You may not need a drum engine and 2 auxiliary mixers. If all you need is the XOX drums with the mappings you delete the rest of the bits from VCV file. Keep the knob mappings if they are useful to you.
Patch Includes Drums Built With XOX Modules (outputs 1&2)
Mixer and Drum Controls With Knob Mappings for Levels, Selected Panning, Reverb Sends and Reverb Parameters (outputs 3&4)
External Drum 8 Channel Mixer With Reverb. Labelled for the RD-78 Drum Machine. Knob Mappings for Levels, Selected Panning, Reverb Sends and Reverb Parameters Are Defined
4 Channel Sub-mixer labeled for 4 Oscillator Inputs, Tempo Delay
Knob Mappings for Levels, Selected Panning, Reverb Sends and Delay Parameters Are Defined (outputs 3&4)
Midi Click Receive and External Clock Override
Clock Divider Utility with midi reset of overide on Gate 2 input.
I tried this out over the weekend, and was pretty fun. Patched a MIDI sequencer in, and got instant results. I didn’t use the aux inputs, but as you said, the rest was logically arranged to tweak the individual drum timbres and reverb fx. Thanks for posting this, definitely a keeper in my patch library.
I am doing a cleaned up version with just the XOX along with a smooth tempo locked Delay and also a KICK out gate for external side chain. I’ll eliminate the other mixers and add the missing drums so it is a complete XOX voice. Also I’ll label the jacks, such a great feature! The XOX drums do sound great.
One area that is a bit of pain is often when mapping large knob sets, I just want to move full knob sets around so that maybe knob set 4 is now knob set 1. Logical arrangements can occur to you part way through a process. I like to label the names so it is a bit of time suck to start from scratch as you build up your patch.
I looked at the underlying code and it seems that a little utility could be developed to allow the hacking of just those parameters from a VCV file. (Meaning moving knob sets into different positions) I know it is low priority but a helpful utility like this would be great. Especially true if we have up to 4 button sets to manage.
To change the VCV patch, you would need to unpack the .vcv into .json, then re-arrange the Mappings items and re-pack it into a .vcv. Or you could re-arrange them in the patch .yml file.
Being able to re-order knob sets in the firmware or in VCV would be nice, I haven’t thought about an interface for that. Maybe a context menu option like “Swap Position with Knob Set > [1,2,3,4…]”? Something similar in firmware…
I did actually manage to open the JSON file and move things around (the code reads almost like English) but I couldn’t figure out how to compress it again and make it back into a VCV file. I was juggling some things so I couldn’t get back to it.
THe solution could just be a little web applet. I have done some extensive control panels with TouchOSC and some smart dude made a little utility app to allow channel assignments and colours o to change globally. You just dragged the file onto the webapp (could also be downloaded) and it could do all kinds of things that were time savers. I had hundreds of controls defined and it would have had to have been done by hand. Just a thought. Having it built into VCV rack plugin and firmware is the best option likely but if it works it works.