Change visibility of M4L device parameter on Push 2

4eyez's icon

Hello Fellow Cyclists

I'm trying to replicate the way Push 2 displays native Live instrument parameters on Push 2 with a M4L device. Specifically, the way certain parameters are visible/invisible depending on the state of other parameters.

For example, let's say I load the Operator synth on a track in Live and I go deeper into the parameters over to the "LFO" bank. The first parameter is LFO ON which can be turned on/off with the encoder. If the it's set to "off" other parameters in that bank such as "LFO Type", "LFO Range", etc are greyed out. Then if I turn "on" the "LFO On" parameter with the encoder those parameter that were previously grey out now turn on and change to the colour of the track. Even better, the "OSCILLATOR" parameter suddenly appears on the 7th encoder where it was previously a completely empty slot.

Any ideas on how to achieve this functionality with the parameters on a M4L device?

The closest I got was having a live.dial object that already as an "Automapping Index" value set to a non-zero number, like 18 or whatever, then sending the live.dial a "_parameter_mapping_index 0" message. Initially the parameter is still visible on the Push, but if I select a different bank and then go back to the original bank the parameter slot is now empty. And vice versa when I send the same message back with the previous index value, but i still have to leave the bank and go back in to see it again.

So, pretty good, pretty close, but ideally it would happen in realtime while viewing that bank like with the native Live instruments.

I tried using the "active" message but only seems to change the way it's displayed on Live's screen and no effect on the Push 2 display. Any other messages I'm missing?

Thanks!!

S4racen's icon

Hi there, the way that the parameters are shown is baked into the control surface script... Having it dynamically update is specific to the Push and cant be done on the fly in maxforlive, wish it could!

Cheers
D

kleine's icon

Indeed!

best,
c

4eyez's icon

Thanks for getting back to me so quick you two, big fan of both of your work!

However, I found one little exception to what you're saying: I'm able to dynamically change the visibility of a parameter in real time with a M4L device. I've attached a demo patch for you to check out.

I'm running Live 9.6.2b1 and Max 7.2.2 and Push 2.

Specifically, when you open the device on Push2 and go into the banks you'll see a bunch of parameters on Banks 1 and 2 and then in Bank 3 the first parameter is called "On/Off" and has "Visible" and "Invisible" as its two values, plus two other random parameters in the 18th and 19th slots. When you change it to "Invisible" both 18 and 19 are still visible, but if you go back into Bank1 or Bank2 you'll see every even numbered parameter is now invisible and then if you go back into Bank3 both 18 and 19 have updated to being invisible. And then everything resets if you change the On/Off back to "Visible" and cycle through the banks.

Pretty neat, but the next level functionality would be to see the parameters turn in/visible while you're in the bank with the on/off parameter. Any tricks for telling the Push2 to refresh or recheck the automapping index?

Darren, I've noticed with PrEditor (mad love to Sigabort for that one!) that the sequence/name of parameters will update in realtime while the M4L device is still selected in Live after you've pushed the "To Live" button.

Visibility-Tester.amxd
amxd
S4racen's icon

Yes that's correct in PrEditors case, because it's being written to the control surface script...

If you change anything that Push reads, e.g.. what Ableton sees as Automatable parameters via MaxforLive you're heading into a world of unknowing pain and instability!

Cheers
D

4eyez's icon

Ha, fair enough, I considered myself forewarned! Thanks

S4racen's icon

In this case though, you wouldn't be changing the actual parameters themselves, names remain constant etc.

Probably some further testing needed...

Cheers
D