3 title: Controlling Ardour with OSC
9 <p>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 knowing what messages can be sent. This document describes the various categories of messages that Ardour understands. It is subject to change, particular the "Actions" part below, since this relates to the GTK GUI for Ardour rather than the backend.</p>
10 <h2>Connecting to Ardour via OSC</h2>
12 OSC support is not enabled by default, but can be turned on via <code>Edit > Preferences > User Interaction</code>. Once enabled, Ardour will listen on port 3819 by default. This port number can be changed by editing $ARDOUR_CONFIG and adding this line within the <Config> section:</p>
14 <Option name="osc-port" value="YourChoiceHere"/>
16 <h2>Transport Control</h2>
17 <dl class="wide-table">
18 <dt>/ardour/transport_stop
19 <dt>/ardour/transport_play
20 <dt>/ardour/set_transport_speed [transport_speed]
24 <dd>where [transport_speed] is a float rangin from -8 to 8.
28 <dt>/ardour/goto_start
30 <dt>/ardour/add_marker
36 <dd>(adds marker to the current transport position)
38 <dt>/ardour/next_marker
39 <dt>/ardour/prev_marker
40 <dt>/ardour/locate [sample_pos] [with_roll]
44 <dd>where [sample_pos] is the target position and [with_roll] is a bool/integer (whether you want transport to be kept rolling or not).
46 <dt>/ardour/loop_toggle<br>
49 <h2>Editing-related</h2>
50 <dl class="wide-table">
53 <dt> /ardour/save_state
57 <dd>(this is regular Session _> Save operatio)<br>
60 <h2>Recording control</h2>
61 <dl class="wide-table">
62 <dt> /ardour/toggle_punch_in
63 <dt> /ardour/toggle_punch_out
64 <dt> /ardour/rec_enable_toggle
65 <dt> /ardour/toggle_all_rec_enables
70 <dd>(toggles all tracks recording state). !currently toggles on but not off for 2.0 branch.<br>
73 <h2>Track specific operations</h2>
75 For each of the following, [remote_id] is the remote_id or the track
77 <dl class="wide-table">
78 <dt> /ardour/routes/mute [remote_id] [mute_st]
80 <dd>where [mute_st] is a bool/int representing the desired mute state of the track
82 <dt> /ardour/routes/solo [remote_id] [solo_st]
84 <dd>where [solo_st] is a bool/int representing the desired solo state of the track
86 <dt> /ardour/routes/recenable [remote_id] [rec_st]
88 <dd>where [rec_st] is a bool/int representing the desired rec state of the track
90 <dt> /ardour/routes/gainabs [remote_id] [gain_abs]
92 <dd>where [gain_abs] is a float ranging from 0 to 2 (0 being -infinite, 1 being 0dB and 2 being +6dB).
94 <dt> /ardour/routes/gaindB [remote_id] [gain_db]
96 <dd>where [gain_db] is a float ranging from -400 to 6 representing the desired gain of the track in dB.<br>
101 Every single menu item in Ardour's GUI is accessible via OSC. There is<br>
102 a single common syntax to trigger the action as if it was selected<br>
103 with the mouse (or keyboard):</p>
105 /ardour/access_action [action_name]
107 <p>The list below shows all available values of [action-name] as of<br>
108 mid-March 2010 for Ardour 2.X. You can get the current list at any<br>
109 time by running Ardour with the -b flag.</p>
113 <li> Common/goto-editor
119 <li> Common/toggle-editor-mixer-on-top
121 <li> Common/ToggleBigClock
123 <li> Common/ToggleColorManager
125 <li> Common/ToggleInspector
127 <li> Common/ToggleKeyEditor
129 <li> Common/ToggleLocations
131 <li> Common/ToggleMaximalEditor
133 <li> Common/ToggleOptionsEditor
135 <li> Editor/add-location-from-playhead
137 <li> Editor/addExistingAudioFiles
139 <li> Editor/align-regions-end
141 <li> Editor/align-regions-start
143 <li> Editor/align-regions-start-relative
145 <li> Editor/align-regions-sync
147 <li> Editor/align-regions-sync-relative
149 <li> Editor/audition-at-mouse
151 <li> Editor/Autoconnect
153 <li> Editor/boost-region-gain
155 <li> Editor/brush-at-mouse
157 <li> Editor/center-edit-cursor
159 <li> Editor/center-playhead
163 <li> Editor/Crossfades
165 <li> Editor/CrossfadesFull
167 <li> Editor/CrossfadesShort
169 <li> Editor/cut-region-gain
171 <li> Editor/cycle-edit-point
173 <li> Editor/cycle-edit-point-with-marker
175 <li> Editor/cycle-snap-choice
177 <li> Editor/cycle-snap-mode
179 <li> Editor/duplicate-region
183 <li> Editor/edit-cursor-to-next-region-sync
185 <li> Editor/edit-cursor-to-previous-region-start
187 <li> Editor/edit-cursor-to-previous-region-sync
189 <li> Editor/edit-cursor-to-range-end
191 <li> Editor/edit-cursor-to-range-start
193 <li> Editor/edit-to-playhead
195 <li> Editor/EditCursorMovementOptions
197 <li> Editor/editor-copy
199 <li> Editor/editor-cut
201 <li> Editor/editor-delete
203 <li> Editor/editor-paste
205 <li> Editor/EditSelectRangeOptions
207 <li> Editor/EditSelectRegionOptions
209 <li> Editor/export-region
211 <li> Editor/extend-range-to-end-of-region
213 <li> Editor/extend-range-to-start-of-region
215 <li> Editor/finish-add-range
217 <li> Editor/finish-range
219 <li> Editor/fit-tracks
221 <li> Editor/goto-mark-1
223 <li> Editor/goto-mark-2
225 <li> Editor/goto-mark-3
227 <li> Editor/goto-mark-4
229 <li> Editor/goto-mark-5
231 <li> Editor/goto-mark-6
233 <li> Editor/goto-mark-7
235 <li> Editor/goto-mark-8
237 <li> Editor/goto-mark-9
239 <li> Editor/goto-visual-state-1
241 <li> Editor/goto-visual-state-2
243 <li> Editor/goto-visual-state-3
245 <li> Editor/goto-visual-state-4
247 <li> Editor/goto-visual-state-5
249 <li> Editor/goto-visual-state-6
251 <li> Editor/goto-visual-state-7
253 <li> Editor/goto-visual-state-8
255 <li> Editor/goto-visual-state-9
257 <li> Editor/goto-visual-state-10
259 <li> Editor/goto-visual-state-11
261 <li> Editor/goto-visual-state-12
263 <li> Editor/insert-region
265 <li> Editor/insert-time
267 <li> Editor/invert-selection
269 <li> Editor/jump-backward-to-mark
271 <li> Editor/jump-forward-to-mark
273 <li> Editor/LayerAddHigher
277 <li> Editor/LayerLaterHigher
279 <li> Editor/LayerMoveAddHigher
281 <li> Editor/MeterFalloff
283 <li> Editor/MeterHold
285 <li> Editor/Monitoring
287 <li> Editor/move-selected-tracks-down
289 <li> Editor/move-selected-tracks-up
291 <li> Editor/multi-duplicate-region
293 <li> Editor/mute-unmute-region
295 <li> Editor/naturalize-region
297 <li> Editor/normalize-region
299 <li> Editor/nudge-backward
301 <li> Editor/nudge-forward
303 <li> Editor/nudge-next-backward
305 <li> Editor/nudge-next-forward
307 <li> Editor/nudge-playhead-backward
309 <li> Editor/nudge-playhead-forward
311 <li> Editor/pitch-[Shift]-region
313 <li> Editor/pitch-shift-region
315 <li> Editor/play-edit-range
317 <li> Editor/play-from-edit-point-and-return
319 <li> Editor/play-selected-regions
321 <li> Editor/playhead-backward-to-grid
323 <li> Editor/playhead-forward-to-grid
325 <li> Editor/playhead-to-edit
327 <li> Editor/playhead-to-next-region-boundary
329 <li> Editor/playhead-to-next-region-boundary-noselection
331 <li> Editor/playhead-to-next-region-sync
333 <li> Editor/playhead-to-next-region-sync
335 <li> Editor/playhead-to-previous-region-boundary
337 <li> Editor/playhead-to-previous-region-boundary-noselection
339 <li> Editor/playhead-to-previous-region-sync
341 <li> Editor/playhead-to-range-end
343 <li> Editor/playhead-to-range-start
345 <li> Editor/PullupMinus1
347 <li> Editor/PullupMinus4
349 <li> Editor/PullupMinus4Minus1
351 <li> Editor/PullupMinus4Plus1
353 <li> Editor/PullupNone
355 <li> Editor/PullupPlus1
357 <li> Editor/PullupPlus4
359 <li> Editor/PullupPlus4Minus1
361 <li> Editor/PullupPlus4Plus1
365 <li> Editor/RegionEditOps
367 <li> Editor/remove-last-capture
369 <li> Editor/reverse-region
371 <li> Editor/save-visual-state-1
373 <li> Editor/save-visual-state-2
375 <li> Editor/save-visual-state-3
377 <li> Editor/save-visual-state-4
379 <li> Editor/save-visual-state-5
381 <li> Editor/save-visual-state-6
383 <li> Editor/save-visual-state-7
385 <li> Editor/save-visual-state-8
387 <li> Editor/save-visual-state-9
389 <li> Editor/save-visual-state-10
391 <li> Editor/save-visual-state-11
393 <li> Editor/save-visual-state-12
395 <li> Editor/scroll-tracks-down
397 <li> Editor/scroll-tracks-up
399 <li> Editor/select-all
401 <li> Editor/select-all-after-edit-cursor
403 <li> Editor/select-all-after-playhead
405 <li> Editor/select-all-before-edit-cursor
407 <li> Editor/select-all-before-playhead
409 <li> Editor/select-all-between-cursors
411 <li> Editor/select-all-in-loop-range
413 <li> Editor/select-all-in-punch-range
415 <li> Editor/select-all-within-cursors
417 <li> Editor/select-next-route
419 <li> Editor/select-prev-route
421 <li> Editor/select-range-between-cursors
423 <li> Editor/selected-marker-to-next-region-boundary
425 <li> Editor/selected-marker-to-previous-region-boundary
429 <li> Editor/set-edit-point
431 <li> Editor/set-fade-in-length
433 <li> Editor/set-fade-out-length
435 <li> Editor/set-loop-from-edit-range
437 <li> Editor/set-loop-from-region
439 <li> Editor/set-playhead
441 <li> Editor/set-punch-from-edit-range
443 <li> Editor/set-punch-from-region
445 <li> Editor/set-region-sync-position
447 <li> Editor/set-tempo-from-edit-range
449 <li> Editor/set-tempo-from-region
451 <li> Editor/show-editor-mixer
459 <li> Editor/Smpte30drop
463 <li> Editor/Smpte2997
465 <li> Editor/Smpte5994
467 <li> Editor/Smpte2997drop
469 <li> Editor/Smpte23976
471 <li> Editor/Smpte24976
473 <li> Editor/snap-magnetic
475 <li> Editor/snap-normal
483 <li> Editor/split-region
485 <li> Editor/start-range
487 <li> Editor/step-tracks-down
489 <li> Editor/step-tracks-up
491 <li> Editor/Subframes
493 <li> Editor/Subframes100
495 <li> Editor/Subframes80
497 <li> Editor/tab-to-transient-backwards
499 <li> Editor/tab-to-transient-forwards
501 <li> Editor/temporal-zoom-in
503 <li> Editor/temporal-zoom-out
507 <li> Editor/toggle-auto-xfades
509 <li> Editor/toggle-edit-mode
511 <li> Editor/toggle-fade-out-active
513 <li> Editor/toggle-fade-out-active
515 <li> Editor/toggle-follow-playhead
517 <li> Editor/toggle-internal-edit
519 <li> Editor/toggle-rhythm-ferret
521 <li> Editor/toggle-xfades-active
523 <li> Editor/toggle-xfades-visible
525 <li> Editor/toggle-zoom
527 <li> Editor/ToggleGeneric MIDISurface
529 <li> Editor/ToggleGeneric MIDISurfaceFeedback
531 <li> Editor/ToggleGeneric MIDISurfaceSubMenu
533 <li> Editor/ToggleMeasureVisibility
535 <li> Editor/ToggleWaveformsWhileRecording
537 <li> Editor/ToggleWaveformVisibility
539 <li> Editor/track-record-enable-toggle
541 <li> Editor/trim-back
543 <li> Editor/trim-from-start
545 <li> Editor/trim-front
547 <li> Editor/trim-to-end
553 <li> Editor/zoom-to-region
555 <li> Editor/zoom-to-region-both-axes
557 <li> Editor/zoom-to-session
559 <li> Editor/ZoomFocus
563 <li> JACK/JACKDisconnect
565 <li> JACK/JACKReconnect
567 <li> JACK/JACKLatency32
569 <li> JACK/JACKLatency64
571 <li> JACK/JACKLatency128
573 <li> JACK/JACKLatency256
575 <li> JACK/JACKLatency512
577 <li> JACK/JACKLatency1024
579 <li> JACK/JACKLatency2048
581 <li> JACK/JACKLatency4096
583 <li> JACK/JACKLatency8192
585 <li> Main/AddTrackBus
587 <li> Main/AudioFileFormat
589 <li> Main/AudioFileFormatData
591 <li> Main/AudioFileFormatHeader
593 <li> Main/CleanupUnused
595 <li> Main/FlushWastebasket
599 <li> Main/ControlSurfaces
603 <li> Main/ExportRangeMarkers
605 <li> Main/ExportSelection
607 <li> Main/ExportSession
611 <li> Main/KeyMouse Actions
615 <li> Main/MeteringFallOffRate
617 <li> Main/MeteringHoldTime
627 <li> Main/SaveTemplate
633 <li> Main/TransportOptions
637 <li> MouseMode/set-mouse-mode-gain
639 <li> MouseMode/set-mouse-mode-object
641 <li> MouseMode/set-mouse-mode-range
643 <li> MouseMode/set-mouse-mode-timefx
645 <li> MouseMode/set-mouse-mode-zoom
647 <li> options/DoNotRunPluginsWhileRecording
649 <li> options/FileDataFormat24bit
651 <li> options/FileDataFormatFloat
653 <li> options/FileHeaderFormatBWF
655 <li> options/FileHeaderFormatCAF
657 <li> options/FileHeaderFormatWAVE
659 <li> options/FileHeaderFormatWAVE64
661 <li> options/GainReduceFastTransport
663 <li> options/InputAutoConnectManual
665 <li> options/InputAutoConnectPhysical
667 <li> options/LatchedRecordEnable
669 <li> options/LatchedSolo
671 <li> options/MeterFalloffFast
673 <li> options/MeterFalloffFaster
675 <li> options/MeterFalloffFastest
677 <li> options/MeterFalloffMedium
679 <li> options/MeterFalloffOff
681 <li> options/MeterFalloffSlow
683 <li> options/MeterFalloffSlowest
685 <li> options/MeterHoldLong
687 <li> options/MeterHoldMedium
689 <li> options/MeterHoldOff
691 <li> options/MeterHoldShort
693 <li> options/OutputAutoConnectManual
695 <li> options/OutputAutoConnectMaster
697 <li> options/OutputAutoConnectPhysical
699 <li> options/RegionEquivalentsOverlap
705 <li> options/ShowSoloMutes
707 <li> options/SoloInPlace
709 <li> options/SoloViaBus
711 <li> options/StopPluginsWithTransport
713 <li> options/StopRecordingOnXrun
715 <li> options/StopTransportAtEndOfSession
717 <li> options/UseExternalMonitoring
719 <li> options/UseHardwareMonitoring
723 <li> options/UseSoftwareMonitoring
725 <li> options/VerifyRemoveLastCapture
727 <li> redirectmenu/activate
729 <li> redirectmenu/activate_all
731 <li> redirectmenu/clear
733 <li> redirectmenu/copy
735 <li> redirectmenu/cut
737 <li> redirectmenu/deactivate
739 <li> redirectmenu/deactivate_all
741 <li> redirectmenu/deselectall
743 <li> redirectmenu/edit
745 <li> redirectmenu/newinsert
747 <li> redirectmenu/newplugin
749 <li> redirectmenu/newsend
751 <li> redirectmenu/paste
753 <li> redirectmenu/rename
755 <li> redirectmenu/selectall
757 <li> RegionList/RegionListSort
759 <li> RegionList/RegionListSort
761 <li> RegionList/rlAudition
763 <li> RegionList/rlHide
765 <li> RegionList/rlRemove
767 <li> RegionList/rlShowAll
769 <li> RegionList/rlShowAuto
771 <li> RegionList/SortAscending
773 <li> RegionList/SortByRegionEndinFile
775 <li> RegionList/SortByRegionLength
777 <li> RegionList/SortByRegionName
779 <li> RegionList/SortByRegionPosition
781 <li> RegionList/SortByRegionStartinFile
783 <li> RegionList/SortByRegionTimestamp
785 <li> RegionList/SortBySourceFileCreationDate
787 <li> RegionList/SortBySourceFileLength
789 <li> RegionList/SortBySourceFileName
791 <li> RegionList/SortBySourceFilesystem
793 <li> RegionList/SortDescending
795 <li> ShuttleActions/SetShuttleUnitsPercentage
797 <li> ShuttleActions/SetShuttleUnitsSemitones
799 <li> Snap/snap-to-asixteenthbeat
801 <li> Snap/snap-to-bar
803 <li> Snap/snap-to-beat
805 <li> Snap/snap-to-cd-frame
807 <li> Snap/snap-to-edit-cursor
809 <li> Snap/snap-to-eighths
811 <li> Snap/snap-to-frame
813 <li> Snap/snap-to-mark
815 <li> Snap/snap-to-minutes
817 <li> Snap/snap-to-quarters
819 <li> Snap/snap-to-region-boundary
821 <li> Snap/snap-to-region-end
823 <li> Snap/snap-to-region-start
825 <li> Snap/snap-to-region-sync
827 <li> Snap/snap-to-seconds
829 <li> Snap/snap-to-smpte-frame
831 <li> Snap/snap-to-smpte-minutes
833 <li> Snap/snap-to-smpte-seconds
835 <li> Snap/snap-to-thirds
837 <li> Snap/snap-to-thirtyseconds
839 <li> Transport/focus-on-clock
841 <li> Transport/Forward
843 <li> Transport/GotoEnd
845 <li> Transport/GotoStart
847 <li> Transport/GotoZero
851 <li> Transport/PlaySelection
853 <li> Transport/Record
855 <li> Transport/record-roll
857 <li> Transport/Rewind
859 <li> Transport/ToggleAutoInput
861 <li> Transport/ToggleAutoPlay
863 <li> Transport/ToggleAutoReturn
865 <li> Transport/ToggleClick
867 <li> Transport/TogglePunchIn
869 <li> Transport/TogglePunchOut
871 <li> Transport/ToggleRoll
873 <li> Transport/ToggleRollForgetCapture
875 <li> Transport/ToggleRollMaybe
877 <li> Transport/ToggleTimeMaster
879 <li> Transport/ToggleVideoSync
881 <li> Transport/TransitionToReverse
883 <li> Transport/TransitionToRoll
885 <li> Zoom/zoom-focus-center
887 <li> Zoom/zoom-focus-edit
889 <li> Zoom/zoom-focus-left
891 <li> Zoom/zoom-focus-playhead
893 <li> Zoom/zoom-focus-right