]> Shamusworld >> Repos - ardour-manual/blobdiff - include/osc58-controlling-ardour-with-osc.html
OSC: expand new /set_surface function.
[ardour-manual] / include / osc58-controlling-ardour-with-osc.html
index f31f63991b07ad1d6e0972908a47151d4e64cd68..ea395f6569d7cd658cbb599bfcdabd9e6fe13b50 100644 (file)
@@ -79,10 +79,12 @@ here</em>"/&gt;</kbd>
 </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>
@@ -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>
-  <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>
+<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
@@ -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>
+<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>
@@ -239,7 +276,14 @@ here</em>"/&gt;</kbd>
 </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>
@@ -344,6 +388,12 @@ 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>
+  <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>
@@ -450,6 +500,12 @@ 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>
+  <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>
@@ -470,8 +526,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>
+  <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>
-
+<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