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
+<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>
-<h3>strip_types</h3>
+<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
</p>
<ul>
<li>
- 1 - AudioTracks.
+ 1: AudioTracks.
</li>
<li>
- 2 - MidiTracks.
+ 2: MidiTracks.
</li>
<li>
- 4 - AudioBusses.
+ 4: AudioBusses.
</li>
<li>
- 8 - MidiBusses.
+ 8: MidiBusses.
</li>
<li>
- 16 - VCAs.
+ 16: VCAs.
</li>
<li>
- 32 - Master.
+ 32: Master.
</li>
<li>
- 64 - Monitor.
+ 64: Monitor.
</li>
<li>
- 128 - Audio Aux.
+ 128: Audio Aux.
</li>
<li>
- 256 - Selected.
+ 256: Selected.
</li>
<li>
- 512 - Hidden.
+ 512: Hidden.
+ </li>
+ <li>
+ 1024: Use Group.
</li>
</ul>
<p class="note">
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), 31
- (add VCAs to that). 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.
+ 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>
-<p class-"note">
+<p class="note">
Audio Aux? say what? I am sure most people will have noticed that they
can find no <em>Aux</em> strips in the Ardour mixer. There are none.
There are busses that can be used a number of ways. From analog days,
in OSC, a bus is something that gets used as a sub mix before ending up
going to Master. An auxiliary bus is used like a separate mixer and
- it's output goes outside the program or computer to be used as:
+ its output goes outside the program or computer to be used as:
a monitor mix, a back up recording, or what have you. In OSC where
controller strips may be limited, it may be useful not to use up a
strip for an aux that is not really a part of the mix. It is also
performer would be able to mix their own monitor. The user is free
to enable both busses and auxes if they would prefer.
</p>
-
-<h3>feedback</h3>
+<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.
+ 1: Button status for strips.
</li>
<li>
- 2—Variable control values for strips.
+ 2: Variable control values for strips.
</li>
<li>
- 4—Send SSID as path extension.
+ 4: Send SSID as path extension.
</li>
<li>
- 8—heartbeat to surface.
+ 8: heartbeat to surface.
</li>
<li>
- 16—Enable master section feedback.
+ 16: Enable master section feedback.
</li>
<li>
- 32—Send Bar and Beat.
+ 32: Send Bar and Beat.
</li>
<li>
- 64—Send timecode.
+ 64: Send timecode.
</li>
<li>
- 128—Send meter as dB (-193 to +6) or 0 to 1 depending on gainmode
+ 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
+ 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
+ 512: Send signal present, true if level is higher than -40dB
</li>
<li>
- 1024—Send position in samples
+ 1024: Send position in samples
</li>
<li>
- 2048—Send position in time, hours, minutes, seconds and milliseconds
+ 2048: Send position in time, hours, minutes, seconds and milliseconds
+ </li>
+ <li>
+ 8192: Turn on select channel feedback
</li>
<li>
- 8192—Turn on extra select channel feedback beyond what a /strip supports
+ 16384: Use OSC 1.0 /reply instead of #reply
</li>
</ul>
<p>
- So using a value of 19 would turn on feedback for strip and master
- controls, but leave meters, timecode and bar/beat feedback off.
+ 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>