--- /dev/null
+---
+layout: default
+title: OSC: Feedback and Strip-types Values
+---
+
+<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>
+<h3>strip_types</h3>
+<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 - AudioBuses.
+ </li>
+ <li>
+ 8 - MidiBuses.
+ </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>
+ </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>
+ Some handy numbers to use might be: 15 (all tracks and buses), 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.
+</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 buses 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:
+ 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 buses 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 buses and auxes if they would prefer.
+</p>
+
+<h3>feedback</h3>
+<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 extra select channel feedback beyond what a /strip supports
+ </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.
+</p>