Using 1 Control to switch banks of controls

Here’s a technique that I’ve found while trying to find the best way to economize a patch. It requires a physical loopback. It allows you to use 1 control to switch banks. When you switch the value on control 1, controls 2-4 will control a set of parameters but when the control 1 value changes, controls 2-4 will control different sets of mapped parameters. You can have as many banks as you want(can) and as many controls in a bank as you like. I like to convert to notes on 15-16 because it multiplies the messages you have available.

It consist of using CC#1 mapped to 2 transform pipes. The first transform pipe sets what knob you want to use for individual parameters in a bank and acts a filter. The second will transform into x output that you map to a desired pipeline.

{Transform pipe #1
-Mode = Replace
-What/into = Control Change.
-Set CC number to = Argument 1
-Set Value to = Value
-Argument 1 is mapped to CC#1 (main port)
-Work with Channel = 1 (or the channel you’ll be using mainly)
-Set Channel to = 15 (for loopbacks)
-Inside range
-Work with CC# Low/High = CC#2

  • Inside range}

{Transform pipe #2
-Mode = Replace
-What/into = Control Change- Note on Note off (can use CC’s)
-Set Note/CC number to = Argument 1
-Set Value to = Value
-Argument 1 is mapped to CC#1 (main port)
-Work with Channel = 15 (loopback)
-Set Channel to = 15 (loopback)
-Keep Channel= Check mark
-Inside range
-Work with CC# number Low/High = mapped to CC#1
-Inside range}

(I prefer to use notes, so after transform pipe 2 I use a transpose pipe to adjust the note output to exactly what I want it to be. This way requires 2 transforms-transpose-output . If using CCs you could probably keep all the pipes in the same row. I surmise that being a bit messy trying to keep track of what CC#S shouldn’t pass, theoretically it should work fine on 1 row though. Another reason I like notes is because it offers less opportunity for conflict.)

After you set up your banks ( probably better to do so right after you set your 2 transforms), map that output to whatever parameter you like on the loopback port.

When you are on CC# 1 value 1 you should only be able to adjust parameters that value 1

1 Like

Neat!
Would you upload that bit as a module so others can Append from File...?

What I have right now is part of a very big patch with complex mappings so Ill need to make it from scratch so somebody can actually use it, but Ill upload soon.

What I’ve started doing (just doing now, in fact, with FlexBPM!) is

  • Save my full patch,
  • then delete everything around the module I want,
  • save that then
  • reload my full patch

Find it quicker cos just involves arrowing down the in-pipes and hitting delete.
If I’ve got several modules I want to do that with, I do a part-way SaveAs before separating the modules

Other advantage is, I usually find some chaff I don’t need and have forgotten about in the process!

1 Like

Or put it on Patchstorage, so it can be dragged and dropped in the right place. :wink:

Excellent. Never done that.
I’ll put up the FluidTransitions components later today…
… if I’m allowed >1 patch as a new registrant.

1 Like

AFAIK it’s not limited, but let us know if there’s any issues. :slight_smile: