]> Shamusworld >> Repos - ardour-manual/blobdiff - include/osc58-controlling-ardour-with-osc.html
OSC: add /scrub
[ardour-manual] / include / osc58-controlling-ardour-with-osc.html
index e4e6d3e55c59e9e5303dd2b468f029f14493e5e6..f31f63991b07ad1d6e0972908a47151d4e64cd68 100644 (file)
@@ -13,7 +13,7 @@
   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>
 
@@ -46,7 +46,7 @@ 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
-  href="/using-control-surfaces/controlling-ardour-with-osc/feedback-in-osc/">
+  href="@@osc58-feedback">
   OSC feedback In Ardour.</a>
 </p>
 
@@ -74,7 +74,7 @@ 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
-  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:
@@ -128,7 +128,7 @@ here</em>"/&gt;</kbd>
   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">
@@ -140,7 +140,7 @@ here</em>"/&gt;</kbd>
   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>
@@ -173,7 +173,7 @@ here</em>"/&gt;</kbd>
 <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>
 
@@ -181,7 +181,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
-       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>
@@ -189,57 +189,68 @@ here</em>"/&gt;</kbd>
 <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">
@@ -260,62 +271,30 @@ here</em>"/&gt;</kbd>
   <tr><th><kbd class="osc">/save_state</kbd></th>
   <td>(this is the regular <kbd class="menu">Session &gt; 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>
@@ -414,7 +393,7 @@ here</em>"/&gt;</kbd>
 <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>
@@ -500,10 +479,63 @@ here</em>"/&gt;</kbd>
   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-->