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/">
+ href="@@osc-control-for-ardour-4.7-and-prior">
Osc control in ardour 4.7 and prior.</a>
</p>
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>
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:
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">
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">
Calculating Feedback and Strip-types Values.</a></p>
<p class="note">
Feedback can also be set with <em>/set_surface/feedback feedback.</em>
<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>
<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>
<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>
- <td></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">/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>
+ <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>
- <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>
- <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>
- <td></td></tr>
+ <td>Move playhead to start of session</td></tr>
<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">/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">/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>
- <td>Marks the end of a range at the current transport position</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>
- <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>
- <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">/set_loop_range</kbd></th>
- <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">/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</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">
<tr><th><kbd class="osc">/save_state</kbd></th>
<td>(this is the regular <kbd class="menu">Session > Save</kbd>
operation)</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>
- <td>Were <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,
- 10_sec, 1_min, 5_min, 10_min or to_session</td></tr>
- <tr><th><kbd class="osc">/temporal_zoom_in</kbd></th>
- <td>Zoom editor in to show less time</td></tr>
- <tr><th><kbd class="osc">/temporal_zoom_out</kbd></th>
- <td>Zoom editor out to show more time</td></tr>
- <tr><th><kbd class="osc">/scroll_up_1_track</kbd></th>
- <td>Scroll the editor pane up 1 track</td></tr>
- <tr><th><kbd class="osc">/scroll_up_1_page</kbd></th>
- <td>Scroll the editor pane up 1 page</td></tr>
- <tr><th><kbd class="osc">/scroll_dn_1_track</kbd></th>
- <td>Scroll the editor pane down 1 track</td></tr>
- <tr><th><kbd class="osc">/scroll_dn_1_page</kbd></th>
- <td>Scroll the editor pane down 1 page</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">/set_punch_range</kbd></th>
- <td>Uses edit range as punch range</td></tr>
- <tr><th><kbd class="osc">/rec_enable_toggle</kbd></th>
- <td></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>
</table>
<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>
- <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/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>
- <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>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>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>
- <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/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>
<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>
with the mouse (or keyboard):</p>
<kbd class="osc">/access_action <em>action_name</em></kbd>
<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.
- </p>
+ As of Ardour 5.9, <em>access_action</em> can be inlined for control surfaces
+ 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
+ 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 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>
+ 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
+any more. All of them are just short cuts to a menu action and since menu
+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>
+
+ <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>
+ <td>Marks the end of a range at the current transport position</td></tr>
+ <tr><th><kbd class="osc">/set_loop_range</kbd></th>
+ <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">/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
+ 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,
+ 10_sec, 1_min, 5_min, 10_min or to_session</td></tr>
+ <tr><th><kbd class="osc">/temporal_zoom_in</kbd></th>
+ <td>Zoom editor in to show less time</td></tr>
+ <tr><th><kbd class="osc">/temporal_zoom_out</kbd></th>
+ <td>Zoom editor out to show more time</td></tr>
+ <tr><th><kbd class="osc">/scroll_up_1_track</kbd></th>
+ <td>Scroll the editor pane up 1 track</td></tr>
+ <tr><th><kbd class="osc">/scroll_up_1_page</kbd></th>
+ <td>Scroll the editor pane up 1 page</td></tr>
+ <tr><th><kbd class="osc">/scroll_dn_1_track</kbd></th>
+ <td>Scroll the editor pane down 1 track</td></tr>
+ <tr><th><kbd class="osc">/scroll_dn_1_page</kbd></th>
+ <td>Scroll the editor pane down 1 page</td></tr>
+ <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-->