Page 1 of 1

searching for a device displaying parameter value & name

Posted: Wed Apr 21, 2021 11:28 am
by bobavenger
Hi there,

I'm searching for a m4l device that pop up a window displaying parameter's value (& name), each time I turn a knob,
just for a few second and then auto-close

ex : " Filter Frequency 2.46 kHz "

I'm able to make it appear in the status bar with a python script, but that's too small, I want a bigger window , so when I'm on my controller I can do fine parameter adjusting

does it exist? or someone can help me to program it?

Re: searching for a device displaying parameter value & name

Posted: Sat Apr 24, 2021 12:44 am
by Patrick_K
I looked through the LOM for Max 8 last night, and I don't see anything that would let you observe changes in parameter values across all devices, or ever within one device. You have to set a live.observer module to monitor an individual, specified parameter... meaning you'd need a bank of dozens of observers that were dynamically re-assigned to the full range of parameters possible for whichever device is currently selected.

This seems very messy. There's got to be a simpler method without resorting to Python within M4L... but needless to say there isn't a 1:1 relationship between what is addressable via python scripts vs. what max can access via the LOM.

Also, I'm no expert on this aspect of the LOM. Anyone that wants to chime in to correct/illuminate, please do.

Re: searching for a device displaying parameter value & name

Posted: Sat Apr 24, 2021 5:59 am
by chapelier fou
Observe the path live_set selected_parameter

Re: searching for a device displaying parameter value & name

Posted: Sat Apr 24, 2021 8:03 am
by bobavenger
I've found the grab_midi function
so I've make a try with it (and copy&paste from other's patches)
https://cycling74.com/forums/searching- ... 3a1d65703d

it looks like what I need, but there's some problems :
I don't need forwarding buttons, only encoders and it doesn't work for all of them (the ones that are connect_to in the script, for example to volumes)
so I think the best would be to send the messages (strings) from the python script to the max device,
do you knows how to do that? how max can receive a string?

Re: searching for a device displaying parameter value & name

Posted: Sat Apr 24, 2021 8:30 am
by pottering
I just made one, scavenging parts from several places.

https://www.dropbox.com/s/yduirx0kdh2fd ... .amxd?dl=0

First part was this tutorial, found via google, which shows the API part for selected controls, I just copied it (but connecting live.thisdevice directly into the "path live_set..." message instead of that JS thing on the right):

https://www.youtube.com/watch?v=z3IG17LfiG4

Second part was copy-pasted straight from the live.observer's Help, used it with almost no modifications, it handles the "real-time monitoring" of the parameter.

Third was from this device from NoIsYs found in maxforlive.com which showed me the basics of how to get the parameter name.

http://maxforlive.com/library/device/47 ... eter-names

Fourth part was basically googling how to make a popup window, took some time, but was not as hard as I thought, after I realized I could put just put inputs in the sub-patcher instead of having multiple copies of stuff.

Fifth was trying to get the parameter's GUI values, after I noticed it showed floating point for all parameters, was only partially successful in this, seems many knobs (especially %) are way more precise than the GUI number. Well, basically most knobs will show just the more precise floating point numbers, for better or for worse.

EDIT: Oh, sh*t you want for MIDI controllers? Not sure that is possible without touch-sensitive knobs, like Push. But otherwise the logic should be similar, live.path gets the ID, live.observer can monitor that ID real time.

Re: searching for a device displaying parameter value & name

Posted: Sat Apr 24, 2021 9:07 am
by bobavenger
oh thanks for the move,
& yes that was for midi controls (sorry for not being enough clear about my request)
so the selected_parameter is no the soluce here, as we can't select a parameter with the live API

I'll try to find a way to receive a message from the python script with the max device..

to be more explicit, with my python script I can get the parameter connected the currently moving encoder, with his name & value.
and then I can forward that midi value to a dumb parameter of the max device, that will forward it to the floating window.

but maybe it's possible to directly send the name & value as a string inside the max device? (without the dumb parameter & the value unit corresponding to parameter unit (Hz, %, ...)rather than 0-127)

Re: searching for a device displaying parameter value & name

Posted: Sat Apr 24, 2021 5:41 pm
by Patrick_K
chapelier fou wrote:
Sat Apr 24, 2021 5:59 am
Observe the path live_set selected_parameter
I tried that first, but parameters can be adjusted via control surface w/o being selected.

Re: searching for a device displaying parameter value & name

Posted: Sat Apr 24, 2021 7:51 pm
by chapelier fou
Patrick_K wrote:
Sat Apr 24, 2021 5:41 pm
chapelier fou wrote:
Sat Apr 24, 2021 5:59 am
Observe the path live_set selected_parameter
I tried that first, but parameters can be adjusted via control surface w/o being selected.
Ok...didn't understand (either) that it has to react to parameters changed by MIDI (but this makes all the sense, now that I think of it).
Interesting problem. Not sure there is a solution.

Re: searching for a device displaying parameter value & name

Posted: Sun Apr 25, 2021 2:35 am
by pottering
This video implies it could be possible, but with the MaxForLive script:

https://www.youtube.com/watch?v=NFKfph2nv4k

https://cycling74.com/forums/using-m4l- ... chpadapc40

Re: searching for a device displaying parameter value & name

Posted: Sun Apr 25, 2021 6:32 pm
by Patrick_K
It's possible, it's just that the only way I know to pull it off purely through M4L is inelegant under-the-hood... but I went ahead and brute-forced it for y'all anyway.

Since this forum doesn't support attachments, I uploaded it on the other thread:

https://cycling74.com/forums/searching- ... 3a1d65703d

I did this in Live 11/Max 8.1.9, so if anyone needs it down-converted to earlier version, I might be able to pull that off... I think.

If someone can give it a whirl and see if this meets bobavenger's need, that would be much appreciated. If I'm off-target, or it's causing any noticeable CPU drag, please speak up.

Re: searching for a device displaying parameter value & name

Posted: Sun Apr 25, 2021 9:37 pm
by bobavenger
thanks Patrick for the move, and no your device doesn't charge my cpu more
but it's less effective than the patch that I previously posted, e.g for a macro that is connected to several parameters, it'll shows all of them instantly, and so we see only the last one on the screen and not the macro's value itself.
also it look likes it work only for the track where the device is, and not for volume, sends, etc , not for all parameter
but I haven't read the patch itself, how it works

I've made an another patch https://cycling74.com/forums/searching- ... 3a71b73932
it's just a hidden dial that receive message from my control surface script and then show up to the floating window
(I've added some side listener in the control surface script, only for the encoders, to sends value directly to the hidden dial)
but a dial can only receive 0 to 127 values
is there a max device parameter that can receive string, text?
that's the only thing that miss to my needs

and thanks Pottering for the links, I'll look at it

Re: searching for a device displaying parameter value & name

Posted: Sun Apr 25, 2021 9:53 pm
by Patrick_K
bobavenger wrote:
Sun Apr 25, 2021 9:37 pm

is there a max device parameter that can receive string, text?
that's the only thing that miss to my needs

Receive string text from where? A basic message object can display any text you want, but I don't think that's what you're after. I don't have any of the control scripts you speak of, so we're just kind of flying blind.

Thanks for taking a look at what I put together. Yes, at the moment it's limited to just the track it's on, and just the currently selected device. That can be changed/expanded, but it sounds like it's a moot point either way. I was just showing how one could display parameter name and value in real time for whatever control was currently being adjusted by a control surface, without having to tell M4L, ahead of time, which control you were adjusting... that's it. You turn a knob mapped to a device parameter, that parameter name and value displays on the screen as you adjust, then it goes away 2 seconds after you stop.

If you're close with the latest patch you put together, keep at it, and best of luck!

Re: searching for a device displaying parameter value & name

Posted: Sun Apr 25, 2021 10:26 pm
by OmerOki
Is this somehow related to stoermelder packOne in VCV? :wink: