manual/include/osc58-selection-and-expansi...

70 lines
2.8 KiB
HTML

<p>
Ardour does not send every possible feedback value for each channel.
It does send expanded information on the selected channel. There are
also extra commands for the selected strip. All the feedback and
select commands have their own path <em>/select</em>.
This means that for the selected channel the surface does not have to
keep track of the strip ID. The /select strip will follow the
"current mixer strip" in the GUI editor window.
</p>
<p>
There are two major uses for this:
<ol>
<li>Single strip control surfaces. Using
<em>/access_action Editor/select-next-route</em> or
<em>/access_action Editor/select-prev-route</em>
to step through the mixer strips.</li>
<li>Using a "Super strip" section of knobs to control parts
of the strip that are changed less often such as polarity, sends or
plugin parameters.</li>
</ol>
</p>
<p>
Selection in Ardour's OSC implementation are complicated by the
possibility of using more than one OSC controller at the same time.
User "A" may select strip 4 and use a selected controller to make
changes to that strip. User "B" may subsequently select strip 7 to
make changes on. This leaves user "A" making changes to strip 7
which they did not choose.
</p>
<p>
For this reason Ardour offers local expansion aside from the GUI
selection. Local expansion only affects the one OSC controller. GUI
selection is global and affects all controllers using GUI selection
as well as the GUI.
</p>
<p class="note">
Both select and expansion use the /select set of commands.
</p>
<p>
In general, in a one user situation where that one user may use either
the OSC surface or the GUI, using GUI based selection makes the most
sense. This is the default because this is the more common use.
</p>
<p>
When there is more than one operator, then expansion only is the
mode of choice. It may make sense for one of the surfaces to
use GUI selection where the operator is also using the GUI for some
things. However, the set up should be carefully analyzed for the
possibility of selection confusions. Expansion should be
considered the <em>safe</em> option.
</p>
<p>
It is always OK to use expansion on the surface even in a one
user scenario. This allows the user to use GUI and surface selection
for different uses.
</p>
<p>
It is also possible to use both if desired. /strip/select will ways
set the GUI select, but /strip/expand will set the select feedback
and commands locally without changing the GUI select. Another
/strip/expand or a /strip/select will override that expand command
and releasing the /strip/expand or /select/expand (setting it to 0 or
false) will set the /select set of commands and feedback back to
whichever strip the GUI has selected at that time. This could be used
to switch between the GUI select and the local expand to compare two
strips settings.
</p>