Switch Midi Channels via Variations & Patch Persist

My method for this without scriptlets or even without variations is:

Let’s say you want to switch two sounds A and B within a song or rackspace, by pressing a button on your controller, or by variations, with holding notes while switching and avoiding hanging notes:

  • Use two MIDI in ports, here called A and B, and route them to the sounds A and B, either by different MIDI output channels to one VST or different connections to two different VST. Don’t mind the number of MIDI in blocks, I have usually dozends, one for each sound split or layer.

  • Generate a panel with two button widgets A and B. Learn them to the same button on your controller, but with inverted polarity. Pressing the button on the controller now should activate one button and deactivate the other, and vice versa. Depending on your controller, toggle mode could be required.

  • Then map widget A to the parameter “BlockNoteOn” of MIDI in A, same for B. Inverting the values of the buttons helps, otherwise an activated button menas an deactivated sound. Be sure not to block note off messages as this is prone for hanging notes.

Done. Now you can switch sounds A and B with a button on your controller, with persistance within one song, without varations or scriptlets.
Of course, now you can create variations with different states of the buttons, sound A only, sound B only, or both, and switch variations from your controller.
Muting of the sound VST is mostly unnecessary IMHO, as most instrument VST consume very low CPU resources as long as they don’t have to generate sounds, and unless you have dozends in parallel and run out of CPU otherwise. Then the beauty of the scriptlets of David-san come into play.

See also attached example, without sound plugins, and without controller mappings.

SoundSwitchDemo.gig (44.4 KB)

Best,
Angel

3 Likes