]> Shamusworld >> Repos - ardour-manual-diverged/commitdiff
OSC: Added feedback and strip type calculating page.
authorLen Ovens <len@ovenwerks.net>
Fri, 27 May 2016 22:02:56 +0000 (15:02 -0700)
committerLen Ovens <len@ovenwerks.net>
Fri, 27 May 2016 22:02:56 +0000 (15:02 -0700)
_manual/22_using-control-surfaces/01_controlling-ardour-with-osc.html
_manual/22_using-control-surfaces/01_controlling-ardour-with-osc/02_feedback-in-osc.html
_manual/22_using-control-surfaces/01_controlling-ardour-with-osc/03_calculating-feedback-and-strip-types-values.html [new file with mode: 0644]

index e74c7e7c36f795a81dc093c1e5cec792d9561f2c..f87c2f4bcb29e82111b5420b4fe4ff1c9f028c00 100644 (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>
index 84445e05c9ca970f78bafae4b41b747dc6d08488..f2c943781ec5db4ba9cab71095d61f8c5ffb57e7 100644 (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>
diff --git a/_manual/22_using-control-surfaces/01_controlling-ardour-with-osc/03_calculating-feedback-and-strip-types-values.html b/_manual/22_using-control-surfaces/01_controlling-ardour-with-osc/03_calculating-feedback-and-strip-types-values.html
new file mode 100644 (file)
index 0000000..4050576
--- /dev/null
@@ -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>