]> Shamusworld >> Repos - ardour-manual/blobdiff - include/osc58-controlling-ardour-with-osc.html
Converts <img> to <figure> where it makes sense
[ardour-manual] / include / osc58-controlling-ardour-with-osc.html
index 3bbe7003ea4d0d69baa151e0cfdc80bcaa3d370a..e6ba85f670988629cbf10d0509b16521d6d5f03c 100644 (file)
@@ -14,7 +14,7 @@
   to gain controls. If you are using an Ardour version of 4.7 or less,
   please read <a
   href="@@osc-control-for-ardour-4.7-and-prior">
   to gain controls. If you are using an Ardour version of 4.7 or less,
   please read <a
   href="@@osc-control-for-ardour-4.7-and-prior">
-  Osc control in ardour 4.7 and prior.</a>
+  Osc control in Ardour 4.7 and prior.</a>
 </p>
 
 <p>
 </p>
 
 <p>
@@ -53,9 +53,9 @@ here</em>"/&gt;</kbd>
 <h2>Control Surface Set Up</h2>
 
 <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>
@@ -79,10 +79,12 @@ here</em>"/&gt;</kbd>
 </p>
 <p>If /set_surface is not sent, the default values are used:
   <ul>
 </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
@@ -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="@@osc58-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,6 +186,25 @@ 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>
 
 <h2>Querying Ardour for information</h2>
 <p>
@@ -240,7 +277,7 @@ here</em>"/&gt;</kbd>
 <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.
 <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="/using-control-surfaces/controlling-ardour-with-osc/jog-modes/#scrub">OSC Scrub Modes</a></td></tr>
+  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>
   <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>
@@ -286,16 +323,22 @@ here</em>"/&gt;</kbd>
   <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>
   <td>position is a float between 0 and 1 setting the desired position of the fader</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>
   <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>
   <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>
   <td>position is a float from 0 to 1 representing the desired pan position</td></tr>
   <tr><th><kbd class="osc">/master/trimdB <em>dB</em></kbd></th>
   <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>
   <td>position is a float from 0 to 1 representing the desired pan position</td></tr>
-  <tr><th><kbd class="osc">/master/mute  <em>state</em></kbd></th>
+  <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>
   <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>
   <td>position is a float between 0 and 1 setting the desired position of the fader</td></tr>
   <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>
   <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>
   <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>
   <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>
@@ -324,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>
@@ -351,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>
@@ -457,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>
@@ -477,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
@@ -525,7 +600,7 @@ Any of these actions that can be moved to session->action calls may reapear.
   <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_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,
@@ -546,3 +621,4 @@ Any of these actions that can be moved to session->action calls may reapear.
   <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-->
   <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-->
+