midi takeover

4lefts's icon

does anyone know an easy way to patch what i'm calling "midi takeover" - i.e where if you have one controller, say a dial that controls several parameters and you can switch between them, the physical position of the dial doesn't match the position of the parameter it is mapped to. how can i program the value staying as it is until the position of the physical dial is turned through the value?

hope that makes sense, i didn't explain it too well.

thanks.

seejayjames's icon

Sounds like you want to avoid parameter jumps when switching between what the dial is controlling (several parameters). A good and useful question.

You do need a way to indicate that you're going into that "takeover" mode, so that the control isn't mapped to the parameter until it crosses over it. Also a way to say you're going out of takeover mode.

Here's an example patch. I'm sure there's a simpler way to achieve this, but this could give you some ideas. The comparator and the gates do the logic.

Max Patch
Copy patch and select New From Clipboard in Max.

4lefts's icon

thanks. i like how you not only gave me a solution, but explained the problem better than i did as well. kudos.

seejayjames's icon

yeah, ideally we'd have as many knobs and sliders as we needed, but that's not always possible or convenient :) ....this way a single controller can be used for as many banks of parameters as you want, which is very cool---like one bank for audio levels, one for effects, one for recorded video, one for live camera, etc......

Have fun!

billy gomberg's icon

hey I spent a little time and tweaked the above to work more comfortably w/my setups. I use a Novation Nocturn (small, cheap!) so I've been harumphing over soft takeover.

this still relies on gates (kinda necessary) but i'm looking for a range of input values (+/- 3 integers from the orig value), as, especially in more complex patches, Max has a tough time picking out the *exact* number, so I'm giving it some headroom.

I use this as an abstraction.

Max Patch
Copy patch and select New From Clipboard in Max.

jko's icon

Another idea, which does not exactly what was asked for (wait until a value has been reached) but rather interpolates between incoming values from differen control sources might be usefull as well. Well, maybe :-)

Max Patch
Copy patch and select New From Clipboard in Max.