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>
<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
- 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>
</p>
<p>If /set_surface is not sent, the default values are used:
<ul>
- <li><em>Bank Size</em>: 0—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—All off.</li>
- <li><em>Fader Mode</em>: 0—gain in dB (not relevant with feedback off)</li>
+ <li><em>Bank Size</em>: 0— No banking (or infinite bank size).</li>
+ <li><em>Strip Types</em>: 0— All strip types except hidden and special.</li>
+ <li><em>Feedback</em>: 0— All off.</li>
+ <li><em>Fader Mode</em>: 0— gain in dB (not relevant with feedback off)</li>
+ <li><em>Send Page Size</em>: 0— No Send Paging.</li>
+ <li><em>Plugin Page Size</em>: 0— No Plugin Paging.</li>
</ul>
</p>
<p>
</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
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>
<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>
<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">
<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/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>
+ <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>
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>
+ <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">/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>
<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>
<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>
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
<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,
<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-->
+