How to control other properties via OSC other than value?

Hello there. I wondered how would I possibly be able to control other properties of a widget such as "visible" or "css" through OSC?

I'd like to be able to modify such values to dynamically change the my interface. Is there a way to exposes such properties through some address?

There are multiple ways to do it:

  1. With the osc listener syntax

    • set visible to OSC{visible, true}
    • the result of that property will depend on what you send to the osc address /widget_address/visible
  2. With the inheritance syntax

    • create a variable widget
    • set the other widget's visible property to @{variable_widget_id}
    • send a value to the variable's address, its value will update the property that contains the @{} block
  3. With the custom variable syntax combined with the remote control /SCRIPT command

    • set visible to VAR{vis, true}
    • send to o-s-c: /SCRIPT "setVar('widget_id', 'vis', false)"
  4. With the remote control /EDIT command (will actually modify the session)

    • send to o-s-c: /EDIT widget_id "{visible: false}"
1 Like

When you say set, do you mean entering OSC{visible,true} in the visible field in the GUI under the widget properties category?

Yes exactly.

Worked like a charm!
I just noticed that one must be aware not to toggle the value via the UI else it will revert back to be true or false and not OSC{visible,}` anymore.