Dynamic Strings on Push Display

Hekuli's icon

Hi,

Wondering if any of you smart people know how I might get dynamic string values displayed on my Push 3's screen as parameter names?

CONTEXT:
I've built quite a robust A/V performance system using Ableton/Push and Touchdesigner for visuals. On the Touchdesigner side, I dynamically load different visual generators based on the currently playing Live clip. Each visual has its own unique set of parameters. I control them via Macro dials on a TDA Rack device (Touchdesigner Ableton plugin which just sends dial values back & forth over OSC). I then perform live manipulation of the parameters via the knobs on Push. For system performance reasons, I reuse the same device Macro dials for each visual. This works great, but the names displayed on the Macros/Push are static. I want to be see what I am controlling from the Push display and have these names update when I switch between visuals.

I've already read through this post which almost got me there.
https://cycling74.com/forums/renaming-a-live-dial

I setup the send/receive of names over OSC, and updated some dial short-names using the hidden approach mentioned. When I change the names on my dials and they do display properly on the M4L device, BUT the new names don't update on the Push or any Macros dials in Live mapped to those dials.

I'm very new to Max/M4L.
Is there any solution to this problem?

Thanks in advance.

Hekuli's icon

Hello?...
Anyone?

tyler mazaika's icon

As mentioned multiple times in the thread you referenced, dynamic updates of live.dial / Parameter info using any of the "hidden" attribute names (e.g. _parameter_shortname) aren't actually supported.

"When the device is instantiated, Live collects this information exactly once."

What you're trying to do won't work.

Hekuli's icon

I see.
Thanks for confirming.

Stenny's icon

I beat my head at this for a looong time and yeah, it's futile I believe to attempt anything dynamic in Push 3 Max for Live controls because a lot of the strings and control details are cached at the very start, and I eventually bought into the spirit of designing funky Push 3 interfaces that utilize controls with finite static options.

For example, to make a track selector, I standardized on requiring the track name to have a specific prefix and an optional hyphenated suffix, and used an enumerated menu for each letter and number in the alphabet, and under the hood it grabbed the first track it could with the required prefix and first suffix character. So if the menu said "1" it grabbed SuperFX-1, or for "A" it would grab an existing track named "SuperFX-apples". It works, because a menu with each letter is finite and static.

If your use case is display, you could leverage the same finite list and create a set of menu or text "controls" which map to letters in a word, then automatically set them under the hood. Or, you could use the "edit" functionality on live.bank to swap out letter-named widgets to spell something out on the encoder buttons. This all of course is assuming you aren't already working with a finite set of options.

All types of UI silliness abound if you can apply constraints and assumptions/requirements to reduce things down to a finite set.