--- layout: default title: Controlling Ardour with OSC ---

OSC lets synthesizers and other devices communicate with Ardour. OSC devices can send commands relating to playback (such as play or stop), performance (such as volume, play, stop, and almost any other function (such as Edit, or Undo).

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, particularly the "Actions" part below, since this relates to the GTK GUI for Ardour rather than the backend.

Connecting to Ardour via OSC

OSC support is not enabled by default, but can be turned on via Edit > Preferences > Control Surfaces. 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:

<Option name="osc-port" value="Your choice here"/>

List of OSC messages

Transport Control

/ardour/transport_stop
/ardour/transport_play
/ardour/set_transport_speed s
where s is a float ranging from -8.0f to 8.0f
/ardour/ffwd
/ardour/rewind
/ardour/goto_start
/ardour/goto_end
/ardour/add_marker
(adds marker to the current transport position)
/ardour/next_marker
/ardour/prev_marker
/ardour/locate spos roll
where spos is the target position in samples and roll is a bool/integer defining whether you want transport to be kept rolling or not
/ardour/loop_toggle

Editing-related

/ardour/undo
/ardour/redo
/ardour/save_state
(this is the regular Session > Save operation)

Recording control

/ardour/toggle_punch_in
/ardour/toggle_punch_out
/ardour/rec_enable_toggle
/ardour/toggle_all_rec_enables
(toggles all tracks' recording state)

Track specific operations

For each of the following, rid is the remote ID or the track

/ardour/routes/mute rid mute_st
where mute_st is a bool/int representing the desired mute state of the track
/ardour/routes/solo rid solo_st
where solo_st is a bool/int representing the desired solo state of the track
/ardour/routes/recenable rid rec_st
where rec_st is a bool/int representing the desired rec state of the track
/ardour/routes/gainabs rid gain_abs
where gain_abs is a float ranging from 0 to 2 (0 being -infinite, 1 being 0dB and 2 being +6dB).
/ardour/routes/gaindB rid gain_db
where gain_db is a float ranging from -400 to 6 representing the desired gain of the track in dB.

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

/ardour/access_action action_name

The list below shows all available values of action-name as of mid-March 2010 for Ardour 2.X. You can get the current list at any time by running Ardour with the -b flag.

Common/About
Common/goto-editor
Common/Quit
Common/Save
Common/toggle-editor-mixer-on-top
Common/ToggleBigClock
Common/ToggleColorManager
Common/ToggleInspector
Common/ToggleKeyEditor
Common/ToggleLocations
Common/ToggleMaximalEditor
Common/ToggleOptionsEditor
Editor/add-location-from-playhead
Editor/addExistingAudioFiles
Editor/align-regions-end
Editor/align-regions-start
Editor/align-regions-start-relative
Editor/align-regions-sync
Editor/align-regions-sync-relative
Editor/audition-at-mouse
Editor/Autoconnect
Editor/boost-region-gain
Editor/brush-at-mouse
Editor/center-edit-cursor
Editor/center-playhead
Editor/crop
Editor/Crossfades
Editor/CrossfadesFull
Editor/CrossfadesShort
Editor/cut-region-gain
Editor/cycle-edit-point
Editor/cycle-edit-point-with-marker
Editor/cycle-snap-choice
Editor/cycle-snap-mode
Editor/duplicate-region
Editor/Edit
Editor/edit-cursor-to-next-region-sync
Editor/edit-cursor-to-previous-region-start
Editor/edit-cursor-to-previous-region-sync
Editor/edit-cursor-to-range-end
Editor/edit-cursor-to-range-start
Editor/edit-to-playhead
Editor/EditCursorMovementOptions
Editor/editor-copy
Editor/editor-cut
Editor/editor-delete
Editor/editor-paste
Editor/EditSelectRangeOptions
Editor/EditSelectRegionOptions
Editor/export-region
Editor/extend-range-to-end-of-region
Editor/extend-range-to-start-of-region
Editor/finish-add-range
Editor/finish-range
Editor/fit-tracks
Editor/goto-mark-1
Editor/goto-mark-2
Editor/goto-mark-3
Editor/goto-mark-4
Editor/goto-mark-5
Editor/goto-mark-6
Editor/goto-mark-7
Editor/goto-mark-8
Editor/goto-mark-9
Editor/goto-visual-state-1
Editor/goto-visual-state-2
Editor/goto-visual-state-3
Editor/goto-visual-state-4
Editor/goto-visual-state-5
Editor/goto-visual-state-6
Editor/goto-visual-state-7
Editor/goto-visual-state-8
Editor/goto-visual-state-9
Editor/goto-visual-state-10
Editor/goto-visual-state-11
Editor/goto-visual-state-12
Editor/insert-region
Editor/insert-time
Editor/invert-selection
Editor/jump-backward-to-mark
Editor/jump-forward-to-mark
Editor/LayerAddHigher
Editor/Layering
Editor/LayerLaterHigher
Editor/LayerMoveAddHigher
Editor/MeterFalloff
Editor/MeterHold
Editor/Monitoring
Editor/move-selected-tracks-down
Editor/move-selected-tracks-up
Editor/multi-duplicate-region
Editor/mute-unmute-region
Editor/naturalize-region
Editor/normalize-region
Editor/nudge-backward
Editor/nudge-forward
Editor/nudge-next-backward
Editor/nudge-next-forward
Editor/nudge-playhead-backward
Editor/nudge-playhead-forward
Editor/pitch-[Shift]-region
Editor/pitch-shift-region
Editor/play-edit-range
Editor/play-from-edit-point-and-return
Editor/play-selected-regions
Editor/playhead-backward-to-grid
Editor/playhead-forward-to-grid
Editor/playhead-to-edit
Editor/playhead-to-next-region-boundary
Editor/playhead-to-next-region-boundary-noselection
Editor/playhead-to-next-region-sync
Editor/playhead-to-next-region-sync
Editor/playhead-to-previous-region-boundary
Editor/playhead-to-previous-region-boundary-noselection
Editor/playhead-to-previous-region-sync
Editor/playhead-to-range-end
Editor/playhead-to-range-start
Editor/PullupMinus1
Editor/PullupMinus4
Editor/PullupMinus4Minus1
Editor/PullupMinus4Plus1
Editor/PullupNone
Editor/PullupPlus1
Editor/PullupPlus4
Editor/PullupPlus4Minus1
Editor/PullupPlus4Plus1
Editor/redo
Editor/RegionEditOps
Editor/remove-last-capture
Editor/reverse-region
Editor/save-visual-state-1
Editor/save-visual-state-2
Editor/save-visual-state-3
Editor/save-visual-state-4
Editor/save-visual-state-5
Editor/save-visual-state-6
Editor/save-visual-state-7
Editor/save-visual-state-8
Editor/save-visual-state-9
Editor/save-visual-state-10
Editor/save-visual-state-11
Editor/save-visual-state-12
Editor/scroll-tracks-down
Editor/scroll-tracks-up
Editor/select-all
Editor/select-all-after-edit-cursor
Editor/select-all-after-playhead
Editor/select-all-before-edit-cursor
Editor/select-all-before-playhead
Editor/select-all-between-cursors
Editor/select-all-in-loop-range
Editor/select-all-in-punch-range
Editor/select-all-within-cursors
Editor/select-next-route
Editor/select-prev-route
Editor/select-range-between-cursors
Editor/selected-marker-to-next-region-boundary
Editor/selected-marker-to-previous-region-boundary
Editor/separate
Editor/set-edit-point
Editor/set-fade-in-length
Editor/set-fade-out-length
Editor/set-loop-from-edit-range
Editor/set-loop-from-region
Editor/set-playhead
Editor/set-punch-from-edit-range
Editor/set-punch-from-region
Editor/set-region-sync-position
Editor/set-tempo-from-edit-range
Editor/set-tempo-from-region
Editor/show-editor-mixer
Editor/Smpte24
Editor/Smpte25
Editor/Smpte30
Editor/Smpte30drop
Editor/Smpte60
Editor/Smpte2997
Editor/Smpte5994
Editor/Smpte2997drop
Editor/Smpte23976
Editor/Smpte24976
Editor/snap-magnetic
Editor/snap-normal
Editor/SnapMode
Editor/SnapTo
Editor/Solo
Editor/split-region
Editor/start-range
Editor/step-tracks-down
Editor/step-tracks-up
Editor/Subframes
Editor/Subframes100
Editor/Subframes80
Editor/tab-to-transient-backwards
Editor/tab-to-transient-forwards
Editor/temporal-zoom-in
Editor/temporal-zoom-out
Editor/Timecode
Editor/toggle-auto-xfades
Editor/toggle-edit-mode
Editor/toggle-fade-out-active
Editor/toggle-fade-out-active
Editor/toggle-follow-playhead
Editor/toggle-internal-edit
Editor/toggle-rhythm-ferret
Editor/toggle-xfades-active
Editor/toggle-xfades-visible
Editor/toggle-zoom
Editor/ToggleGeneric MIDISurface
Editor/ToggleGeneric MIDISurfaceFeedback
Editor/ToggleGeneric MIDISurfaceSubMenu
Editor/ToggleMeasureVisibility
Editor/ToggleWaveformsWhileRecording
Editor/ToggleWaveformVisibility
Editor/track-record-enable-toggle
Editor/trim-back
Editor/trim-from-start
Editor/trim-front
Editor/trim-to-end
Editor/undo
Editor/View
Editor/zoom-to-region
Editor/zoom-to-region-both-axes
Editor/zoom-to-session
Editor/ZoomFocus
JACK/JACK
JACK/JACKDisconnect
JACK/JACKReconnect
JACK/JACKLatency32
JACK/JACKLatency64
JACK/JACKLatency128
JACK/JACKLatency256
JACK/JACKLatency512
JACK/JACKLatency1024
JACK/JACKLatency2048
JACK/JACKLatency4096
JACK/JACKLatency8192
Main/AddTrackBus
Main/AudioFileFormat
Main/AudioFileFormatData
Main/AudioFileFormatHeader
Main/CleanupUnused
Main/FlushWastebasket
Main/Close
Main/ControlSurfaces
Main/Export
Main/ExportRangeMarkers
Main/ExportSelection
Main/ExportSession
Main/Help
Main/KeyMouse Actions
Main/Metering
Main/MeteringFallOffRate
Main/MeteringHoldTime
Main/New
Main/Open
Main/Options
Main/Recent
Main/SaveTemplate
Main/Session
Main/Snapshot
Main/TransportOptions
Main/Windows
MouseMode/set-mouse-mode-gain
MouseMode/set-mouse-mode-object
MouseMode/set-mouse-mode-range
MouseMode/set-mouse-mode-timefx
MouseMode/set-mouse-mode-zoom
options/DoNotRunPluginsWhileRecording
options/FileDataFormat24bit
options/FileDataFormatFloat
options/FileHeaderFormatBWF
options/FileHeaderFormatCAF
options/FileHeaderFormatWAVE
options/FileHeaderFormatWAVE64
options/GainReduceFastTransport
options/InputAutoConnectManual
options/InputAutoConnectPhysical
options/LatchedRecordEnable
options/LatchedSolo
options/MeterFalloffFast
options/MeterFalloffFaster
options/MeterFalloffFastest
options/MeterFalloffMedium
options/MeterFalloffOff
options/MeterFalloffSlow
options/MeterFalloffSlowest
options/MeterHoldLong
options/MeterHoldMedium
options/MeterHoldOff
options/MeterHoldShort
options/OutputAutoConnectManual
options/OutputAutoConnectMaster
options/OutputAutoConnectPhysical
options/RegionEquivalentsOverlap
options/SendMMC
options/SendMTC
options/ShowSoloMutes
options/SoloInPlace
options/SoloViaBus
options/StopPluginsWithTransport
options/StopRecordingOnXrun
options/StopTransportAtEndOfSession
options/UseExternalMonitoring
options/UseHardwareMonitoring
options/UseMMC
options/UseSoftwareMonitoring
options/VerifyRemoveLastCapture
redirectmenu/activate
redirectmenu/activate_all
redirectmenu/clear
redirectmenu/copy
redirectmenu/cut
redirectmenu/deactivate
redirectmenu/deactivate_all
redirectmenu/deselectall
redirectmenu/edit
redirectmenu/newinsert
redirectmenu/newplugin
redirectmenu/newsend
redirectmenu/paste
redirectmenu/rename
redirectmenu/selectall
RegionList/RegionListSort
RegionList/RegionListSort
RegionList/rlAudition
RegionList/rlHide
RegionList/rlRemove
RegionList/rlShowAll
RegionList/rlShowAuto
RegionList/SortAscending
RegionList/SortByRegionEndinFile
RegionList/SortByRegionLength
RegionList/SortByRegionName
RegionList/SortByRegionPosition
RegionList/SortByRegionStartinFile
RegionList/SortByRegionTimestamp
RegionList/SortBySourceFileCreationDate
RegionList/SortBySourceFileLength
RegionList/SortBySourceFileName
RegionList/SortBySourceFilesystem
RegionList/SortDescending
ShuttleActions/SetShuttleUnitsPercentage
ShuttleActions/SetShuttleUnitsSemitones
Snap/snap-to-asixteenthbeat
Snap/snap-to-bar
Snap/snap-to-beat
Snap/snap-to-cd-frame
Snap/snap-to-edit-cursor
Snap/snap-to-eighths
Snap/snap-to-frame
Snap/snap-to-mark
Snap/snap-to-minutes
Snap/snap-to-quarters
Snap/snap-to-region-boundary
Snap/snap-to-region-end
Snap/snap-to-region-start
Snap/snap-to-region-sync
Snap/snap-to-seconds
Snap/snap-to-smpte-frame
Snap/snap-to-smpte-minutes
Snap/snap-to-smpte-seconds
Snap/snap-to-thirds
Snap/snap-to-thirtyseconds
Transport/focus-on-clock
Transport/Forward
Transport/GotoEnd
Transport/GotoStart
Transport/GotoZero
Transport/Loop
Transport/PlaySelection
Transport/Record
Transport/record-roll
Transport/Rewind
Transport/ToggleAutoInput
Transport/ToggleAutoPlay
Transport/ToggleAutoReturn
Transport/ToggleClick
Transport/TogglePunchIn
Transport/TogglePunchOut
Transport/ToggleRoll
Transport/ToggleRollForgetCapture
Transport/ToggleRollMaybe
Transport/ToggleTimeMaster
Transport/ToggleVideoSync
Transport/TransitionToReverse
Transport/TransitionToRoll
Zoom/zoom-focus-center
Zoom/zoom-focus-edit
Zoom/zoom-focus-left
Zoom/zoom-focus-playhead
Zoom/zoom-focus-right