Knowing if a parameter is selected for editing

Hello,

Is there a way to know which operator parameter is currently selected for editing? It could be pretty useful.

Thanks,
Owen

only ui.rolloverPar
https://docs.derivative.ca/UI_Class

You likely want something like ui.lastClickedPar

1 Like

Ok gotcha. That’s a good start.
thank-you Greg.

incidentally: me.curPar
https://docs.derivative.ca/OP_Class
describes the current parameter being evaluated (as opposed to edited).

1 Like

Uh oh it seems like ui.rolloverPar returns the parameter value as opposed to the parameter itself. Is this what’s intended?
I’ve still got to make sense of what I can do with curPar.

To give a bit of context I’ve got a bunch of RGBA custom parameters which correspond to individual steps in a sequence. Each of these steps have corresponding stored values associated to it which can be adjusted via custom parameters.

It would be nice to know which “step” parameter is selected so that its corresponding values can be updated. Currently, I can look I at the last adjusted “step” via parameter execute and update/modify the values but it would be nice to be able to do so without having to modify that step.

In this image the “Mystepsa” parameter is selected and so, in this scenario I could reference it as the last selected of the “Mysteps*” parameters and modify its corresponding values.

There’s probably a nice way to do it if I start building a UI but I really enjoy working with custom parameters and find it makes my toxes easier to integrate into a larger workflow.

ui.rolloverPar returns a par.
Are you printing it? That will print its current value.
Try debug() instead of print()
or print its type to be sure.

Not quite sure I follow your setup, but I think comparing previous is the safest, as technically anything may be updated via script or other methods besides manual selection + editing.
Can there be another separate ‘steps’ index parameter that you manually adjust before changing the key at that value?

That being said, you might also consider keyframe parameters.

There are a few other tutorials on the topic as well.

This would allow you to keyframe those channels more easily.

Hi Rob, thanks for your response. I was indeed simply printing out the results.

The issue I’m having is more of a UI/UX kind of issue rather than how I’m setting and storing the values.
I’ll post up a better example when I get the chance.

ui.rolloverPar.name and .eval() and .owner … it’s the parameter object.

1 Like

Yeah sorry that’s my bad. I was using print instead of eval().I think ui.rolloverPar is good enough for what I need btw. I can use it in combination with my mouse clicks to check whether I’ve last clicked inside the parameter box or not.

Thanks again for the help