OSC: Added feedback and strip type calculating page.

This commit is contained in:
Len Ovens 2016-05-27 15:02:56 -07:00
parent 79a4e2ddda
commit b055bf2bf0
3 changed files with 153 additions and 38 deletions

View File

@ -93,39 +93,25 @@ here</em>"/&gt;</kbd>
</p>
<h3>strip_types</h3>
<p>
Strip Types are coming soon... check for more info sometime. For now
just use 0 (or anything else) as this is ignored. I don't know the bit
order just yet, but it will work similar to feedback below. Strip Types
will determine What kind of strips will be included in a bank. This would
include: Audio, MIDI, busses, VCAs, Master, Monitor and hopefully
hidden or selected strips.
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>
<p>Please see: <a
href="/using-control-surfaces/controlling-ardour-with-osc/calculating-feedback-and-strip-types-values/">
Calculating Feedback and Strip-types Values.</a></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 - feedback values of controls in strips.
</li>
<li>
2 - Send meter values (not coded yet).
</li>
<li>
4 - Send timecode (not coded yet).
</li>
<li>
8 - Send Bar and Beat (not coded yet).
</li>
<li>
16 - Enable master section feedback.
</li>
</ul>
<p>
So using a value of 17 would turn on feedback for strip and master
controls, but leave meters, timecode and bar/beat feedback off.
</p>
<p>Please see: <a
href="/using-control-surfaces/controlling-ardour-with-osc/calculating-feedback-and-strip-types-values/">
Calculating Feedback and Strip-types Values.</a></p>
<h3>gainmode</h3>
<p>
Gainmode is a an int that acts as a bool:
@ -144,15 +130,15 @@ here</em>"/&gt;</kbd>
<h4>Transport Control</h4>
<dl class="bindings">
<dt><kbd class="osc">/transport_stop</kbd></dt>
<dt><kbd class="osc">/transport_stop <em>optional</em></kbd></dt>
<dd></dd>
<dt><kbd class="osc">/transport_play</kbd></dt>
<dt><kbd class="osc">/transport_play <em>optional</em></kbd></dt>
<dd></dd>
<dt><kbd class="osc">/set_transport_speed <em>s</em></kbd></dt>
<dd>where <em>s</em> is a float ranging from -8.0f to 8.0f</dd>
<dt><kbd class="osc">/ffwd</kbd></dt>
<dt><kbd class="osc">/ffwd <em>optional</em></kbd></dt>
<dd></dd>
<dt><kbd class="osc">/rewind</kbd></dt>
<dt><kbd class="osc">/rewind <em>optional</em></kbd></dt>
<dd></dd>
<dt><kbd class="osc">/goto_start</kbd></dt>
<dd></dd>
@ -168,7 +154,7 @@ here</em>"/&gt;</kbd>
<dd>where <em>spos</em> is the target position in samples and
<em>roll</em> is a bool/integer defining whether you want transport
to be kept rolling or not</dd>
<dt><kbd class="osc">/loop_toggle</kbd></dt>
<dt><kbd class="osc">/loop_toggle <em>optional</em></kbd></dt>
<dd></dd>
</dl>
@ -189,7 +175,7 @@ here</em>"/&gt;</kbd>
<dd></dd>
<dt><kbd class="osc">/toggle_punch_out</kbd></dt>
<dd></dd>
<dt><kbd class="osc">/rec_enable_toggle</kbd></dt>
<dt><kbd class="osc">/rec_enable_toggle <em>optional</em></kbd></dt>
<dd></dd>
<dt><kbd class="osc">/toggle_all_rec_enables</kbd></dt>
<dd>(toggles all tracks' recording state)</dd>
@ -226,15 +212,26 @@ here</em>"/&gt;</kbd>
Monitor, may be included in the list of SSIDs or not as set in
<em>/set_surface</em>.
</p>
<p class="note">
Some Surfaces (many Android applets) are not able to deal with more
than one parameter in a command. However, the two parameter commands
below can also be sent as /strip/command/ssid param. In this case the
param should be a float even if an int is required below.
</p>
<dl class="bindings">
<dt><kbd class="osc">/bank_up</kbd></dt>
<dt><kbd class="osc">/bank_up </kbd></dt>
<dd>Change bank to the next higher bank.</dd>
<dt><kbd class="osc">/bank_down</kbd></dt>
<dt><kbd class="osc">/bank_down </kbd></dt>
<dd>Change bank to the next lower bank.</dd>
<dt><kbd class="osc">/strip/mute <em>ssid</em> <em>mute_st</em></kbd></dt>
<dd>where <em>mute_st</em> is a bool/int representing the desired mute state of the track</dd>
<dt><kbd class="osc">/strip/solo <em>ssid</em> <em>solo_st</em></kbd></dt>
<dd>where <em>solo_st</em> is a bool/int representing the desired solo state of the track</dd>
<dt><kbd class="osc">/strip/monitor_input <em>ssid</em> <em>monitor_st</em></kbd></dt>
<dd>where <em>monitor_st</em> is a bool/int where 1 is forced input monitoring.</dd>
<dt><kbd class="osc">/strip/monitor_disk <em>ssid</em> <em>monitor_st</em></kbd></dt>
<dd>where <em>monitor_st</em> is a bool/int where 1 is forced disk monitoring. When input and disk are both off,
Auto monitoring is enabled.</dd>
<dt><kbd class="osc">/strip/recenable <em>ssid</em> <em>rec_st</em></kbd></dt>
<dd>where <em>rec_st</em> is a bool/int representing the desired rec state of the track</dd>
<dt><kbd class="osc">/strip/gain <em>ssid</em> <em>gain</em></kbd></dt>

View File

@ -56,8 +56,8 @@ title: OSC Feedback With Ardour
<dd></dd>
<dt><kbd class="osc">/rewind <em>state</em></kbd></dt>
<dd></dd>
<!--dt><kbd class="osc">/loop_toggle</kbd></dt>
<dd></dd-->
<dt><kbd class="osc">/loop_toggle <em>state</em></kbd></dt>
<dd></dd>
</dl>
@ -68,7 +68,9 @@ title: OSC Feedback With Ardour
<dt><kbd class="osc">/toggle_punch_out</kbd></dt>
<dd></dd-->
<dt><kbd class="osc">/rec_enable_toggle <em>state</em></kbd></dt>
<dd></dd>
<dd>Master record enabled.</dd>
<dt><kbd class="osc">/record_tally <em>state</em></kbd></dt>
<dd>Some record enable is true or "ready to record"</dd>
</dl>
<h3>Master and monitor strips</h3>
@ -97,6 +99,16 @@ title: OSC Feedback With Ardour
<p>
For each of the following, <em>ssid</em> is the surface strip ID for the track
</p>
<p class="note">
Some Surfaces (many Android applets) are not able to deal with more
than one parameter in a command. However, the two parameter commands
below can also be sent as /strip/command/ssid param. Feedback can be
set to match this with the /set_surface/feedback <em>state</em>
command. See <a
href="/using-control-surfaces/controlling-ardour-with-osc/calculating-feedback-and-strip-types-values/">
Calculating Feedback and Strip-types Values.</a>
</p>
<dl class="bindings">
<dt><kbd class="osc">/strip/name <em>ssid</em> <em>track_name</em></kbd></dt>
<dd>where <em>track_name</em> is a string representing the name of the track
@ -105,6 +117,11 @@ title: OSC Feedback With Ardour
<dd>where <em>mute_st</em> is a bool/int representing the actual mute state of the track</dd>
<dt><kbd class="osc">/strip/solo <em>ssid</em> <em>solo_st</em></kbd></dt>
<dd>where <em>solo_st</em> is a bool/int representing the actual solo state of the track</dd>
<dt><kbd class="osc">/strip/monitor_input <em>ssid</em> <em>monitor_st</em></kbd></dt>
<dd>where <em>monitor_st</em> is a bool/int. True/1 meaning the track is force to monitor input</dd>
<dt><kbd class="osc">/strip/monitor_disk <em>ssid</em> <em>monitor_st</em></kbd></dt>
<dd>where <em>monitor_st</em> is a bool/int. True/1 meaning the track is force to monitor disk,
where both disk and input are false/0, auto monitoring is used.</dd>
<dt><kbd class="osc">/strip/recenable <em>ssid</em> <em>rec_st</em></kbd></dt>
<dd>where <em>rec_st</em> is a bool/int representing the actual rec state of the track</dd>
<dt><kbd class="osc">/strip/gain <em>ssid</em> <em>gain</em></kbd></dt>

View File

@ -0,0 +1,101 @@
---
layout: default
title: Calculating 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 represtent 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 - AudioBusses.
</li>
<li>
8 - MidiBusses.
</li>
<li>
16 - VCAs.
</li>
<li>
2048 - Master.
</li>
<li>
4096 - Monitor.
</li>
<li>
16384 - Selected.
</li>
<li>
32768 - Hidden.
</li>
</ul>
<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.
</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 meter values (not coded yet).
</li>
<li>
8 - heartbeat to surface.
</li>
<li>
16 - Enable master section feedback.
</li>
<li>
32 - Send Bar and Beat (not coded yet).
</li>
<li>
64 - Send timecode (not coded yet).
</li>
<li>
128 - Send SSID as path extension.
</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>