OSC and toggle-exclusive-solo

Hi,

Continuing my adoption of OSC, there’s one action I was planing on using because I often find myself having to go to the preference dialog to change the “Exclusive Solo” flag.

According to the manual, there is a /Solo/toggle-exclusive-solo action available.

Problem: when I use the following command, it doesn’t actually change the behavior of the SOLO buttons as expected and the checkbox in the preference dialog isn’t affected either …

oscsend osc.udp://localhost:3819 /access_action/Solo/toggle-exclusive-solo

Enabling OSC logging, I can see the command reaching Ardour and not being rejected …

[INFO]: OSC: /access_action/Solo/toggle-exclusive-solo

So why isn’t anything happening ? Am I misunderstanding the intention of this toggle-exclusive-solo Action ?

Thanks for your help

You have misunderstood (and/or we have not made clear) how OSC interacts with actions.

Even though actions look like an OSC path, they are not equivalent. To access an action from OSC, you need to prefix the action path with “/access_action/”

So, the functioning comment is:

oscsend osc.udp://localhost:3819/ /access_action/Solo/toggle-exclusive-solo

That’s exactly what I wrote Paul :wink:
Yet it doesn’t work.

P.s. I’m using plenty of other Actions via OSC that work just fine (and yes I’m using the /access_action prefix)

Ah, sorry I should have read more carefully. Very silly of me.

It works just fine here. You must have some other option set that prevents exclusive solo. One would be that you’re using a monitor bus with solo-controls-are-listen-controls.

Hmmm, well that’s not the case but it did put me on a lead.

I’m not used to using the “Monitoring Section”, I don’t have it activated in my sessions (small setup, audio card with a single output pair, it takes space on the screen for little value in my situation I think)

If I do activate the Monitoring Section, then the OSC action does toggle the exclusive solo flag and it’s visible both on the Monitoring Section button’s LED as well as the checkbox in the Preference dialog !
image

image

But if the Monitoring Section is not active, then the OSC action has no effect at all while I expected it to affect the Preference checkbox (which is where I generally go to when I want to change this behavior)

P.s. After re-reading the user guide for the Monitor Section, I guess I could make better use of it …

… which itself another lead. The action in question is defined by the monitor section code, and does not exist if there is no monitor section. This is mostly because the other “nearby” actions like “Solo controls are Listen controls” are impossible without a monitor section, but this one really should defined in the main mixer code, since it does not require a monitor section to function.

1 Like

I see. I agree it would make sense for it to be defined in the main mixer code.
I’ll raise a feature request.
Thanks for having checked into it !

The best way would be to expose the Preference system.

It is not an action, and exposing the preference options as actions (via OSC) was wrong to begin with.

PS. If you need it now (Ardour 6.9) you could trigger a Lua script to toggle:

ARDOUR.config():set_exclusive_solo (not ARDOUR.config():get_exclusive_solo())

I would say that argues against this even being a preference. It is incredibly useful to move between exclusive and non-exclusive solo, and it should not be necessary to go to Preferences to make that change. Which is why we exposed it in the monitor section …

I suggest to use keyboard modifiers in that case (default: Ctrl+Alt). Same for momentary solo.

You can even have both momentary + exclusive Solo (which reverts to previous solo state on release).

Sure, but that doesn’t address OSC access … which you’ve taken care of with an arguably better solution already. In addition though, kbd bindings require actions, and this one doesn’t exist without the monitor section.

Perhaps it should. If Mute and Solo are exposed, why not expose relevant modifiers to those actions?

It would also be nice if preferences were exposed to OSC. Particularly for boolean options that would be straight forward.

Exclusive solo is a mode rather than an action. That’s why we don’t use modifiers.