Data Jockey: Open Sound Control
The following describes Data Jockey's
Open
Sound Control (OSC) implementation. OSC allows users to
control Data Jockey externally, using hardware interfaces or other
software.
Port:
The port with which Data Jockey accepts OSC messages can be specified
in the config file, or using a command line argument
--osc-port.
Layout:
Below is the layout of the OSC messages that Data Jockey
recognizes. See the next section for examples of full OSC
messages. Note: all off the boolean arguments
can be substituted with an integer value of 0 == false or 1 == true.
- /datajockey
- /mixer/index
(int 0..number of mixers - 1)
the index of the mixer to address, 0 is the first, 1 is the second
- /volume
- value
(float 0..2)
set the volume to value
- /volume/relative value
(float)
increment/decrement the volume by value
- /mute
- value
(boolean)
true == mute, false == unmute
- /mute/toggle
toggle the mute state
- /eq/{high|mid|low}
address the eq section
- value
(float -1..1)
set the eq value
- /relative value
(float)
increment/decrement the eq value
-
/play
- value
(boolean)
true == play, false == pause
- /toggle
toggle the play/pause state
-
/cue
- value
(boolean)
true == cue, false == play on the main outs
- /toggle
toggle the cue state
-
/sync
- value
(boolean)
true == sync to master clock, false == run free
- /toggle
toggle the sync state
-
/seek
- value
(int)
seek to a specific beat (or second if there is no beat data)
- /relative value
(int)
seek forward or backward the given number of beats (or seconds)
-
/reset
reset the playback position to the first beat selected (see the beat offset)
-
/beatoffset
the beat number which will the song will jump to on reset
- value
(int)
set the beat offset
- /relative value
(int)
increment/decrement the beat offset
-
/tempomul
- value
(float)
set the tempo multiplier.
When a mixer is in sync mode, this makes the song run x times the tempo of the master tempo.
When a mixer is in free mode, this makes sets the playback speed.
-
/load id
(int 1..)
load the work that has the id "id" in the database
- /crossfade
- value
(float 0..1)
set the crossfade value, 0 is full left, 1 is full right
- /relative value
(float)
increment/decrement the crossfade value
- /mixers index_left index_right
(int int)
set the mixers to crossfade between
- /enable
(boolean)
enable/disable the crossfader
- /master
- /volume
- value
(float 0..2)
set the master volume
- /volume/relative value
(float)
increment/decrement the master volume
- /tempo
- value
(float)
set the master tempo in beats per minute
- /tempo/relative value
(float)
increment/decrement the master tempo
- /syncsource
(int 0..number of mixers)
set the master tempo sync source, 0 == run free, 1 == the first mixer,..
Examples:
Below are some examples of full OSC messages that a user might send
to Data Jockey.
- /datajockey/mixer/0/volume 1.0
Sets the volume of mixer 0 [the first mixer] to the value of 1.0.
- /datajockey/mixer/2/volume/relative -0.1
Decrements the value of mixer 2 [the 3rd mixer] by -0.1.
- /datajockey/mixer/0/eq/high -1
Cuts all the highs out of the audio from mixer 0.
- /datajockey/mixer/1/eq/low 1
Fully boosts the low eq of the audio from mixer 1.
- /datajockey/mixer/1/mute/toggle
Toggles the mute state of mixer 1.
- /datajockey/mixer/1/mute 1
Mutes mixer 1.
- /datajockey/crossfade/enable false
Disables the crossfader.
- /datajockey/master/tempo 140.0
Sets the master tempo to 140 beats per minute.