]> Shamusworld >> Repos - ardour-manual/blobdiff - include/osc58-controlling-ardour-with-osc.html
Edit pages to reflect jackd not being essential
[ardour-manual] / include / osc58-controlling-ardour-with-osc.html
index ba29b0a8278968f682c846150f790f399afbefcf..e6ba85f670988629cbf10d0509b16521d6d5f03c 100644 (file)
@@ -13,8 +13,8 @@
   work with (including bank size) and two new math styles have been added
   to gain controls. If you are using an Ardour version of 4.7 or less,
   please read <a
   work with (including bank size) and two new math styles have been added
   to gain controls. If you are using an Ardour version of 4.7 or less,
   please read <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/osc-control-in-ardour-4.7-and-prior/">
-  Osc control in ardour 4.7 and prior.</a>
+  href="@@osc-control-for-ardour-4.7-and-prior">
+  Osc control in Ardour 4.7 and prior.</a>
 </p>
 
 <p>
 </p>
 
 <p>
@@ -46,16 +46,16 @@ here</em>"/&gt;</kbd>
   used to allow talent to adjust their own monitor mix using a tablet
   or phone that can run an OSC controller. For a full explanation of
   how Ardour's feedback works please read <a
   used to allow talent to adjust their own monitor mix using a tablet
   or phone that can run an OSC controller. For a full explanation of
   how Ardour's feedback works please read <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/feedback-in-osc/">
+  href="@@osc58-feedback">
   OSC feedback In Ardour.</a>
 </p>
 
 <h2>Control Surface Set Up</h2>
 
 <p>
   OSC feedback In Ardour.</a>
 </p>
 
 <h2>Control Surface Set Up</h2>
 
 <p>
-  Control surface set up allows the controller to tell Ardour about it's
+  Control surface set up allows the controller to tell Ardour about its
   capabilities. The surface can tell Ardour how many control strips it
   capabilities. The surface can tell Ardour how many control strips it
-  has for banking, if it is capable of setting it's faders or buttons
+  has for banking, if it is capable of setting its faders or buttons
   to values set by Ardour's GUI or automation, What kind of math the
   faders use and more.
 </p>
   to values set by Ardour's GUI or automation, What kind of math the
   faders use and more.
 </p>
@@ -74,15 +74,17 @@ here</em>"/&gt;</kbd>
   able to set a port for Ardour to send to. It can also change the
   default setting for set_surface. For more information about Ardour's
   OSC configuration GUI please read <a
   able to set a port for Ardour to send to. It can also change the
   default setting for set_surface. For more information about Ardour's
   OSC configuration GUI please read <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/osc-setup-dialog/">
+  href="@@osc58-using-the-setup-dialog">
   Ardour's Setup Dialog.</a>
 </p>
 <p>If /set_surface is not sent, the default values are used:
   <ul>
   Ardour's Setup Dialog.</a>
 </p>
 <p>If /set_surface is not sent, the default values are used:
   <ul>
-         <li><em>Bank Size</em>: 0&mdash;No banking (or infinite bank size).</li>
-         <li><em>Strip Types</em>: All strip types except hidden and special.</li>
-         <li><em>Feedback</em>: 0&mdash;All off.</li>
-         <li><em>Fader Mode</em>: 0&mdash;gain in dB (not relevant with feedback off)</li>
+         <li><em>Bank Size</em>: 0&mdash; No banking (or infinite bank size).</li>
+         <li><em>Strip Types</em>: 0&mdash; All strip types except hidden and special.</li>
+         <li><em>Feedback</em>: 0&mdash; All off.</li>
+         <li><em>Fader Mode</em>: 0&mdash; gain in dB (not relevant with feedback off)</li>
+         <li><em>Send Page Size</em>: 0&mdash; No Send Paging.</li>
+         <li><em>Plugin Page Size</em>: 0&mdash; No Plugin Paging.</li>
   </ul>
 </p>
 <p>
   </ul>
 </p>
 <p>
@@ -90,11 +92,27 @@ here</em>"/&gt;</kbd>
 </p>
 <table class="dl">
   <tr><th><kbd class="osc">/set_surface <em>bank_size</em> <em>strip_types</em>
 </p>
 <table class="dl">
   <tr><th><kbd class="osc">/set_surface <em>bank_size</em> <em>strip_types</em>
-  <em>feedback</em> <em>fadermode</em></kbd></th>
+  <em>feedback</em> <em>fadermode</em> <em>send_page_size</em> <em>plugin_page_size</em></kbd></th>
   <td>
          See below for an explanation of each parameter.
   </td></tr>
 </table>
   <td>
          See below for an explanation of each parameter.
   </td></tr>
 </table>
+<p class="note">
+       The /set_surface message may have all values except the last in-line.
+       For example: <code>/set_surface/8/31/8403/0/8 i 16</code> would be valid.
+       Do be careful of switches which send a 0 on release, it may be necessary
+       to set the value as the release value rather than the press value.
+</p>
+<p class="note">
+       The /set_surface message may have less than the full set of parameters.
+       those left out will remain as they were before the /set_surface message was
+       sent. All parameters included must be valid. For example, setting send page
+       size would require also setting bank_size, strip_types, feedback and gain mode.
+       using only two parameters will set bank_size and strip_types. Sending /set_surface with
+       no parameters will result in Ardour returning a /set_surface message with the
+       current settings. Surfaces using /set_surface iiii b st fb gm as was the case
+       in versions of Ardour older than 5.10 will continue to work.
+</p>
 <h3>bank_size</h3>
 <p>
   Bank Size is the number of channel strips the controller supports
 <h3>bank_size</h3>
 <p>
   Bank Size is the number of channel strips the controller supports
@@ -128,7 +146,7 @@ here</em>"/&gt;</kbd>
   strips.
 </p>
 <p>Please see: <a
   strips.
 </p>
 <p>Please see: <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/calculating-feedback-and-strip-types-values/">
+  href="@@osc58-feedback-and-strip-types-values">
   Calculating Feedback and Strip-types Values.</a>
 </p>
 <p class="note">
   Calculating Feedback and Strip-types Values.</a>
 </p>
 <p class="note">
@@ -140,7 +158,7 @@ here</em>"/&gt;</kbd>
   then adding all those numbers together for a value to send.
 </p>
 <p>Please see: <a
   then adding all those numbers together for a value to send.
 </p>
 <p>Please see: <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/calculating-feedback-and-strip-types-values/">
+  href="@@osc58-feedback-and-strip-types-values#feedback">
   Calculating Feedback and Strip-types Values.</a></p>
 <p class="note">
        Feedback can also be set with <em>/set_surface/feedback feedback.</em>
   Calculating Feedback and Strip-types Values.</a></p>
 <p class="note">
        Feedback can also be set with <em>/set_surface/feedback feedback.</em>
@@ -168,12 +186,31 @@ here</em>"/&gt;</kbd>
 <p class="note">
        Gain mode can also be set with <em>/set_surface/gainmode gainmode.</em>
 </p>
 <p class="note">
        Gain mode can also be set with <em>/set_surface/gainmode gainmode.</em>
 </p>
+<h3>send_page_size</h3>
+<p>
+       Send_page_size is an int for the number of send channels that can be controlled
+       at one time. Each channel has a name, level and enable control. (added in Ardour 5.10)
+</p>
+<p class="note">
+       Send page size can also be set with <em>/set_surface/send_page_size send_page_size.</em>
+</p>
+<h3>plugin_page_size</h3>
+<p>
+       plugin_page_size is an int for the number of plugin controls that can be controlled
+       at one time. Each control has a name and level. As each plugin is different (as is each
+       parameter), the surface should expect to control the plugin parameters with a variable
+       control (pot or slider) with a float value from 0 to 1 (even on/off switches). (added in
+       Ardour 5.10)
+</p>
+<p class="note">
+       Plugin page size can also be set with <em>/set_surface/plugin_page_size plugin_page_size.</em>
+</p>
 
 <h2>Querying Ardour for information</h2>
 <p>
   The control Surface may wish to control the type a frequency of
   updates it receives. It can do this with querying commands. See: <a
 
 <h2>Querying Ardour for information</h2>
 <p>
   The control Surface may wish to control the type a frequency of
   updates it receives. It can do this with querying commands. See: <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/querying-ardour-with-osc/">
+  href="@@osc58-querying-ardour">
   Querying Ardour with OSC.</a>
 </p>
 
   Querying Ardour with OSC.</a>
 </p>
 
@@ -181,7 +218,7 @@ here</em>"/&gt;</kbd>
 <p class="note">
        Parameter types show how the value will be used. However, they may
        be sent as a different type if needed, see: <a
 <p class="note">
        Parameter types show how the value will be used. However, they may
        be sent as a different type if needed, see: <a
-       href="/using-control-surfaces/controlling-ardour-with-osc/parameter-types-in-osc/">
+       href="@@osc58-parameter-types">
        Parameter Types in OSC.</a>
 </p>
 <h3>Master or Global messages</h3>
        Parameter Types in OSC.</a>
 </p>
 <h3>Master or Global messages</h3>
@@ -189,43 +226,75 @@ here</em>"/&gt;</kbd>
 <h4>Transport Control</h4>
 <table class="dl">
   <tr><th><kbd class="osc">/transport_stop</kbd></th>
 <h4>Transport Control</h4>
 <table class="dl">
   <tr><th><kbd class="osc">/transport_stop</kbd></th>
-  <td></td></tr>
+  <td>Stops a rolling transport</td></tr>
   <tr><th><kbd class="osc">/transport_play</kbd></th>
   <tr><th><kbd class="osc">/transport_play</kbd></th>
-  <td></td></tr>
-  <tr><th><kbd class="osc">/set_transport_speed <em>s</em></kbd></th>
-  <td>where <em>s</em> is a float ranging from -8.0f to 8.0f</td></tr>
+  <td>Puts transport in play mode</td></tr>
+  <tr><th><kbd class="osc">/toggle_roll</kbd></th>
+  <td>Toggles between play and stop</td></tr>
+  <tr><th><kbd class="osc">/stop_forget</kbd></th>
+  <td>Stop transport and delete/forget last take</td></tr>
+  <tr><th><kbd class="osc">/set_transport_speed <em>speed</em></kbd></th>
+  <td>where <em>speed</em> is a float ranging from -8.0f to 8.0f</td></tr>
   <tr><th><kbd class="osc">/ffwd</kbd></th>
   <tr><th><kbd class="osc">/ffwd</kbd></th>
-  <td></td></tr>
+  <td>Adds 1.5 times to transport speed to maximum +8 times normal speed</td></tr>
   <tr><th><kbd class="osc">/rewind</kbd></th>
   <tr><th><kbd class="osc">/rewind</kbd></th>
-  <td></td></tr>
+  <td>Adds -1.5 times to transport speed to maximum -8 times normal speed</td></tr>
   <tr><th><kbd class="osc">/goto_start</kbd></th>
   <tr><th><kbd class="osc">/goto_start</kbd></th>
-  <td></td></tr>
+  <td>Move playhead to start of session</td></tr>
   <tr><th><kbd class="osc">/goto_end</kbd></th>
   <tr><th><kbd class="osc">/goto_end</kbd></th>
-  <td></td></tr>
+  <td>Move playhead to end of session</td></tr>
   <tr><th><kbd class="osc">/jump_bars <em>bars</em></kbd></th>
   <td>Where <em>bars</em> is a float (+/-) of the number of bars to jump</td></tr>
   <tr><th><kbd class="osc">/jump_seconds <em>seconds</em></kbd></th>
   <td>Where <em>seconds</em> is a float (+/-) of the number of seconds to jump</td></tr>
   <tr><th><kbd class="osc">/jump_bars <em>bars</em></kbd></th>
   <td>Where <em>bars</em> is a float (+/-) of the number of bars to jump</td></tr>
   <tr><th><kbd class="osc">/jump_seconds <em>seconds</em></kbd></th>
   <td>Where <em>seconds</em> is a float (+/-) of the number of seconds to jump</td></tr>
+  <tr><th><kbd class="osc">/toggle_click</kbd></th>
+  <td>Toggle metronome click on and off</td></tr>
   <tr><th><kbd class="osc">/add_marker</kbd></th>
   <td>(adds marker to the current transport position)</td></tr>
   <tr><th><kbd class="osc">/remove_marker</kbd></th>
   <td>Removes marker at the current transport position (if there is one)</td></tr>
   <tr><th><kbd class="osc">/next_marker</kbd></th>
   <tr><th><kbd class="osc">/add_marker</kbd></th>
   <td>(adds marker to the current transport position)</td></tr>
   <tr><th><kbd class="osc">/remove_marker</kbd></th>
   <td>Removes marker at the current transport position (if there is one)</td></tr>
   <tr><th><kbd class="osc">/next_marker</kbd></th>
-  <td></td></tr>
+  <td>Move playhead to next marker</td></tr>
   <tr><th><kbd class="osc">/prev_marker</kbd></th>
   <tr><th><kbd class="osc">/prev_marker</kbd></th>
-  <td></td></tr>
+  <td>Move playhead to previous marker</td></tr>
   <tr><th><kbd class="osc">/locate <em>spos</em> <em>roll</em></kbd></th>
   <td>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</td></tr>
   <tr><th><kbd class="osc">/loop_toggle</kbd></th>
   <tr><th><kbd class="osc">/locate <em>spos</em> <em>roll</em></kbd></th>
   <td>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</td></tr>
   <tr><th><kbd class="osc">/loop_toggle</kbd></th>
-  <td></td></tr>
+  <td>Toggle loop mode on and off</td></tr>
   <tr><th><kbd class="osc">/loop_location <em>start</em> <em>end</em></kbd></th>
   <td><em>start</em> is the beginning of a loop and <em>end</em> is the
   end of a loop both are integer frame positions.</td></tr>
   <tr><th><kbd class="osc">/loop_location <em>start</em> <em>end</em></kbd></th>
   <td><em>start</em> is the beginning of a loop and <em>end</em> is the
   end of a loop both are integer frame positions.</td></tr>
+  <tr><th><kbd class="osc">/midi_panic</kbd></th>
+  <td>Ardour will send an all notes off to all midi tracks</td></tr>
   <tr><th><kbd class="osc">/cancel_all_solos</kbd></th>
   <td>Cancel All Solos/PFLs/AFLs</td></tr>
 </table>
   <tr><th><kbd class="osc">/cancel_all_solos</kbd></th>
   <td>Cancel All Solos/PFLs/AFLs</td></tr>
 </table>
+<p>
+  New for Ardour 5.9.
+</p>
+<table class="dl">
+  <tr><th><kbd class="osc">/scrub <em>delta</em></kbd></th>
+  <td>Where <em>delta</em> is a float indicating forward or reverse movement.
+  See <a href="@@osc58-jog-modes#scrub">OSC Scrub Modes</a></td></tr> <!--#scrub-->
+  <tr><th><kbd class="osc">/jog <em>delta</em></kbd></th>
+  <td>Where <em>delta</em> is a float indicating forward or reverse movement</td></tr>
+  <tr><th><kbd class="osc">/jog/mode <em>mode</em></kbd></th>
+  <td>Where <em>mode</em> is an int from 0 to 7 indicating what the <em>/jog</em>
+  command controls. See <a href="@@osc58-jog-modes">
+  OSC Jog Modes</a></td></tr>
+</table>
+
+<h4>Recording control</h4>
+<table class="dl">
+  <tr><th><kbd class="osc">/toggle_punch_in</kbd></th>
+  <td></td></tr>
+  <tr><th><kbd class="osc">/toggle_punch_out</kbd></th>
+  <td></td></tr>
+  <tr><th><kbd class="osc">/rec_enable_toggle</kbd></th>
+  <td>Toggles master record enable</td></tr>
+</table>
 
 <h4>Transport Information</h4>
 <table class="dl">
 
 <h4>Transport Information</h4>
 <table class="dl">
@@ -248,32 +317,34 @@ here</em>"/&gt;</kbd>
   operation)</td></tr>
 </table>
 
   operation)</td></tr>
 </table>
 
-<h4>Recording control</h4>
-<table class="dl">
-  <tr><th><kbd class="osc">/toggle_punch_in</kbd></th>
-  <td></td></tr>
-  <tr><th><kbd class="osc">/toggle_punch_out</kbd></th>
-  <td></td></tr>
-  <tr><th><kbd class="osc">/rec_enable_toggle</kbd></th>
-  <td></td></tr>
-</table>
-
 <h4>Master and Monitor strip control</h4>
 <table class="dl">
   <tr><th><kbd class="osc">/master/gain <em>dB</em></kbd></th>
 <h4>Master and Monitor strip control</h4>
 <table class="dl">
   <tr><th><kbd class="osc">/master/gain <em>dB</em></kbd></th>
-  <td>See gain in strips</td></tr>
+  <td>dB is a float indicating the desired gain in dB</td></tr>
   <tr><th><kbd class="osc">/master/fader  <em>position</em></kbd></th>
   <tr><th><kbd class="osc">/master/fader  <em>position</em></kbd></th>
-  <td>See fader in strips</td></tr>
+  <td>position is a float between 0 and 1 setting the desired position of the fader</td></tr>
+  <tr><th><kbd class="osc">/master/db_delta <em>delta</em></kbd></th>
+  <td>where <em>delta</em> is a float that will increase or decrease the gain of master by the amount of the delta. (Ardour 5.11+)</td></tr>
   <tr><th><kbd class="osc">/master/trimdB <em>dB</em></kbd></th>
   <tr><th><kbd class="osc">/master/trimdB <em>dB</em></kbd></th>
-  <td>see trimdb in strips</td></tr>
+  <td>dB is a float from -20 to +20 representing the desired trim gain in dB</td></tr>
   <tr><th><kbd class="osc">/master/pan_stereo_position <em>position</em></kbd></th>
   <tr><th><kbd class="osc">/master/pan_stereo_position <em>position</em></kbd></th>
-  <td>See pan_stereo_position in strips</td></tr>
-  <tr><th><kbd class="osc">/master/mute  <em>yn</em></kbd></th>
-  <td>See mute in strips</td></tr>
+  <td>position is a float from 0 to 1 representing the desired pan position</td></tr>
+  <tr><th><kbd class="osc">/master/mute  <em>key</em></kbd></th>
+  <td>key is an optional float 1 representing a master bus select</td></tr>
+  <tr><th><kbd class="osc">/master/select  <em>state</em></kbd></th>
+  <td>state is an int of o or 1 representing the desired mute state</td></tr>
   <tr><th><kbd class="osc">/monitor/gain <em>dB</em></kbd></th>
   <tr><th><kbd class="osc">/monitor/gain <em>dB</em></kbd></th>
-  <td>See gain in strips</td></tr>
+  <td>dB is a float indicating the desired gain in dB</td></tr>
   <tr><th><kbd class="osc">/monitor/fader  <em>position</em></kbd></th>
   <tr><th><kbd class="osc">/monitor/fader  <em>position</em></kbd></th>
-  <td>See fader in strips</td></tr>
+  <td>position is a float between 0 and 1 setting the desired position of the fader</td></tr>
+  <tr><th><kbd class="osc">/monitor/db_delta <em>delta</em></kbd></th>
+  <td>where <em>delta</em> is a float that will increase or decrease the gain of monitor by the amount of the delta. (Ardour 5.11+)</td></tr>
+  <tr><th><kbd class="osc">/monitor/mute  <em>state</em></kbd></th>
+  <td>state is an int of 0 or 1 where 1 is muted</td></tr>
+  <tr><th><kbd class="osc">/monitor/dim  <em>state</em></kbd></th>
+  <td>state is an int of 0 or 1 where 1 is dimmed</td></tr>
+  <tr><th><kbd class="osc">/monitor/mono  <em>state</em></kbd></th>
+  <td>state is an int of 0 or 1 where 1 is mono mode</td></tr>
 </table>
 
 <h3>Track specific operations</h3>
 </table>
 
 <h3>Track specific operations</h3>
@@ -296,10 +367,15 @@ here</em>"/&gt;</kbd>
   param should be a float even if an int is required below.
 </p>
 <table class="dl">
   param should be a float even if an int is required below.
 </p>
 <table class="dl">
-  <tr><th><kbd class="osc">/bank_up </kbd></th>
+  <tr><th><kbd class="osc">/bank_up</kbd></th>
   <td>Change bank to the next higher bank.</td></tr>
   <td>Change bank to the next higher bank.</td></tr>
+  <tr><th><kbd class="osc">/bank_up <em>delta</em></kbd></th>
+  <td>Where <em>delta</em> is a float of 1 to bank up and -1 is bank down for use with an encoder (Ardour 5.11+)</td></tr>
   <tr><th><kbd class="osc">/bank_down </kbd></th>
   <td>Change bank to the next lower bank.</td></tr>
   <tr><th><kbd class="osc">/bank_down </kbd></th>
   <td>Change bank to the next lower bank.</td></tr>
+  <tr><th><kbd class="osc">/use_group <em>state</em></kbd></th>
+  <td>Where <em>state</em> is a float of 1 to use group or 0 to not use group.
+  <a href="@@osc58-feedback-and-strip-types-values#use-group">more info on use_group</a></td></tr>
   <tr><th><kbd class="osc">/strip/mute <em>ssid</em> <em>mute_st</em></kbd></th>
   <td>where <em>mute_st</em> is a bool/int representing the desired mute state of the track</td></tr>
   <tr><th><kbd class="osc">/strip/solo <em>ssid</em> <em>solo_st</em></kbd></th>
   <tr><th><kbd class="osc">/strip/mute <em>ssid</em> <em>mute_st</em></kbd></th>
   <td>where <em>mute_st</em> is a bool/int representing the desired mute state of the track</td></tr>
   <tr><th><kbd class="osc">/strip/solo <em>ssid</em> <em>solo_st</em></kbd></th>
@@ -323,6 +399,14 @@ here</em>"/&gt;</kbd>
   <td>where <em>gain</em> is a float ranging from -193 to 6 representing the desired gain of the track in dB.</td></tr>
   <tr><th><kbd class="osc">/strip/fader <em>ssid</em>  <em>position</em></kbd></th>
   <td>where <em>position</em> is a float ranging from 0 to 1 representing the fader control position.</td></tr>
   <td>where <em>gain</em> is a float ranging from -193 to 6 representing the desired gain of the track in dB.</td></tr>
   <tr><th><kbd class="osc">/strip/fader <em>ssid</em>  <em>position</em></kbd></th>
   <td>where <em>position</em> is a float ranging from 0 to 1 representing the fader control position.</td></tr>
+  <tr><th><kbd class="osc">/strip/db_delta <em>ssid</em>  <em>delta</em></kbd></th>
+  <td>where <em>delta</em> is a float that will increase or decrease the gain of a track by the amount of the delta. (Ardour 5.11+)</td></tr>
+  <tr><th><kbd class="osc">/strip/*/automation <em>ssid</em>  <em>mode</em></kbd></th>
+  <td>where <em>mode</em> is an int ranging from 0 to 3 representing the desired automation mode for the control.
+  <a href="@@osc58-automation">See OSC Automation.</a></td></tr>
+  <tr><th><kbd class="osc">/strip/*/touch  <em>ssid</em> <em>state</em></kbd></th>
+  <td>where <em>state</em> is an int of 1 for touched and 0 for released.
+  <a href="@@osc58-automation">See OSC Automation.</a></td></tr>
   <tr><th><kbd class="osc">/strip/trimdB <em>ssid</em>  <em>trim_db</em></kbd></th>
   <td>where <em>trim_db</em> is a float ranging from -20 to 20 representing the desired trim of the track in dB.</td></tr>
   <tr><th><kbd class="osc">/strip/pan_stereo_position <em>ssid</em> <em>position</em></kbd></th>
   <tr><th><kbd class="osc">/strip/trimdB <em>ssid</em>  <em>trim_db</em></kbd></th>
   <td>where <em>trim_db</em> is a float ranging from -20 to 20 representing the desired trim of the track in dB.</td></tr>
   <tr><th><kbd class="osc">/strip/pan_stereo_position <em>ssid</em> <em>position</em></kbd></th>
@@ -372,7 +456,7 @@ here</em>"/&gt;</kbd>
 <p class="note">
   Selected strip operations are complex enough for their own page.
   Please read: <a
 <p class="note">
   Selected strip operations are complex enough for their own page.
   Please read: <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/selection-considerations-in-osc/">
+  href="@@osc58-selection-and-expansion-considerations">
   Selection Considerations in OSC.</a> This is most important if more
   than one OSC surface is being used with Ardour.
 </p>
   Selection Considerations in OSC.</a> This is most important if more
   than one OSC surface is being used with Ardour.
 </p>
@@ -429,6 +513,14 @@ here</em>"/&gt;</kbd>
   <td>Where <em>gain</em> is a float ranging from -193 to 6 representing the desired gain of the track in dB.</td></tr>
   <tr><th><kbd class="osc">/select/fader <em>position</em></kbd></th>
   <td>Where <em>position</em> is an float ranging from 0 to 1 representing the fader control position.</td></tr>
   <td>Where <em>gain</em> is a float ranging from -193 to 6 representing the desired gain of the track in dB.</td></tr>
   <tr><th><kbd class="osc">/select/fader <em>position</em></kbd></th>
   <td>Where <em>position</em> is an float ranging from 0 to 1 representing the fader control position.</td></tr>
+  <tr><th><kbd class="osc">/select/db_delta <em>delta</em></kbd></th>
+  <td>where <em>delta</em> is a float that will increase or decrease the gain of the selected track by the amount of the delta. (Ardour 5.11+)</td></tr>
+  <tr><th><kbd class="osc">/select/*/automation  <em>mode</em></kbd></th>
+  <td>where <em>mode</em> is an int ranging from 0 to 3 representing the desired automation mode for the control.
+  <a href="@@osc58-automation">See OSC Automation.</a></td></tr>
+  <tr><th><kbd class="osc">/select/*/touch  <em>state</em></kbd></th>
+  <td>where <em>state</em> is an int of 1 for touched and 0 for released.
+  <a href="@@osc58-automation">See OSC Automation.</a></td></tr>
   <tr><th><kbd class="osc">/select/trimdB <em>trim_db</em></kbd></th>
   <td>where <em>trim_db</em> is a float ranging from -20 to 20 representing the desired trim of the track in dB.</td></tr>
   <tr><th><kbd class="osc">/select/pan_stereo_position <em>position</em></kbd></th>
   <tr><th><kbd class="osc">/select/trimdB <em>trim_db</em></kbd></th>
   <td>where <em>trim_db</em> is a float ranging from -20 to 20 representing the desired trim of the track in dB.</td></tr>
   <tr><th><kbd class="osc">/select/pan_stereo_position <em>position</em></kbd></th>
@@ -449,8 +541,19 @@ here</em>"/&gt;</kbd>
   ranging from 0 to 1 representing the desired position for the send as a fader</td></tr>
   <tr><th><kbd class="osc">/select/send_enable", <em>sendid</em> <em>state</em></kbd></th>
   <td>where <em>sendid</em> = nth_send, <em>state</em> is 1 for enabled and 0 for disabled</td></tr>
   ranging from 0 to 1 representing the desired position for the send as a fader</td></tr>
   <tr><th><kbd class="osc">/select/send_enable", <em>sendid</em> <em>state</em></kbd></th>
   <td>where <em>sendid</em> = nth_send, <em>state</em> is 1 for enabled and 0 for disabled</td></tr>
+  <tr><th><kbd class="osc">/select/send_page", <em>delta</em></kbd></th>
+  <td>where <em>delta</em> is an int or float selecting another send as a delta from the current send.</td></tr>
+  <tr><th><kbd class="osc">/select/plugin_page", <em>delta</em></kbd></th>
+  <td>where <em>delta</em> is an int or float selecting another plugin parameter as a delta from the current parameter.</td></tr>
+  <tr><th><kbd class="osc">/select/plugin/parameter", <em>plugin</em> <em>parameter</em> <em>value</em></kbd></th>
+  <td>where <em>plugin</em> = nth plugin, <em>parameter</em> = nth parameter and <em>value</em> is a float from 0 to 1</td></tr>
 </table>
 </table>
-
+<p class="note">
+       <code>/select/send_page</code> and <code>/select/plugin_page</code> may be used
+       with a page up and page down switch by using a switch with a value of <code>1</code>
+       for page up and a switch with a value of <code>-1</code> for page down. An encoder
+       can be used as well. (these commands were added in Ardour version 5.10)
+</p>
 <h3>Menu actions</h3>
 <p>
   Every single menu item in Ardour's GUI is accessible via OSC. There is
 <h3>Menu actions</h3>
 <p>
   Every single menu item in Ardour's GUI is accessible via OSC. There is
@@ -459,21 +562,23 @@ here</em>"/&gt;</kbd>
 <kbd class="osc">/access_action <em>action_name</em></kbd>
 <p>
   As of Ardour 5.9, <em>access_action</em> can be inlined for control surfaces
 <kbd class="osc">/access_action <em>action_name</em></kbd>
 <p>
   As of Ardour 5.9, <em>access_action</em> can be inlined for control surfaces
-  that are unable to send string parameters. <em>Action_name</em> is composed of
+  that are unable to send string parameters. The <em>action_name</em> is composed of
   a group and an action in the form of <em>Group/action</em> which fits very well
   a group and an action in the form of <em>Group/action</em> which fits very well
-  an OSC path extension:
+  as an OSC path extension:
 </p>
 <kbd class="osc">/access_action/<em>Group/action</em> <em>key_pressed</em></kbd>
 <p>
   The key_pressed is optional, but if present is a float 1 or 0 where the
   command is ignored if key_pressed is  0.
 </p>
 </p>
 <kbd class="osc">/access_action/<em>Group/action</em> <em>key_pressed</em></kbd>
 <p>
   The key_pressed is optional, but if present is a float 1 or 0 where the
   command is ignored if key_pressed is  0.
 </p>
+<p class="note">
+  Some of the Menu Actions duplicate other OSC commands. In all cases it is better
+  to use the OSC commands rather than the Menu Actions if possible as the OSC commands
+  are more direct.
+</p>
 <p>
 <p>
-  The <a
-  href="/appendix/menu-actions-list/">
-  list of actions</a> shows all available values of <em>action-name</em> as of
-  June 2016 for Ardour 5.0.pre0.1. You can get the current list at any
-  time by running Ardour with the -b flag.
+  The <a href="@@list-of-menu-actions"> list of actions</a>
+  shows all available values of <em>action-name</em> for Ardour.
 </p>
 
 <!--p> These listed below are still working but may in the future not work
 </p>
 
 <!--p> These listed below are still working but may in the future not work
@@ -482,8 +587,6 @@ actions can now be "inlined", all known OSC controllers can call them directly.
 Any of these actions that can be moved to session->action calls may reapear.
 </p>
 
 Any of these actions that can be moved to session->action calls may reapear.
 </p>
 
-  <!--tr><th><kbd class="osc">/toggle_roll</kbd></th>
-  <td>Toggles between play and stop</td></tr>
   <tr><th><kbd class="osc">/mark_in</kbd></th>
   <td>Marks the begining of a range at the current transport position</td></tr>
   <tr><th><kbd class="osc">/mark_out</kbd></th>
   <tr><th><kbd class="osc">/mark_in</kbd></th>
   <td>Marks the begining of a range at the current transport position</td></tr>
   <tr><th><kbd class="osc">/mark_out</kbd></th>
@@ -492,16 +595,12 @@ Any of these actions that can be moved to session->action calls may reapear.
   <td>Uses edit range as loop range</td></tr>
   <tr><th><kbd class="osc">/set_session_range</kbd></th>
   <td>Uses edit range as session range</td></tr>
   <td>Uses edit range as loop range</td></tr>
   <tr><th><kbd class="osc">/set_session_range</kbd></th>
   <td>Uses edit range as session range</td></tr>
-  <tr><th><kbd class="osc">/toggle_click</kbd></th>
-  <td></td></tr>
-  <tr><th><kbd class="osc">/midi_panic</kbd></th>
-  <td>Ardour will send an all notes off to all midi tracks</td></tr>
   <tr><th><kbd class="osc">/quick_snapshot_switch</kbd></th>
   <td>Take a snapshot and switch to new version</td></tr>
   <tr><th><kbd class="osc">/quick_snapshot_stay</kbd></th>
   <td>Take a snapshot and keep working on this version</td></tr>
   <tr><th><kbd class="osc">/fit_*_track(s)</kbd></th>
   <tr><th><kbd class="osc">/quick_snapshot_switch</kbd></th>
   <td>Take a snapshot and switch to new version</td></tr>
   <tr><th><kbd class="osc">/quick_snapshot_stay</kbd></th>
   <td>Take a snapshot and keep working on this version</td></tr>
   <tr><th><kbd class="osc">/fit_*_track(s)</kbd></th>
-  <td>Were <em>*</em> is one of 1, 2, 4, 8, 16, 32 or all. Fits this
+  <td>Where <em>*</em> is one of 1, 2, 4, 8, 16, 32 or all. Fits this
   many tracks in editor window. (add s for more than 1)</td></tr>
   <tr><th><kbd class="osc">/zoom_*</kbd></th>
   <td>Zoom editor to include <em>*</em> where <em>*</em> is 100_ms, 1_sec,
   many tracks in editor window. (add s for more than 1)</td></tr>
   <tr><th><kbd class="osc">/zoom_*</kbd></th>
   <td>Zoom editor to include <em>*</em> where <em>*</em> is 100_ms, 1_sec,
@@ -521,7 +620,5 @@ Any of these actions that can be moved to session->action calls may reapear.
   <tr><th><kbd class="osc">/set_punch_range</kbd></th>
   <td>Uses edit range as punch range</td></tr>
   <dt><kbd class="osc">/toggle_all_rec_enables</kbd></th>
   <tr><th><kbd class="osc">/set_punch_range</kbd></th>
   <td>Uses edit range as punch range</td></tr>
   <dt><kbd class="osc">/toggle_all_rec_enables</kbd></th>
-  <td>(toggles all tracks' recording state)</dd>
-  <tr><th><kbd class="osc">/stop_forget</kbd></th>
-  <td>Stop transport and delete/forget last take</td></tr-->
+  <td>(toggles all tracks' recording state)</dd-->