OSC Command Reference

Note: The Snd and Rcv columns indicate if an OSC Controller (application) can Send or Receive OSC commands from Song Master.  For example, an OSC Controller can send an OSC Address of "/songName" to Song Master, Song Master will then respond by sending an OSC Address of "/songName", with a String parameter that contains the current song's name, back to the OSC Controller.

Snd Rcv OSC Address Parameters Description
x x /play play (Integer) 1 -> start playing; 0 -> pause
x /togglePlaying if playing then pause, if paused start playing
x x /volume volume (Double: [0...1]) adjust the master volume level
x x /speed speed (Double: [0.1,…,2.0]) change the playback speed
x x /pitch pitch_semitones (Integer: [-11…11] change the pitch of the song
x /setSpeed_100 set speed to 100%
x /setSpeed_75 set speed to 75%
x /setSpeed_50 set speed to 50%
x /setSpeed_25 set speed to 25%
x /bpm request the bpm to be sent
x /bpm bpm (Double) the current bpm
x /songName request the name of the current song
x /songName song_name (String) the name of the song
x /key request the Key of the current song
x /key key (String) The current song Key
x /timeSig request the Time Signature of the current song
x /timeSig time_sig (String) the current Time Signature
x /barBeat

bar (Integer)

beat (Integer)

bpm (double)

This message is automatically sent every time the beat changes.

The 'bpm' is the instantaneous bpm

x /songInfo request information on the current song; this information is returned as the /songInfo message below
x   /songInfo

song_name (String)
album name (String) artist_name (String)
bpm (Double)            key (String)    timeSigNumerator (int) timeSigDenoinator (int)

x /songLoaded song_name (String)
audio_filename (String)
song_duration_secs (Double)

sent when a song is loaded

Stem Mixer

Stem Mixer OSC Addresses

Snd Rcv OSC Address Parameters Description
x x /stemMixerEnable enable (Integer) 0 to disable, 1 to enable the stem mixer; if stem files have not been previously saved, they will be generated
x x /stemMixerNumTracks num_tracks (Integer) the number of tracks available in the mixer (2-5)
x x /stemTrack#Volume volume (Double: [0..1.5]) # is the stem track number (1-5) to change the volume 
x x /stemTrack#Pan pan (Double: [-1…1) # is the stem track number (1-5) to change the pan amount
x   /stemTrack#Mute enable (Integer) # is the stem track number (1-5) to mute
x   /stemTrack#Solo enable (Integer) # is the stem track number (1-5) to solo
x /stemTrack#Name

get the name of a stem track

# is the stem track number (1-5)

Song Sections

Section OSC Addresses

Snd Rcv OSC Address Parameters Description
x /allSections     this requests info on all sections
x     /section section_index(Integer)
section_name(String)
start_time (Double)
end_time (Double)
color (Integer)
sent in response to /allSections
x     /allSectionsEnd numSectionsSent(Integer) sent in response to /allSections after all /section commands have been sent 
x /sectionChanged section_index (Integer)
section_name (String)
sent when the playhead enters a different section

Playlists

Playlist OSC Addresses

Snd Rcv OSC Address Parameters Description
x /playlistsGetAll return all playlists; a /playlistFilename will be sent for each playlist followed by /playlistsGetAllEnd
x     /playlistFilename filename(String) filename is the name of the playlist
x     /playlistsGetAllEnd  numPlaylistsSent (Integer)
x /playlistInfo request information on the current playlist; in response /playlistInfo will be sent
x     /playlistInfo filename (String)
name (String)
description (String)
num_songs (Integer)
total_duration (Double)
filename will be "" if no playlist loaded
x /playlistSongs request info for each song in current playlist; in response, /playlistSongInfo will be sent for each song in the playlist, followed by /playlistSongsEnd 
x     /playlistSongInfo song_index (Integer)
song_name (String)
artist_name (String)
album (String)
audio_filename (String)
x     /playlistSongsEnd num_songs_sent (Integer)
x /playlistSongInfo song_index (Integer) request information on 'index'-th song at in the current playlist; in response, a /playlistSongInfo will be sent
x /playlistLoaded sent when a playlist is loaded
x /playlistSongsModified sent when the current playlist is changed
x /playlistActiveSongChanged

song_index (Integer)
song_name (String)
artist_name (String)
album (String)
audio_filename (String)

sent when a playlist song has been loaded 
x /playlistPlayNext  begin_playing (Integer/Boolean) request to load and play the next song in the current playist
x /playlistPlayPrev   begin_playing (Integer/Boolean) request to load and play the previous song in the current playist
x /playlistPlayIndex

song_index(Integer) 

begin_playing (Integer/Boolean)

request to load and play the 'song_index'-th song in the current playist
x /playlistOpen playlist_filename (String) request to load a specific Song Master playlist 

Show Tracks and Panels

Snd Rcv OSC Address Parameters Description
x /showTimeSignatureTrack  show (Integer/Boolean)
x /showSectionTrack show (Integer/Boolean)
x /showChordTrack  show (Integer/Boolean)
x /showNoteTrack show (Integer/Boolean)
x /showExtControllerTrack show (Integer/Boolean)
x /showBottomPanel show (Integer/Boolean)
x /showSidePanel show (Integer/Boolean)
x /dockSidePanel show (Integer/Boolean)

Playhead

Snd Rcv OSC Address Parameters Description
x /gotoBeginningOfTrack
x /gotoEndOfTrack
x /gotoPrevBar
x /gotoNextBar
x /gotoPrevSection
x /gotoNextSection
x /gotoPrevNote
x /gotoNextNote
x /movePlayheadToPrevBeat
x /movePlayheadToNextBeat
x /movePlayheadToPrevNudge
x /movePlayheadToNextNudge

Looping

Snd Rcv OSC Address Parameters Description
x /loopEnable  enable (Integer/Boolean) True/1 -> enable looping; False/0 -> disable looping
x /loopSetToCurrentBar enable (Integer/Boolean) True/1 -> set looping current bar; False/0 -> disable looping
x /loopSetToCurrentSection  enable (Integer/Boolean) True/1 -> set looping to current section; False/0 -> disable looping
x /loopSetToCurrentNote  enable (Integer/Boolean) True/1 -> set looping to current  Note and next Noter; False/0 -> disable looping
x /extendLoopNextSection
x /extendLoopPrevSection
x /extendLoopPrevNote
x /extendLoopNextNote
x /extendLoopNextBar
x /extendLoopPrevBar
x /extendLoopNextBeat
x /extendLoopPrevBeat
x /extendLoopNextNudge
x /extendLoopPrevNudge
x /reduceLoopNextSection
x /reduceLoopPrevSection
x /reduceLoopPrevNote
x /reduceLoopNextNote
x /reduceLoopNextBar
x /reduceLoopPrevBar
x /reduceLoopNextBeat
x /reduceLoopPrevBeat
x /reduceLoopNextNudge
x /reduceLoopPrevNudge

View

Snd Rcv OSC Address Parameters Description
x /zoomIn
x /zoomOut
x /zoomReset
x /scrollLeft
x /scrollRight

Other

Snd Rcv OSC Address Parameters Description
x /metronomeEnable
x

/spacebarActionToggle

x /halveBPM
x /doubleBPM
x /shiftLeftBeats
x /shiftRightBeats
x /sectionTrackTidyMarkers
x /sectionTrackDeleteAll
x /chordTrackTidyMarkers
x /chordTrackDeleteAll
x /insertNoteAtPlayhead
x /moveLoopLeft
x /moveLoopRight
x /moveLoopOneBarLeft
x /moveLoopOneBarRight
x /showAudioSettings
x /showAboutWindow
x /showProjectSettings
x /showAppSettings
x /showUserGuide
x /computeBeats
x /computeChords
x /computeKey
x /computeSections

 

Back to blog