X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fosc58-controlling-ardour-with-osc.html;h=a46d80d9eaadceee76d451ada9ec55a7f2a74f3e;hb=7d0008ace8d95c5b31cb18c862b9322a2d28ed6a;hp=1c3fa517d6981f34da84b5d251e8ebdb17fd82f1;hpb=0d4be5fdfb660d75853e46019e4a5acf3816363b;p=ardour-manual diff --git a/include/osc58-controlling-ardour-with-osc.html b/include/osc58-controlling-ardour-with-osc.html index 1c3fa51..a46d80d 100644 --- a/include/osc58-controlling-ardour-with-osc.html +++ b/include/osc58-controlling-ardour-with-osc.html @@ -10,13 +10,44 @@ Note: OSC control has changed dramatically since Ardour 4.7. The Path structure has been completely redone, Banking has been introduced, The controller is now able to tell Ardour what kind of feedback it can - 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, + work with (including bank size) and the gain controls have new math + calculations. If you are using an Ardour version of 4.7 or less, please read - 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.

- +

Ardour is probably one of the most OSC-controllable audio applications around, but as with all OSC-controllable apps, you can't do much without @@ -39,23 +70,24 @@ here"/>

Ardour sends any feedback to the port and address that sent any - feedback request. The port does not have to match Ardour's port. In + feedback request or to a port set manually in the setup dialog. + The port does not have to match Ardour's port. In fact it is better not to. This means that Ardour can deal with more than one controller at a time. The two controllers can bank independently and even use different math for faders. This could be 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 + href="@@osc58-feedback"> OSC feedback In Ardour.

-

Control Surface Set Up

+

Control Surface Set Up

- 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.

@@ -65,36 +97,54 @@ here"/> strip's controls are sent (or refreshed) as well. This will also refresh the Master feedback setup.

-

- Surface Port Setting is available in the OSC GUI. -

As of Ardour 5.1, There is now a GUI setup in response to those using tablets with applications such as touchOSC or AndrOSC who need to be 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 + href="@@osc58-using-the-setup-dialog"> Ardour's Setup Dialog.

If /set_surface is not sent, the default values are used:

These values give the same behaviour as prior versions of Ardour. (or the closest possible)

-
-
/set_surface bank_size strip_types - feedback fadermode
-
- See below for an explanation of each parameter. -
-
+ + /set_surface bank_size strip_types + feedback fadermode send_page_size + plugin_page_size port linkset linkid +

+ See below for an explanation of each parameter. +

+

+ The /set_surface message may have all values except the last in-line. + For example: /set_surface/8/31/8403/0/8 i 16 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. +

+

+ 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. +

bank_size

Bank Size is the number of channel strips the controller supports @@ -128,7 +178,7 @@ here"/> strips.

Please see: + href="@@osc58-feedback-and-strip-types-values"> Calculating Feedback and Strip-types Values.

@@ -140,7 +190,7 @@ here"/> then adding all those numbers together for a value to send.

Please see: + href="@@osc58-feedback-and-strip-types-values#feedback"> Calculating Feedback and Strip-types Values.

Feedback can also be set with /set_surface/feedback feedback. @@ -148,13 +198,23 @@ here"/>

gainmode

- Gainmode is a an int that acts as a bool: + Gainmode is an int:

@@ -168,160 +228,226 @@ here"/>

Gain mode can also be set with /set_surface/gainmode gainmode.

- +

send_page_size

+

+ 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) +

+

+ Send page size can also be set with /set_surface/send_page_size send_page_size. +

+

plugin_page_size

+

+ 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) +

+

+ Plugin page size can also be set with /set_surface/plugin_page_size plugin_page_size. +

+

port

+

+ The port the controller would like to receive it's feedback on. Starting + with Ardour 6.0, the surface can directly set the manual port or set + it's host to auto port mode. +

+

+ The value for port can be 0 for auto port mode or any + port value above 1024. It is suggested not to use Ardour's port number + of 3819 as controllers on the same machine that try to use the same + port will fail. +

+

+ If the surface does not + tell Ardour which port to use, the default is 8000 or the setting + set up in the OSC setup GUI. There can only be one port setting per + host. If that setting is auto, than more than one + controller can be run on that host, but if a manual port is set there + can only be one. In the case of auto mode, the control + surface must set it's receive port to be the same as it's send port. + If that is not possible, then manual port mode must be used. This + allows a smart controller to use a number of ports on the same ip while + a smartphone set up as a personal monitor control can use the default + manual port. +

+

+ The host's port can also be set with /set_surface/port port. +

+

+ Changing the port will remove feedback from a device on the same host + using a different port. +

+

Link set and Link ID

+

+ Please see Linking Surfaces + For more information. +

Querying Ardour for information

The control Surface may wish to control the type a frequency of updates it receives. It can do this with querying commands. See: + href="@@osc58-querying-ardour"> Querying Ardour with OSC.

- +

Using more than one surface

+

+ Ardour can use more than one surface at a time that both control the + same controls in Ardour. It is also possible to use two surfaces in + concert with each other. See: + Linking Surfaces for more information. +

List of OSC messages

Parameter types show how the value will be used. However, they may be sent as a different type if needed, see: + href="@@osc58-parameter-types"> Parameter Types in OSC.

-

Master or Global messages

+

Master or Global messages

-

Transport Control

-
-
/transport_stop
-
-
/transport_play
-
-
/toggle_roll
-
Toggles between play and stop
-
/set_transport_speed s
-
where s is a float ranging from -8.0f to 8.0f
-
/ffwd
-
-
/rewind
-
-
/goto_start
-
-
/goto_end
-
-
/jump_bars bars
-
Where bars is a float (+/-) of the number of bars to jump
-
/jump_seconds seconds
-
Where seconds is a float (+/-) of the number of seconds to jump
-
/add_marker
-
(adds marker to the current transport position)
-
/remove_marker
-
Removes marker at the current transport position (if there is one)
-
/mark_in
-
Marks the begining of a range at the current transport position
-
/mark_out
-
Marks the end of a range at the current transport position
-
/next_marker
-
-
/prev_marker
-
-
/locate spos roll
-
where spos is the target position in samples and +

Transport Control

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/transport_stopStops a rolling transport
/transport_playPuts transport in play mode
/toggle_rollToggles between play and stop
/stop_forgetStop transport and delete/forget last take
/set_transport_speed speedwhere speed is a float ranging from -8.0f to 8.0f
/ffwdAdds 1.5 times to transport speed to maximum +8 times normal speed
/rewindAdds -1.5 times to transport speed to maximum -8 times normal speed
/goto_startMove playhead to start of session
/goto_endMove playhead to end of session
/jump_bars barsWhere bars is a float (+/-) of the number of bars to jump
/jump_seconds secondsWhere seconds is a float (+/-) of the number of seconds to jump
/toggle_clickToggle metronome click on and off
/marker markerWhere marker may be a float or int of the nth marker or a + string with the marker name to locate to (new Ardour 6.0). If the playhead + is at a marker and the marker is unique, the marker at the playhead + will be renamed to the string sent
/add_marker(adds marker to the current transport position)
/remove_markerRemoves marker at the current transport position (if there is one)
/next_markerMove playhead to next marker
/prev_markerMove playhead to previous marker
/locate spos rollwhere spos is the target position in samples and roll is a bool/integer defining whether you want transport - to be kept rolling or not -
/loop_toggle
-
-
/loop_location start end
-
start is the beginning of a loop and end is the - end of a loop both are integer frame positions.
-
/set_loop_range
-
Uses edit range as loop range
-
/set_session_range
-
Uses edit range as session range
-
/toggle_click
-
-
/midi_panic
-
Ardour will send an all notes off to all midi tracks
-
/cancel_all_solos
-
Cancel All Solos/PFLs/AFLs
- + to be kept rolling or not
/loop_toggleToggle loop mode on and off
/loop_location start endstart is the beginning of a loop and end is the + end of a loop both are integer frame positions.
/midi_panicArdour will send an all notes off to all midi tracks
/cancel_all_solosCancel All Solos/PFLs/AFLs
+

+ New for Ardour 5.9. +

+ + + + + + + +
/scrub deltaWhere delta is a float indicating forward or reverse movement. + See OSC Scrub Modes
/jog deltaWhere delta is a float indicating forward or reverse movement
/jog/mode modeWhere mode is an int from 0 to 7 indicating what the /jog + command controls. See + OSC Jog Modes
-

Transport Information

-
-
/transport_frame
-
Ardour sends /transport_frame current_frame
-
/transport_speed
-
Ardour sends /transport_speed speed
-
/record_enabled
-
Ardour sends /record_enabled recordenable_status
-
+

Recording control

+ + + + + + + +
/toggle_punch_in
/toggle_punch_out
/rec_enable_toggleToggles master record enable
-

Editing-related

-
-
/undo
-
-
/redo
-
-
/save_state
-
(this is the regular Session > Save - operation)
-
/quick_snapshot_switch
-
Take a snapshot and switch to new version
-
/quick_snapshot_stay
-
Take a snapshot and keep working on this version
-
/fit_*_track(s)
-
Were * is one of 1, 2, 4, 8, 16, 32 or all. Fits this - many tracks in editor window. (add s for more than 1)
-
/zoom_*
-
Zoom editor to include * where * is 100_ms, 1_sec, - 10_sec, 1_min, 5_min, 10_min or to_session
-
/temporal_zoom_in
-
Zoom editor in to show less time
-
/temporal_zoom_out
-
Zoom editor out to show more time
-
/scroll_up_1_track
-
Scroll the editor pane up 1 track
-
/scroll_up_1_page
-
Scroll the editor pane up 1 page
-
/scroll_dn_1_track
-
Scroll the editor pane down 1 track
-
/scroll_dn_1_page
-
Scroll the editor pane down 1 page
-
+

Transport Information

+ + + + + + + +
/transport_frameArdour sends /transport_frame current_frame
/transport_speedArdour sends /transport_speed speed
/record_enabledArdour sends /record_enabled recordenable_status
-

Recording control

-
-
/toggle_punch_in
-
-
/toggle_punch_out
-
-
/set_punch_range
-
Uses edit range as punch range
-
/rec_enable_toggle
-
- -
/stop_forget
-
Stop transport and delete/forget last take
-
+

Editing-related

+ + + + + + + + + +
/undo
/redo
/save_state(this is the regular Session > Save + operation)
/session_name new_nameSet session name to new_name (if new_name is legal and unique)
-

Master and Monitor strip control

-
-
/master/gain dB
-
See gain in strips
-
/master/fader position
-
See fader in strips
-
/master/trimdB dB
-
see trimdb in strips
-
/master/pan_stereo_position position
-
See pan_stereo_position in strips
-
/master/mute yn
-
See mute in strips
-
/monitor/gain dB
-
See gain in strips
-
/monitor/fader position
-
See fader in strips
-
+

Master and Monitor strip control

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
/master/gain dBdB is a float indicating the desired gain in dB
/master/fader positionposition is a float between 0 and 1 setting the desired position of the fader
/master/db_delta deltawhere delta is a float that will increase or decrease the gain of master by the amount of the delta. (Ardour 5.11+)
/master/trimdB dBdB is a float from -20 to +20 representing the desired trim gain in dB
/master/pan_stereo_position positionposition is a float from 0 to 1 representing the desired pan position
/master/mute keykey is an optional float 1 representing a master bus select
/master/select statestate is an int of o or 1 representing the desired mute state
/monitor/gain dBdB is a float indicating the desired gain in dB
/monitor/fader positionposition is a float between 0 and 1 setting the desired position of the fader
/monitor/db_delta deltawhere delta is a float that will increase or decrease the gain of monitor by the amount of the delta. (Ardour 5.11+)
/monitor/mute statestate is an int of 0 or 1 where 1 is muted
/monitor/dim statestate is an int of 0 or 1 where 1 is dimmed
/monitor/mono statestate is an int of 0 or 1 where 1 is mono mode
-

Track specific operations

+

Track specific operations

For each of the following, ssid is the Surface Strip ID for the track

+

+ As of Ardour 6.0, the user may use a subset all available strips. See: + + Making a user selected strip list. +

SSID has a different meaning than RID in Ardour version 4.7 and before. Effectively, banking is always being used and the SSID is generated on @@ -337,76 +463,102 @@ here"/> below can also be sent as /strip/command/ssid param. In this case the param should be a float even if an int is required below.

-
-
/bank_up
-
Change bank to the next higher bank.
-
/bank_down
-
Change bank to the next lower bank.
-
/strip/mute ssid mute_st
-
where mute_st is a bool/int representing the desired mute state of the track
-
/strip/solo ssid solo_st
-
where solo_st is a bool/int representing the desired solo state of the track
-
/strip/solo_iso ssid state
-
where state is a bool/int representing the desired solo isolate state of the track
-
/strip/solo_safe ssid state
-
where state is a bool/int representing the desired solo safe/lock state of the track
-
/strip/monitor_input ssid monitor_st
-
where monitor_st is a bool/int where 1 is forced input monitoring.
-
/strip/monitor_disk ssid monitor_st
-
where monitor_st is a bool/int where 1 is forced disk monitoring. When input and disk are both off, - Auto monitoring is enabled.
-
/strip/recenable ssid rec_st
-
where rec_st is a bool/int representing the desired rec state of the track
-
/strip/record_safe ssid rec_st
-
where rec_st is a bool/int representing the desired record safe state of the track
-
/strip/polarity ssid invert
-
where invert is a bool/int representing the desired polarity of the track
-
/strip/gain ssid gain
-
where gain is a float ranging from -193 to 6 representing the desired gain of the track in dB.
-
/strip/fader ssid position
-
where position is a float ranging from 0 to 1 representing the fader control position.
-
/strip/trimdB ssid trim_db
-
where trim_db is a float ranging from -20 to 20 representing the desired trim of the track in dB.
-
/strip/pan_stereo_position ssid position
-
where position is a float ranging from 0 to 1 representing the desired pan position of the track
-
/strip/pan_stereo_width ssid width
-
where width is a float ranging from 0 to 1 representing the desired pan width of the track
-
/strip/send/gain ssid sendid send_gain
-
where sendid = nth_send, send_gain is a float - ranging from -193 to +6 representing the desired gain in dB for the send
-
/strip/send/fader ssid sendid send_gain
-
where sendid = nth_send, send_gain is a float - ranging from 0 to 1 representing the desired position for the send as a fader
-
/strip/send/enable ssid sendid state
-
where sendid = nth_send, state is 1 for enabled and 0 for disabled
-
/strip/list
-
see: - Querying Ardour with OSC.
-
/strip/sends ssid
-
see: - Querying Ardour with OSC.
-
/strip/receives ssid
-
see: - Querying Ardour with OSC.
-
/strip/plugin/list ssid
-
see: - Querying Ardour with OSC.
-
/strip/plugin/descriptor ssid
-
see: - Querying Ardour with OSC.
-
/strip/plugin/reset ssid piid
-
where piid = nth Plugin, will reset all values to the plugin's original values
-
/strip/plugin/activate ssid piid
-
where piid = nth Plugin, will set the plugin's state to active
-
/strip/plugin/deactivate ssid piid
-
where piid = nth Plugin, will set the plugin's state to inactive
-
/strip/plugin/parameter ssid piid param value
-
where piid = nth Plugin, param = nth param, value - is a float ranging from 0 to 1 representing the desired parameter value
-
/strip/name ssid name
-
where name is a string for the desired name of the track
-
-

Selected Strip Operations

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/bank_upChange bank to the next higher bank.
/bank_up deltaWhere delta is a float of 1 to bank up and -1 is bank down for use with an encoder (Ardour 5.11+)
/bank_down Change bank to the next lower bank.
/use_group stateWhere state is a float of 1 to use group or 0 to not use group. + more info on use_group
/strip/spill ssid Use strips this strip is grouped with or those that feed this bus + (if this strip is a bus) or that this vca (if this is a VCA) controls. + See Spill Strips for more details
/strip/hide ssid y/nWhere y/n = 1 hide this strip, 0 for show this track. + + Hiding strips.
/strip/name ssid strip_namewhere strip_name is a string representing the desired name for the strip
/strip/group ssid group_namewhere group_name is a string representing the name of the group desired. + See groups for more details
/strip/mute ssid mute_stwhere mute_st is a bool/int representing the desired mute state of the track
/strip/solo ssid solo_stwhere solo_st is a bool/int representing the desired solo state of the track
/strip/solo_iso ssid statewhere state is a bool/int representing the desired solo isolate state of the track
/strip/solo_safe ssid statewhere state is a bool/int representing the desired solo safe/lock state of the track
/strip/monitor_input ssid monitor_stwhere monitor_st is a bool/int where 1 is forced input monitoring.
/strip/monitor_disk ssid monitor_stwhere monitor_st is a bool/int where 1 is forced disk monitoring. When input and disk are both off, + Auto monitoring is enabled.
/strip/recenable ssid rec_stwhere rec_st is a bool/int representing the desired rec state of the track
/strip/record_safe ssid rec_stwhere rec_st is a bool/int representing the desired record safe state of the track
/strip/polarity ssid invertwhere invert is a bool/int representing the desired polarity of the track
/strip/gain ssid gainwhere gain is a float ranging from -193 to 6 representing the desired gain of the track in dB.
/strip/fader ssid positionwhere position is a float ranging from 0 to 1 representing the fader control position.
/strip/db_delta ssid deltawhere delta is a float that will increase or decrease the gain of a track by the amount of the delta. (Ardour 5.11+)
/strip/*/automation ssid modewhere mode is an int ranging from 0 to 3 representing the desired automation mode for the control. + See OSC Automation.
/strip/*/touch ssid statewhere state is an int of 1 for touched and 0 for released. + See OSC Automation.
/strip/trimdB ssid trim_dbwhere trim_db is a float ranging from -20 to 20 representing the desired trim of the track in dB.
/strip/pan_stereo_position ssid positionwhere position is a float ranging from 0 to 1 representing the desired pan position of the track
/strip/pan_stereo_width ssid widthwhere width is a float ranging from 0 to 1 representing the desired pan width of the track
/strip/send/gain ssid sendid send_gainwhere sendid = nth_send, send_gain is a float + ranging from -193 to +6 representing the desired gain in dB for the send
/strip/send/fader ssid sendid send_gainwhere sendid = nth_send, send_gain is a float + ranging from 0 to 1 representing the desired position for the send as a fader
/strip/send/enable ssid sendid statewhere sendid = nth_send, state is 1 for enabled and 0 for disabled
/strip/list see: + Querying Ardour with OSC.
/strip/sends ssidsee: + Querying Ardour with OSC.
/strip/receives ssidsee: + Querying Ardour with OSC.
/strip/plugin/list ssidsee: + Querying Ardour with OSC.
/strip/plugin/descriptor ssidsee: + Querying Ardour with OSC.
/strip/plugin/reset ssid piid where piid = nth Plugin, will reset all values to the plugin's original values
/strip/plugin/activate ssid piid where piid = nth Plugin, will set the plugin's state to active
/strip/plugin/deactivate ssid piid where piid = nth Plugin, will set the plugin's state to inactive
/strip/plugin/parameter ssid piid param valuewhere piid = nth Plugin, param = nth param, value + is a float ranging from 0 to 1 representing the desired parameter value
/strip/name ssid namewhere name is a string for the desired name of the track
+

Selected Strip Operations

New for Ardour 5, A whole set of operations that work on the selected or expanded strip. @@ -414,7 +566,7 @@ here"/>

Selected strip operations are complex enough for their own page. Please read: + href="@@osc58-selection-and-expansion-considerations"> Selection Considerations in OSC. This is most important if more than one OSC surface is being used with Ardour.

@@ -440,70 +592,286 @@ here"/>

-
-
/strip/select ssid y/n
-
Where y/n = 1 for select. Sets both GUI select and strip - to expanded mode. (0 is ignored)
-
/strip/expand ssid y/n
-
Where y/n = 1 for expanded mode. Sets only local strip to - Expanded. Setting to 0 resets the expansion to follow selection.
-
/select/expand y/n
-
Where y/n = 1 for expanded mode, 0 for Select mode.
-
/select/recenable y/n
-
Where y/n is 1 for enabled and 0 for disabled
-
/select/record_safe y/n
-
Where y/n is 1 for safe and 0 for unlocked
-
/select/mute y/n
-
Where y/n is 1 for enabled and 0 for disabled
-
/select/solo y/n
-
Where y/n is 1 for enabled and 0 for disabled
-
/select/solo_iso state
-
where state is a bool/int representing the desired solo isolate state of the track
-
/select/solo_safe state
-
where state is a bool/int representing the desired solo safe/lock state of the track
-
/select/monitor_input y/n
-
Where y/n is 1 for monitor from input and 0 for auto
-
/select/monitor_disk y/n
-
Where y/n is 1 for monitor from disk and 0 for auto
-
/select/polarity invert
-
where invert is a bool/int representing the desired polarity of the track
-
/select/gain gain
-
Where gain is a float ranging from -193 to 6 representing the desired gain of the track in dB.
-
/select/fader position
-
Where position is an float ranging from 0 to 1 representing the fader control position.
-
/select/trimdB trim_db
-
where trim_db is a float ranging from -20 to 20 representing the desired trim of the track in dB.
-
/select/pan_stereo_position position
-
where position is a float ranging from 0 to 1 representing the desired pan position of the track
-
/select/pan_stereo_width width
-
where width is a float ranging from 0 to 1 representing the desired pan width of the track
-
/select/pan_elevation_position position
-
where position is a float ranging from 0 to 1 representing the desired pan elevation of the track
-
/select/pan_frontback_position position
-
where position is a float ranging from 0 to 1 representing the desired front to back position of the track
-
/select/pan_lfe_control value
-
where value is a float ranging from 0 to 1 representing the desired LFE control value for the track
-
/select/send_gain", sendid send_gain
-
where sendid = nth_send, send_gain is a float - ranging from -193 to +6 representing the desired gain in dB for the send
-
/select/send_fader", sendid send_gain
-
where sendid = nth_send, send_gain is a float - ranging from 0 to 1 representing the desired position for the send as a fader
-
/select/send_enable", sendid state
-
where sendid = nth_send, state is 1 for enabled and 0 for disabled
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/strip/select ssid y/nWhere y/n = 1 for select. Sets both GUI select and strip + to expanded mode. (0 is ignored)
/strip/expand ssid y/nWhere y/n = 1 for expanded mode. Sets only local strip to + Expanded. Setting to 0 resets the expansion to follow selection.
/select/expand y/nWhere y/n = 1 for expanded mode, 0 for Select mode.
/select/hide y/nWhere y/n = 1 hide this strip, 0 for show this track. + + Hiding strips.
/select/name strip_namewhere strip_name is a string representing the desired name for the strip
/select/comment commentwhere comment is a string representing the desired comment for the strip
/select/group group_namewhere group_name is a string representing the name of the group desired. + See groups for more details
/select/group/enable statewhere state is an int representing the desired enable state + of the group the selected strip is a part of
/select/group/gain statewhere state is an int which sets the gain sharing of the + group the strip belongs to. See + Track and Bus Groups for more details
/select/group/relative statewhere state is an int which sets relative state of thew + group the strip belongs to. See + Track and Bus Groups for more details
/select/group/mute statewhere state is an int which sets the mute sharing of the + group the strip belongs to. See + Track and Bus Groups for more details
/select/group/solo statewhere state is an int which sets the solo sharing of the + group the strip belongs to. See + Track and Bus Groups for more details
/select/group/recenable statewhere state is an int which sets the recenable sharing of the + group the strip belongs to. See + Track and Bus Groups for more details
/select/group/select statewhere state is an int which sets the select sharing of the + group the strip belongs to. See + Track and Bus Groups for more details
/select/group/active statewhere state is an int which sets the route active sharing of the + group the strip belongs to. See + Track and Bus Groups for more details
/select/group/color statewhere state is an int which sets the color sharing of the + group the strip belongs to. See + Track and Bus Groups for more details
/select/group/monitoring statewhere state is an int which sets the monitoring sharing of the + group the strip belongs to. See + Track and Bus Groups for more details
/select/recenable y/nWhere y/n is 1 for enabled and 0 for disabled
/select/record_safe y/nWhere y/n is 1 for safe and 0 for unlocked
/select/mute y/nWhere y/n is 1 for enabled and 0 for disabled
/select/solo y/nWhere y/n is 1 for enabled and 0 for disabled
/select/solo_iso statewhere state is a bool/int representing the desired solo isolate state of the track
/select/solo_safe statewhere state is a bool/int representing the desired solo safe/lock state of the track
/select/monitor_input y/nWhere y/n is 1 for monitor from input and 0 for auto
/select/monitor_disk y/nWhere y/n is 1 for monitor from disk and 0 for auto
/select/polarity invertwhere invert is a bool/int representing the desired polarity of the track
/select/gain gainWhere gain is a float ranging from -193 to 6 representing the desired gain of the track in dB.
/select/fader positionWhere position is an float ranging from 0 to 1 representing the fader control position.
/select/db_delta deltawhere delta is a float that will increase or decrease the + gain of the selected track by the amount of the delta. (Ardour 5.11+)
/select/vca name statewhere name is a string with the name of the VCA, and + state is an int that determines if the named VCA will control + this strip. (Ardour 6.0)
/select/vca/toggle namewhere name is a string with the name of the VCA. This toggles the + use of the named vca with this strip. Any trailing "[_]" will be ignored. + (Ardour 6.0)
/select/spill show only strips this strip is grouped with or + those that feed this bus or that this vca controls. + See Spill Strips for more details
/select/*/automation modewhere mode is an int ranging from 0 to 3 representing the desired automation mode for the control. + See OSC Automation.
/select/*/touch statewhere state is an int of 1 for touched and 0 for released. + See OSC Automation.
/select/trimdB trim_dbwhere trim_db is a float ranging from -20 to 20 representing the desired trim of the track in dB.
/select/pan_stereo_position positionwhere position is a float ranging from 0 to 1 representing the desired pan position of the track
/select/pan_stereo_width widthwhere width is a float ranging from 0 to 1 representing the desired pan width of the track
/select/pan_elevation_position positionwhere position is a float ranging from 0 to 1 representing the desired pan elevation of the track
/select/pan_frontback_position positionwhere position is a float ranging from 0 to 1 representing the desired front to back position of the track
/select/pan_lfe_control valuewhere value is a float ranging from 0 to 1 representing the desired LFE control value for the track
/select/send_gain, sendid send_gainwhere sendid = nth_send, send_gain is a float + ranging from -193 to +6 representing the desired gain in dB for the send
/select/send_fader, sendid send_gainwhere sendid = nth_send, send_gain is a float + ranging from 0 to 1 representing the desired position for the send as a fader
/select/send_enable, sendid statewhere sendid = nth_send, state is 1 for enabled and 0 for disabled
/select/send_page, deltawhere delta is an int or float selecting another send as a delta from the current send.
/select/plugin_page, deltawhere delta is an int or float selecting another plugin parameter as a delta from the current parameter.
/select/plugin/activate, statewhere state is an int or float with the desired state of the current plugin activation.(new Ardour 6.0)
/select/plugin/parameter, plugin parameter valuewhere plugin = nth plugin, parameter = nth parameter and value is a float from 0 to 1
+

+ /select/send_page and /select/plugin_page may be used + with a page up and page down switch by using a switch with a value of 1 + for page up and a switch with a value of -1 for page down. An encoder + can be used as well. (these commands were added in Ardour version 5.10) +

+

Using groups with strip and select (new for Ardour 6.0)

+

+ No grouping will occure unless use_group is set either + by using /set_surface/strip_types with the use groups bit set + or by using /use_group i 1. +

+

+ The result for /strip/group or + /select/group is determined by the parameter + passed in the command and the current group and available list of + groups. The group name the control surface sends may be: +

+ +

To create a new group from a strip that is already joined to a group, + the strip must first remove itself from the current group. +

+

Spill Strips

+

/select/spill or /strip/spill + will:

+ +

spill/group, spill/bus or spill/vca can also be used to force + the type of spilling that is done. This may be useful if the strip + is a bus that is a part of a group and the group variation is required.

+

In all cases, if there is a bus or VCA attached to the group of strips + it will be included as well.

+

What is less obvious, is how to return to the normal set of strips. + There are a number of ways of doing so depending on the operator's wishes. + The most obvious way is to use /set_surface/strip_types + to set the strip list as desired. It is expected that a control surface + may have more than one strip types button in any case to see only + inputs or only busses etc and of course one to give a full mix. Another + option is to reselect the custom set of strips with + /strip/custom/mode mode. +

-

Menu actions

+

Menu actions

Every single menu item in Ardour's GUI is accessible via OSC. There is a single common syntax to trigger the action as if it was selected with the mouse (or keyboard):

/access_action action_name

- The - list of actions shows all available values of action-name 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. -

+ As of Ardour 5.9, access_action can be inlined for control surfaces + that are unable to send string parameters. The action_name is composed of + a group and an action in the form of Group/action which fits very well + as an OSC path extension: +

+/access_action/Group/action key_pressed +

+ The key_pressed is optional, but if present is a float 1 or 0 where the + command is ignored if key_pressed is 0. +

+

+ 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. +

+

+ The list of actions + shows all available values of action-name for Ardour. +

+ +