d1c6c313f3
* OSC: Clarify control messages are also sent as feedback
This is already mentioned on the feedback page, but mentioning it above
the list of control messages helps interpreting that list.
* OSC: Remove errant commas in addresses
The rest of the docs do not use commas to separate the address from
arguments, so remove them here. These commas seem to have been
introduced first in commit 1138f1d
(OSC: update OSC docs.) and were
probably copy-pasted into docs added after that.
* OSC: Fix and complete plugin operations and feedback
This makes the documentation complete by adding missing messages,
clarifying some existind documenation and fixing `/select/plug_page`
(address and parameter description were incorrect).
203 lines
6.7 KiB
HTML
203 lines
6.7 KiB
HTML
|
|
<p><em>/set_surface</em> has two values the user needs to calculate before
|
|
use. In general these will not be calculated at run time, but
|
|
beforehand. There may be more than one button with different values
|
|
to turn various kinds of feedback on or off or to determine which
|
|
kinds of strips are currently viewed/controlled.
|
|
</p>
|
|
<p>Both <em>feedback</em> and <em>strip-types</em> use bitsets to keep
|
|
track what they are doing. Any number in a computer is made out of
|
|
bits that are on or off, but we represent them as normal base 10
|
|
numbers. Any one bit turned on will add a unique value to the
|
|
number as a whole. So for each kind of feedback or strip type
|
|
to be used, that number should be added to the total.</p>
|
|
<h2>strip_types</h2>
|
|
<p>
|
|
strip_types is an integer made up of bits. The easy way to
|
|
deal with this is to think of strip_types items being worth a number and
|
|
then adding all those numbers together for a value to send.
|
|
Strip Types will determine What kind of strips will be included in
|
|
bank. This would include: Audio, MIDI, busses, VCAs, Master, Monitor
|
|
and hidden or selected strips.
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
1: AudioTracks.
|
|
</li>
|
|
<li>
|
|
2: MidiTracks.
|
|
</li>
|
|
<li>
|
|
4: AudioBusses.
|
|
</li>
|
|
<li>
|
|
8: MidiBusses.
|
|
</li>
|
|
<li>
|
|
16: VCAs.
|
|
</li>
|
|
<li>
|
|
32: Master.
|
|
</li>
|
|
<li>
|
|
64: Monitor.
|
|
</li>
|
|
<li>
|
|
128: FoldbackBusses.
|
|
</li>
|
|
<li>
|
|
256: Selected.
|
|
</li>
|
|
<li>
|
|
512: Hidden.
|
|
</li>
|
|
<li>
|
|
1024: Use Group.
|
|
</li>
|
|
</ul>
|
|
<p class="note">
|
|
Selected and Hidden bits are normally not needed as Ardour defaults to
|
|
showing Selected strips and not showing Hidden strips. The purpose of
|
|
these two flags is to allow showing only Selected strips or only
|
|
Hidden strips. Using Hidden with other flags will allow Hidden strips
|
|
to show inline with other strips.
|
|
</p>
|
|
<p class="note" id="use-group">
|
|
Use Group on will tell ardour that any control on a strip that is part
|
|
of a group will affect all strips within that group. Default is off
|
|
or the control should only affect the strip the control is applied to.
|
|
The <code>/use_group f state</code> command can be used to temporarily
|
|
change this on the fly.
|
|
</p>
|
|
<p>
|
|
Some handy numbers to use might be: 15 (all tracks and busses -
|
|
1 + 2 + 4 + 8), 31
|
|
(add VCAs to that - 15 + 16). Master or Monitor strips are generally
|
|
not useful on a surface that has dedicated controls for these strips
|
|
as there are /master* and /monitor* commands already. However, on a
|
|
surface with just a bank of fader strips, adding master or monitor
|
|
would allow access to them within the banks. Selected would be useful
|
|
for working on a group or a set of user selected strips. Hidden shows
|
|
strips the GUI has hidden. As such, a control surface will likely have
|
|
a number of buttons with different strip_types for convenience.
|
|
<ul>
|
|
<li>
|
|
Mixer - All strip types <kbd class="osc">/set_surface/strip_types 159</kbd>
|
|
</li>
|
|
<li>
|
|
Audio Tracks - Just Audio tracks that can record <kbd class="osc">/set_surface/strip_types 1</kbd>
|
|
</li>
|
|
<li>
|
|
MIDI Tracks - Tracks with at least 1 MIDI input that can record
|
|
<kbd class="osc">/set_surface/strip_types 2</kbd>
|
|
</li>
|
|
<li>
|
|
Busses - A mix of all busses, possibly including VCAs
|
|
<kbd class="osc">/set_surface/strip_types 156</kbd>
|
|
</li>
|
|
<li>
|
|
Selected - All strips that are currently selected
|
|
<kbd class="osc">/set_surface/strip_types 256</kbd>
|
|
</li>
|
|
<li>
|
|
Hidden - All hidden strips <kbd class="osc">/set_surface/strip_types 512</kbd>
|
|
</li>
|
|
<li>
|
|
Custom - see <a href="@@osc58-custom-strips">
|
|
Making a user selected strip list.</a>
|
|
<kbd class="osc">/strip/custom/mode 1</kbd>
|
|
</li>
|
|
|
|
</ul>
|
|
</p>
|
|
<h3 id="hidden">Using hidden strips</h3>
|
|
<p>
|
|
Ardour allows any of it's strips to be hidden so that they do not show
|
|
up on the GUI mixer or editor. OSC follows the GUI by default and will
|
|
not show hidden strips. As of Ardour 6.0 the OSC commands include
|
|
<kbd class="osc">/select/hide <em>y/n</em></kbd> for the selected
|
|
strip and <kbd class="osc">/strip/hide <em>ssid</em> <em>y/n</em></kbd>
|
|
for any strip. This allows the control surface to hide or unhide a strip.
|
|
What may not be obvious is that hiding a strip makes it disappear and
|
|
become unselected. So if a selected strip is hidden, it is no longer
|
|
selected and the select channel will show the default select strip
|
|
(Master). In order to show a hidden strip, the hidden strips need to
|
|
be shown first using the <kbd class="osc">/set_surface/strip_types 512</kbd>
|
|
command to show only hidden strips. Then use the
|
|
<kbd class="osc">/strip/hide <em>SSID</em> 0</kbd> or
|
|
<kbd class="osc">/select/hide 0</kbd>
|
|
to show that strip. Of course, because only hidden strips are showing,
|
|
the strip you have set to no long hide will seem to vanish. A
|
|
<kbd class="osc">/set_surface/strip_types 159</kbd> will then show
|
|
the default strip types or replace the 159 with the desired strip_types.
|
|
</p>
|
|
<p class="note">
|
|
When hiding more than one strip in a row, check the strip name before
|
|
hiding as the strips will move as each strip is hidden just as it does
|
|
with the GUI mixer. So to hide strips 5, 6 and 7, the hide button
|
|
for <code>ssid</code> 5 is pressed 3 times. A more intuitive method
|
|
would be to hide strips from right to left (7, 6 and 5) which will
|
|
work as expected.
|
|
<p>
|
|
In short, shown strips can only be hidden when they are viewable and
|
|
hidden strip can only shown (or un-hid) when strip_types include hidden
|
|
strips.
|
|
</p>
|
|
<h2 id="feedback">feedback</h2>
|
|
<p>Feedback is an integer made up of bits. The easy way to
|
|
deal with this is to think of feedback items being worth a number and
|
|
then adding all those numbers together for a value to send.
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
1: Button status for strips.
|
|
</li>
|
|
<li>
|
|
2: Variable control values for strips.
|
|
</li>
|
|
<li>
|
|
4: Send SSID (or for `/select/*` messages the send or
|
|
plugin parameter id) as path extension.
|
|
</li>
|
|
<li>
|
|
8: heartbeat to surface.
|
|
</li>
|
|
<li>
|
|
16: Enable master section feedback.
|
|
</li>
|
|
<li>
|
|
32: Send Bar and Beat.
|
|
</li>
|
|
<li>
|
|
64: Send timecode.
|
|
</li>
|
|
<li>
|
|
128: Send meter as dB (-193 to +6) or 0 to 1 depending on gainmode
|
|
</li>
|
|
<li>
|
|
256: Send meter a 16 bit value where each bit is a level
|
|
and all bits of lower level are on. For use in a LED strip. This
|
|
will not work if the above option is turned on.
|
|
</li>
|
|
<li>
|
|
512: Send signal present, true if level is higher than -40dB
|
|
</li>
|
|
<li>
|
|
1024: Send position in samples
|
|
</li>
|
|
<li>
|
|
2048: Send position in time, hours, minutes, seconds and milliseconds
|
|
</li>
|
|
<li>
|
|
8192: Turn on select channel feedback
|
|
</li>
|
|
<li>
|
|
16384: Use OSC 1.0 /reply instead of #reply
|
|
</li>
|
|
</ul>
|
|
<p>
|
|
So using a value of 19 (1 + 2 + 16) would turn on feedback for strip
|
|
and master controls, but leave meters, timecode and bar/beat feedback off.
|
|
</p>
|
|
|