manual/include/osc58-feedback-and-strip-ty...

154 lines
4.8 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: Audio Aux.
</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>
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.
</p>
<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
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
useful to get a list of only aux busses if the control surface is a
phone used to provide talent monitor mix control on stage. Each
performer would be able to mix their own monitor. The user is free
to enable both busses and auxes if they would prefer.
</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 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>