Scripting actions and notifications (list): Difference between revisions
Jump to navigation
Jump to search
(68 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
=== Global actions (sliders/knobs) === | === Global actions (sliders/knobs) === | ||
{| | {|class="wikitable" | ||
! align="left"| Name | |||
! Description | |||
|- | |||
|setCrossfader | |setCrossfader | ||
|- | |- | ||
Line 19: | Line 22: | ||
|- | |- | ||
|setMasterBalance | |setMasterBalance | ||
|- | |||
|setMasterVolume | |||
|- | |- | ||
|setMasterGain | |setMasterGain | ||
|- | |||
|setMonitorVolume | |||
|- | |- | ||
|setMonitorGain | |setMonitorGain | ||
|- | |- | ||
|setPreview | |setPreview | ||
|- | |||
|setMicVolume | |||
|- | |- | ||
|setMicGain | |setMicGain | ||
Line 34: | Line 43: | ||
|setMicEqHigh | |setMicEqHigh | ||
|- | |- | ||
|lbMoveCursor | |lbMoveCursor || list/browser move selection (increment) | ||
|list/browser move selection (increment) | |- | ||
|setPitchRange || 1 = 4%; 2 = 8%; 3 = 16%; 4 = 24%; 5 = 32%; 6 = 50%; | |||
|- | |||
|setSamplerMasterVolume | |||
|- | |||
|setBoothVolume | |||
|- | |- | ||
| | |setMic2OnAir | ||
| | |- | ||
|setMic2Volume | |||
|- | |||
|setMic2EqLow | |||
|- | |||
|setMic2EqMid | |||
|- | |||
|setMic2EqHigh | |||
|- | |- | ||
|} | |} | ||
=== Global actions (buttons/switches) === | === Global actions (buttons/switches) === | ||
{| | {|class="wikitable" | ||
! align="left"| Name | |||
! Description | |||
|- | |||
|reload_skin || this is very useful when you map a skin and don't want to restart the software everytime you modify/edit the skin xml file (you can even assign a keyboard shortcut for it) | |||
|- | |||
|reload_midi || this is very useful when you map a MIDI/HID hardware controller and don't want to restart the software everytime you modify/edit the controller js file | |||
|- | |||
|minimize | |minimize | ||
|- | |- | ||
Line 50: | Line 78: | ||
|closeapp | |closeapp | ||
|- | |- | ||
|lbToggleSelect | |lbToggleSelect || list/browser toggle selection | ||
|list/browser toggle selection | |||
|- | |- | ||
|lbBrowserSelect | |lbBrowserSelect || browser select | ||
|browser select | |||
|- | |- | ||
|lbListSelect | |lbListSelect || list select | ||
|list select | |||
|- | |- | ||
|listInsert | |listInsert | ||
Line 114: | Line 139: | ||
|- | |- | ||
|reloadSkin | |reloadSkin | ||
|- | |||
|reloadMidi | |||
|- | |- | ||
|phonesSplit | |phonesSplit | ||
Line 144: | Line 171: | ||
|- | |- | ||
|samplerPlay | |samplerPlay | ||
|- | |||
|samplerStop | |||
|- | |||
|samplerInstant || plays only while you keep the button pressed | |||
|- | |- | ||
|samplerVolume | |samplerVolume | ||
|- | |||
|sampler1 .. sampler8 || these are used to mirror the UI sampler play buttons thus they can work in normal, stutter and instant mode (as configured in the software) | |||
|- | |- | ||
|hidePanel | |hidePanel | ||
Line 166: | Line 199: | ||
=== Deck actions (sliders/knobs) === | === Deck actions (sliders/knobs) === | ||
{| | {|class="wikitable" | ||
! align="left"| Name | |||
! Description | |||
|- | |||
|setDeckVolume | |setDeckVolume | ||
|- | |- | ||
Line 185: | Line 221: | ||
|setDeckEqHigh | |setDeckEqHigh | ||
|- | |- | ||
|searchDeckJW | |searchDeckJW || implemented as increments mode (deck,+/-inc,totalPositionsPerCompleteRevolution) | ||
|implemented as increments mode (deck,+/-inc,totalPositionsPerCompleteRevolution) | |||
|- | |- | ||
|scratchDeckJW | |scratchDeckJW || implemented as increments mode (deck,+/-inc,totalPositionsPerCompleteRevolution) | ||
|implemented as increments mode (deck,+/-inc,totalPositionsPerCompleteRevolution) | |||
|- | |- | ||
|moveDeckJogWheel | |moveDeckJogWheel || implemented as increments mode (deck,+/-inc,totalPositionsPerCompleteRevolution) | ||
|implemented as increments mode (deck,+/-inc,totalPositionsPerCompleteRevolution) | |||
|- | |- | ||
|holdDeckJogWheel | |holdDeckJogWheel | ||
|- | |- | ||
|moveDeckPitch | |moveDeckPitch || implemented as increments mode (deck,+/-inc) | ||
|implemented as increments mode (deck,+/-inc) | |||
|- | |- | ||
|deckFxPanDW | |deckFxPanDW || fx sliders (dry-wet, param1, param2) | ||
|fx sliders (dry-wet, param1, param2) | |||
|- | |- | ||
|deckFxFlangerDW | |deckFxFlangerDW | ||
Line 242: | Line 273: | ||
|deckFxBeatwawP2 | |deckFxBeatwawP2 | ||
|- | |- | ||
|deckFx1DryWet | |deckFx1DryWet || toggle effects banks | ||
|toggle effects banks | |||
|- | |- | ||
|deckFx1Param1 | |deckFx1Param1 | ||
Line 258: | Line 288: | ||
=== Deck actions (buttons/switches) === | === Deck actions (buttons/switches) === | ||
{| | {|class="wikitable" | ||
|deckLBLoad | ! align="left"| Name | ||
|list/browser load | ! Description | ||
|- | |||
|deckLBLoad || list/browser load | |||
|- | |- | ||
|deckFxSel | |deckFxSel | ||
Line 299: | Line 331: | ||
|- | |- | ||
|deckUnload | |deckUnload | ||
|- | |- | ||
|deckResetPitch | |deckResetPitch | ||
Line 347: | Line 375: | ||
|- | |- | ||
|deckLoopInstant64ths | |deckLoopInstant64ths | ||
|- | |- | ||
|deckLoopSong | |deckLoopSong | ||
Line 363: | Line 381: | ||
|- | |- | ||
|deckReverse | |deckReverse | ||
|- | |- | ||
|deckEqLowKill | |deckEqLowKill | ||
Line 429: | Line 445: | ||
|- | |- | ||
|deckFxBeatwaw | |deckFxBeatwaw | ||
|- | |||
|deckFxTremolo | |||
|- | |- | ||
|deckCueIn | |deckCueIn | ||
Line 476: | Line 494: | ||
|deckCuePosClear | |deckCuePosClear | ||
|- | |- | ||
|deckFx1Prev | |deckFx1Prev || toggle effects banks | ||
|toggle effects banks | |||
|- | |- | ||
|deckFx1Next | |deckFx1Next | ||
|- | |||
|deckFx1SetOn | |||
|- | |||
|deckFx1ToggleOn | |||
|- | |||
|deckSetFx1 | |||
|- | |- | ||
|deckFx2Prev | |deckFx2Prev | ||
|- | |- | ||
|deckFx2Next | |deckFx2Next | ||
|- | |||
|deckFx2SetOn | |||
|- | |||
|deckFx2ToggleOn | |||
|- | |||
|deckSetFx2 | |||
|- | |- | ||
|setDeckMonitor | |setDeckMonitor | ||
|- | |- | ||
|setDeckAnalogIn | |setDeckAnalogIn | ||
|- | |||
|deckSetCFAssign || assign the deck to the crossfader: to the left side, right side or simply skip the crossfader (THRU); input values: 0 (left), 1 (THRU), 2 (right)) | |||
|- | |||
|deckCFAssignToLeft | |||
|- | |||
|deckCFAssignToThru | |||
|- | |||
|deckCFAssignToRight | |||
|- | |||
|deckInstr || only instruments stem(s) | |||
|- | |||
|deckVocal || only vocal stem | |||
|- | |||
|deckStem1 .. 4 || order of stems: vocal, drums, bass, other instruments | |||
|- | |||
|deckStemMomentary1 .. 4 || same as above but only as the button is pressed | |||
|- | |||
|deckSetStem1 .. 4 | |||
|- | |||
|deckKeyDown | |||
|- | |||
|deckKeyUp | |||
|- | |||
|deckSyncKey | |||
|- | |||
|deckSyncKeyReset | |||
|- | |||
|deckQuantize | |||
|- | |||
|deckSlip | |||
|- | |||
|setTempValue | |||
|- | |||
|deckInstantLoad | |||
|- | |||
|deckLoopAdjustLeft | |||
|- | |||
|deckLoopAdjustRight | |||
|- | |||
|deckLoopAdjustBoth | |||
|- | |- | ||
|} | |} | ||
Line 497: | Line 566: | ||
=== Global notifications === | === Global notifications === | ||
{| | {|class="wikitable" | ||
| | ! align="left"| Name | ||
! Description | |||
|- | |- | ||
| | |sampler1 .. sampler8 || normal (classic) notification: 0 if no sample is loaded, 1 if a sample is loaded (optionally, you can also use param2 (float): 0.0 paused, 1.0 playing) | ||
|- | |- | ||
| | |samplerBlink1 .. samplerBlink8 || same as above but also with automatic blinking: 0 (off) no sample loaded, 1 (on) sample loaded and paused, 0/1 (blinking) sample playing | ||
|- | |- | ||
| | |onAir || *not in FutureDJ | ||
|- | |- | ||
| | |talkOver || *not in FutureDJ | ||
|- | |- | ||
| | |autoDj || *not in FutureDJ | ||
|- | |- | ||
| | |random || *not in FutureDJ | ||
|- | |- | ||
| | |recording | ||
|- | |- | ||
| | |lbMode || 0 current list, 1 browser, 2 sidelist/automix list | ||
| | |||
|- | |- | ||
| | |lbBrowsing || signal only (whenever the user browse for tracks using the controller - useful if you want to change to the browser/lists panel in a skin - you can then use the justLoaded notification to go back to the initial panel) | ||
| | |||
|- | |||
|- | |- | ||
|pitchRange | |pitchRange | ||
Line 533: | Line 593: | ||
=== Deck notifications === | === Deck notifications === | ||
{| | {|class="wikitable" | ||
! align="left"| Name | |||
! Description | |||
|- | |||
|beatPos || beat position into the bar (eg. 1,2,3,4) | |||
|- | |||
|play | |play | ||
|- | |- | ||
Line 547: | Line 612: | ||
|- | |- | ||
|looping | |looping | ||
|- | |||
|loopBlink || off (no loopIn, no looping); blink (loopIn, no looping yet); on (no loopIn, looping); | |||
|- | |- | ||
|monitor | |monitor | ||
Line 558: | Line 625: | ||
|cuepos3 | |cuepos3 | ||
|- | |- | ||
|cuepos4 | |cuepos4 .. cuepos16 || *not in FutureDJ | ||
| | |||
|*not in FutureDJ | |||
|- | |- | ||
| | |cueposin || *not in FutureDJ | ||
|*not in FutureDJ | |||
|- | |- | ||
| | |cueposout || *not in FutureDJ | ||
|*not in FutureDJ | |||
|- | |- | ||
|artist | |artist || *not in FutureDJ | ||
|*not in FutureDJ | |||
|- | |- | ||
|title | |title || *not in FutureDJ | ||
|*not in FutureDJ | |||
|- | |- | ||
|analogIn | |analogIn || *not in FutureDJ | ||
|*not in FutureDJ | |||
|- | |- | ||
|timecodeIn | |timecodeIn || *not in FutureDJ | ||
|*not in FutureDJ | |||
|- | |- | ||
| | |justLoaded || *not in FutureDJ -- 1,2 (loading in progress), 4 (loading ended), 8 (progress), 16 (detection started), 32 (detection finished); | ||
|*not in FutureDJ | |||
|- | |- | ||
| | |slicepos || slicer / slicer loop positions (what's active 1..8) | ||
| | |||
|- | |- | ||
|reverse | |reverse | ||
Line 612: | Line 658: | ||
|- | |- | ||
|fxBeatwaw | |fxBeatwaw | ||
|- | |||
|fxCutoffLP | |||
|- | |||
|fxCutoffHP | |||
|- | |||
|fxBitCrusher | |||
|- | |||
|fxTremolo | |||
|- | |||
|fx1 || the current effect (0-based) index in bank 1 | |||
|- | |||
|fx2 | |||
|- | |||
|fx1On || if the current effect in bank 1 is on or off | |||
|- | |||
|fx2On | |||
|- | |- | ||
|killLow | |killLow | ||
Line 619: | Line 681: | ||
|killHigh | |killHigh | ||
|- | |- | ||
|micKillLow | |micKillLow || *not in FutureDJ | ||
|*not in FutureDJ | |- | ||
|micKillMid || *not in FutureDJ | |||
|- | |||
|micKillHigh || *not in FutureDJ | |||
|- | |||
|sequencer | |||
|- | |||
|stem1 .. 4 | |||
|- | |||
|stemInstr || only instruments | |||
|- | |||
|stemVocal || only vocal | |||
|- | |||
|defaultLoop | |||
|- | |- | ||
| | |quantize | ||
|- | |- | ||
| | |slip | ||
|- | |- | ||
|} | |} | ||
== | == Values (getValue) == | ||
These are like the notifications but instead of the script waiting for them to be sent, it can request their value anytime. So the direction is SCRIPT -> FUTUREDECKS.<br/> | |||
Here is a list of the values you can request (using getValue): | |||
=== Global values === | |||
{|class="wikitable" | |||
! align="left"| Name | |||
! Description | |||
|- | |||
|onAir | |||
|- | |||
|talkOver | |||
|- | |||
|autoDj | |||
|- | |||
|random | |||
|- | |||
|lbMode | |||
|- | |||
|sampler1loaded | |||
|- | |||
|sampler2loaded | |||
|- | |||
|sampler3loaded | |||
|- | |||
|sampler4loaded | |||
|- | |||
|sampler5loaded | |||
|- | |||
|sampler6loaded | |||
|- | |||
|sampler7loaded | |||
|- | |||
|sampler8loaded | |||
|- | |||
|sampler1playing | |||
|- | |||
|sampler2playing | |||
|- | |||
|sampler3playing | |||
|- | |||
|sampler4playing | |||
|- | |||
|sampler5playing | |||
|- | |||
|sampler6playing | |||
|- | |||
|sampler7playing | |||
|- | |||
|sampler8playing | |||
|- | |||
|crossfader | |||
|- | |||
|cfAudio | |||
|- | |||
|cfVideo | |||
|- | |||
|pitchRange | |||
|- | |||
|monitorGain || [-40..0dB] | |||
|} | |||
=== Deck values === | |||
{|class="wikitable" | |||
! align="left"| Name | |||
! Description | |||
|- | |||
|bpm || float | |||
|- | |||
|currentBpm || float | |||
|- | |||
|pitch || 100ths of % [-5000..+5000] | |||
|- | |||
|timeElapsed || float [s] | |||
|- | |||
|timeRemain || float [s] | |||
|- | |||
|timeTotal | |||
|- | |||
|artist-title || string (UTF-8) | |||
|- | |||
|artist || string (UTF-8) | |||
|- | |||
|title || string (UTF-8) | |||
|- | |||
|jogWheelAngle || float [0..359.(9)] | |||
|- | |||
|beatDiff || float [-1..1] | |||
|- | |||
|play | |||
|- | |||
|cue | |||
|- | |||
|keyLock | |||
|- | |||
|pitchIs0 | |||
|- | |||
|loopSize | |||
|- | |||
|looping | |||
|- | |||
|loopIn | |||
|- | |||
|monitor | |||
|- | |||
|cuepos1 | |||
|- | |||
|cuepos2 | |||
|- | |||
|cuepos3 | |||
|- | |||
|cuepos4 | |||
|- | |||
|cuepos5 | |||
|- | |||
|cuepos6 | |||
|- | |||
|cuepos7 | |||
|- | |||
|cuepos8 | |||
|- | |||
|cuepos9 | |||
|- | |||
|cuepos10 | |||
|- | |||
|onbeat | |||
|- | |||
|vumeterDeck || float [dB] | |||
|- | |||
|vumeterDeckL || float [dB] | |||
|- | |||
|vumeterDeckR || float [dB] | |||
|- | |||
|vumeterMic || float [dB] | |||
|- | |||
|vumeterMasterL || float [dB] | |||
|- | |||
|vumeterMasterR || float [dB] | |||
|- | |||
|analogIn | |||
|- | |||
|timecodeIn | |||
|- | |||
|reverse | |||
|- | |||
|micKillLow | |||
|- | |||
|micKillMid | |||
|- | |||
|micKillHigh | |||
|- | |||
|killLow | |||
|- | |||
|killMid | |||
|- | |||
|killHigh | |||
|- | |||
|fxPan | |||
|- | |||
|fxFlanger | |||
|- | |||
|fxPhaser | |||
|- | |||
|fxReverb | |||
|- | |||
|fxEcho | |||
|- | |||
|fxDelay | |||
|- | |||
|fxBeatwaw | |||
|- | |||
|fxPanDryWet | |||
|- | |||
|fxFlangerDryWet | |||
|- | |||
|fxPhaserDryWet | |||
|- | |||
|fxReverbDryWet | |||
|- | |||
|fxEchoDryWet | |||
|- | |||
|fxDelayDryWet | |||
|- | |||
|fxBeatwawDryWet | |||
|- | |||
|fxPanParam1 | |||
|- | |||
|fxFlangerParam1 | |||
|- | |||
|fxPhaserParam1 | |||
|- | |||
|fxReverbParam1 | |||
|- | |||
|fxEchoParam1 | |||
|- | |||
|fxDelayParam1 | |||
|- | |||
|fxBeatwawParam1 | |||
|- | |||
|fxPanParam2 | |||
|- | |||
|fxFlangerParam2 | |||
|- | |||
|fxPhaserParam2 | |||
|- | |||
|fxReverbParam2 | |||
|- | |||
|fxEchoParam2 | |||
|- | |||
|- | |||
|fxDelayParam2 | |||
|- | |||
|fxBeatwawParam2 | |||
|- | |||
|fx1 || current effect for bank 1 | |||
|- | |||
|fx2 || current effect for bank 2 (0 flanger, 1 echo, 2 beatwaw, 3 reverb, 4 delay, 5 pan, 6 phaser; etc. Note that the order or the actual effects list might change.) | |||
|- | |||
|fx1Total || how many effects to choose from in bank 1 | |||
|- | |||
|fx2Total || how many effects to choose from in bank 2 | |||
|- | |||
|fx1DryWet | |||
|- | |||
|fx2DryWet | |||
|- | |||
|fx1Param1 | |||
|- | |||
|fx2Param1 | |||
|- | |||
|fx1Param2 | |||
|- | |||
|fx2Param2 | |||
|- | |||
|originalKey || original musical key index starting with 0 (none, A, A#, B, C, C#, D, D#, E, F, F#, G, G#, Am, A#m, Bm, Cm, C#m, Dm, D#m, Em, Fm, F#m, Gm, G#m) | |||
|- | |||
|currentKey || current musical key index (the same as above if the key was not altered) | |||
|- | |||
|key || current key change (eg. 1 semitone) | |||
|- | |||
|stem1 .. 4 | |||
|- | |||
|markerColor | |||
|- | |||
|markerName | |||
|- | |||
|markerType | |||
|- | |||
|markerPos | |||
|- | |||
|defaultLoop | |||
|- | |||
|quantize | |||
|- | |||
|slip | |||
|- | |||
|originalKeyName | |||
|- | |||
|currentKeyName | |||
|- | |||
|originalKeyColor | |||
|- | |||
|currentKeyColor | |||
|- | |||
|loopInPos | |||
|- | |||
|loopOutPos | |||
|- | |||
|tempValue | |||
|- | |||
|} |
Latest revision as of 10:43, 27 April 2024
Actions
Actions are called by the script itself. So the direction is SCRIPT -> FUTUREDECKS.
Here is a list of the actions you can call:
Global actions (sliders/knobs)
Name | Description |
---|---|
setCrossfader | |
setCFCurve | |
setCFAudio | |
setCFVideo | |
setCuePflMix | |
setCuePgmMix | |
setMasterBalance | |
setMasterVolume | |
setMasterGain | |
setMonitorVolume | |
setMonitorGain | |
setPreview | |
setMicVolume | |
setMicGain | |
setMicEqLow | |
setMicEqMid | |
setMicEqHigh | |
lbMoveCursor | list/browser move selection (increment) |
setPitchRange | 1 = 4%; 2 = 8%; 3 = 16%; 4 = 24%; 5 = 32%; 6 = 50%; |
setSamplerMasterVolume | |
setBoothVolume | |
setMic2OnAir | |
setMic2Volume | |
setMic2EqLow | |
setMic2EqMid | |
setMic2EqHigh |
Global actions (buttons/switches)
Name | Description |
---|---|
reload_skin | this is very useful when you map a skin and don't want to restart the software everytime you modify/edit the skin xml file (you can even assign a keyboard shortcut for it) |
reload_midi | this is very useful when you map a MIDI/HID hardware controller and don't want to restart the software everytime you modify/edit the controller js file |
minimize | |
maximize | |
closeapp | |
lbToggleSelect | list/browser toggle selection |
lbBrowserSelect | browser select |
lbListSelect | list select |
listInsert | |
listInsertAll | |
listNew | |
listDelete | |
listEdit | |
listExport | |
listLoad | |
listSaveAs | |
listAdd | |
listAddDir | |
listRemove | |
listClear | |
listRandom | |
listShuffle | |
listDragUp | |
listDragDown | |
listDragTop | |
listDragBottom | |
listSelect | |
record | |
mixNext | |
setAutoDj | |
previewSong | |
searchStop | |
autoDjMore | |
autoDjLess | |
limiter | |
reloadSkin | |
reloadMidi | |
phonesSplit | |
syncLock | |
masterFxAdd | |
masterFxSel | |
samplesSel | |
micFxSel | |
micFxAdd | |
micTalkOver | |
micOnAir | |
setMicTalkOver | |
setMicOnAir | |
micEqLowKill | |
micEqMidKill | |
micEqHighKill | |
samplerPlay | |
samplerStop | |
samplerInstant | plays only while you keep the button pressed |
samplerVolume | |
sampler1 .. sampler8 | these are used to mirror the UI sampler play buttons thus they can work in normal, stutter and instant mode (as configured in the software) |
hidePanel | |
showPanel | |
showPrevPanel | |
showNextPanel | |
sleep | |
showHelp | |
showCfg | |
setPhonesSplit |
Deck actions (sliders/knobs)
Name | Description |
---|---|
setDeckVolume | |
setDeckPitch | |
setDeckPitchKey | |
setDeckPos | |
setDeckCutoff | |
setDeckGain | |
setDeckEqLow | |
setDeckEqMid | |
setDeckEqHigh | |
searchDeckJW | implemented as increments mode (deck,+/-inc,totalPositionsPerCompleteRevolution) |
scratchDeckJW | implemented as increments mode (deck,+/-inc,totalPositionsPerCompleteRevolution) |
moveDeckJogWheel | implemented as increments mode (deck,+/-inc,totalPositionsPerCompleteRevolution) |
holdDeckJogWheel | |
moveDeckPitch | implemented as increments mode (deck,+/-inc) |
deckFxPanDW | fx sliders (dry-wet, param1, param2) |
deckFxFlangerDW | |
deckFxPhaserDW | |
deckFxReverbDW | |
deckFxEchoDW | |
deckFxDelayDW | |
deckFxBeatwawDW | |
deckFxPanP1 | |
deckFxFlangerP1 | |
deckFxPhaserP1 | |
deckFxReverbP1 | |
deckFxEchoP1 | |
deckFxDelayP1 | |
deckFxBeatwawP1 | |
deckFxPanP2 | |
deckFxFlangerP2 | |
deckFxPhaserP2 | |
deckFxReverbP2 | |
deckFxEchoP2 | |
deckFxDelayP2 | |
deckFxBeatwawP2 | |
deckFx1DryWet | toggle effects banks |
deckFx1Param1 | |
deckFx1Param2 | |
deckFx2DryWet | |
deckFx2Param1 | |
deckFx2Param2 |
Deck actions (buttons/switches)
Name | Description |
---|---|
deckLBLoad | list/browser load |
deckFxSel | |
deckFxAdd | |
deckSync | |
deckMatch | |
deckMonitor | |
deckBoost | |
deckMute | |
deckInMaster | |
deckEditBpm | |
deckSaveBpm | |
deckTapBpm | |
deckBackToTop | |
deckSetCue | |
deckCue | |
deckPlayPause | |
deckCuePlay | |
deckBendDown | |
deckBendUp | |
deckUnload | |
deckResetPitch | |
deckLoadNext | |
deckLoopInEnd | |
deckLoopExit | |
deckLoopExitOrReloop | |
deckLoopReloop | |
deckLoopPrev | |
deckLoopNext | |
deckLoopLess | |
deckLoopMore | |
deckLoop1_16 | |
deckLoop1_8 | |
deckLoop1_4 | |
deckLoop1_2 | |
deckLoop1 | |
deckLoop2 | |
deckLoop4 | |
deckLoop8 | |
deckLoop16 | |
deckLoop32 | |
deckLoopNormal64ths | |
deckLoopInstant64ths | |
deckLoopSong | |
deckSlowBpm | |
deckReverse | |
deckEqLowKill | |
deckEqMidKill | |
deckEqHighKill | |
deckSearchLeft | |
deckSearchRight | |
deckScratch | |
deckSkipBeatPrev | |
deckSkipBeatNext | |
deckSkipBarPrev | |
deckSkipBarNext | |
deckKeyLock | |
deckAnalogIn | |
deckTimecodeIn | |
deckFxEdit1 | |
deckFxEdit2 | |
deckFxEdit3 | |
deckFxEdit4 | |
deckFxLoad1 | |
deckFxLoad2 | |
deckFxLoad3 | |
deckFxLoad4 | |
deckFxOn1 | |
deckFxOn2 | |
deckFxOn3 | |
deckFxOn4 | |
deckFxPan | |
deckFxFlanger | |
deckFxPhaser | |
deckFxReverb | |
deckFxEcho | |
deckFxDelay | |
deckFxBeatwaw | |
deckFxTremolo | |
deckCueIn | |
deckCueOut | |
deckCuePos1 | |
deckCuePos2 | |
deckCuePos3 | |
deckCuePos4 | |
deckCuePos5 | |
deckCuePos6 | |
deckCuePos7 | |
deckCuePos8 | |
deckCuePos9 | |
deckCuePos10 | |
deckCuePos1Clear | |
deckCuePos2Clear | |
deckCuePos3Clear | |
deckCuePos4Clear | |
deckCuePos5Clear | |
deckCuePos6Clear | |
deckCuePos7Clear | |
deckCuePos8Clear | |
deckCuePos9Clear | |
deckCuePos10Clear | |
deckCuePosClear | |
deckFx1Prev | toggle effects banks |
deckFx1Next | |
deckFx1SetOn | |
deckFx1ToggleOn | |
deckSetFx1 | |
deckFx2Prev | |
deckFx2Next | |
deckFx2SetOn | |
deckFx2ToggleOn | |
deckSetFx2 | |
setDeckMonitor | |
setDeckAnalogIn | |
deckSetCFAssign | assign the deck to the crossfader: to the left side, right side or simply skip the crossfader (THRU); input values: 0 (left), 1 (THRU), 2 (right)) |
deckCFAssignToLeft | |
deckCFAssignToThru | |
deckCFAssignToRight | |
deckInstr | only instruments stem(s) |
deckVocal | only vocal stem |
deckStem1 .. 4 | order of stems: vocal, drums, bass, other instruments |
deckStemMomentary1 .. 4 | same as above but only as the button is pressed |
deckSetStem1 .. 4 | |
deckKeyDown | |
deckKeyUp | |
deckSyncKey | |
deckSyncKeyReset | |
deckQuantize | |
deckSlip | |
setTempValue | |
deckInstantLoad | |
deckLoopAdjustLeft | |
deckLoopAdjustRight | |
deckLoopAdjustBoth |
Notifications
Notifications are pushed to the script by FutureDecks. So the direction is FUTUREDECKS -> SCRIPT.
Here is a list of the notifications you will receive:
Global notifications
Name | Description |
---|---|
sampler1 .. sampler8 | normal (classic) notification: 0 if no sample is loaded, 1 if a sample is loaded (optionally, you can also use param2 (float): 0.0 paused, 1.0 playing) |
samplerBlink1 .. samplerBlink8 | same as above but also with automatic blinking: 0 (off) no sample loaded, 1 (on) sample loaded and paused, 0/1 (blinking) sample playing |
onAir | *not in FutureDJ |
talkOver | *not in FutureDJ |
autoDj | *not in FutureDJ |
random | *not in FutureDJ |
recording | |
lbMode | 0 current list, 1 browser, 2 sidelist/automix list |
lbBrowsing | signal only (whenever the user browse for tracks using the controller - useful if you want to change to the browser/lists panel in a skin - you can then use the justLoaded notification to go back to the initial panel) |
pitchRange |
Deck notifications
Name | Description |
---|---|
beatPos | beat position into the bar (eg. 1,2,3,4) |
play | |
cue | |
keyLock | |
pitchIs0 | |
loopSize | |
loopIn | |
looping | |
loopBlink | off (no loopIn, no looping); blink (loopIn, no looping yet); on (no loopIn, looping); |
monitor | |
onbeat | |
cuepos1 | |
cuepos2 | |
cuepos3 | |
cuepos4 .. cuepos16 | *not in FutureDJ |
cueposin | *not in FutureDJ |
cueposout | *not in FutureDJ |
artist | *not in FutureDJ |
title | *not in FutureDJ |
analogIn | *not in FutureDJ |
timecodeIn | *not in FutureDJ |
justLoaded | *not in FutureDJ -- 1,2 (loading in progress), 4 (loading ended), 8 (progress), 16 (detection started), 32 (detection finished); |
slicepos | slicer / slicer loop positions (what's active 1..8) |
reverse | |
fxPan | |
fxFlanger | |
fxPhaser | |
fxReverb | |
fxEcho | |
fxDelay | |
fxBeatwaw | |
fxCutoffLP | |
fxCutoffHP | |
fxBitCrusher | |
fxTremolo | |
fx1 | the current effect (0-based) index in bank 1 |
fx2 | |
fx1On | if the current effect in bank 1 is on or off |
fx2On | |
killLow | |
killMid | |
killHigh | |
micKillLow | *not in FutureDJ |
micKillMid | *not in FutureDJ |
micKillHigh | *not in FutureDJ |
sequencer | |
stem1 .. 4 | |
stemInstr | only instruments |
stemVocal | only vocal |
defaultLoop | |
quantize | |
slip |
Values (getValue)
These are like the notifications but instead of the script waiting for them to be sent, it can request their value anytime. So the direction is SCRIPT -> FUTUREDECKS.
Here is a list of the values you can request (using getValue):
Global values
Name | Description |
---|---|
onAir | |
talkOver | |
autoDj | |
random | |
lbMode | |
sampler1loaded | |
sampler2loaded | |
sampler3loaded | |
sampler4loaded | |
sampler5loaded | |
sampler6loaded | |
sampler7loaded | |
sampler8loaded | |
sampler1playing | |
sampler2playing | |
sampler3playing | |
sampler4playing | |
sampler5playing | |
sampler6playing | |
sampler7playing | |
sampler8playing | |
crossfader | |
cfAudio | |
cfVideo | |
pitchRange | |
monitorGain | [-40..0dB] |
Deck values
Name | Description |
---|---|
bpm | float |
currentBpm | float |
pitch | 100ths of % [-5000..+5000] |
timeElapsed | float [s] |
timeRemain | float [s] |
timeTotal | |
artist-title | string (UTF-8) |
artist | string (UTF-8) |
title | string (UTF-8) |
jogWheelAngle | float [0..359.(9)] |
beatDiff | float [-1..1] |
play | |
cue | |
keyLock | |
pitchIs0 | |
loopSize | |
looping | |
loopIn | |
monitor | |
cuepos1 | |
cuepos2 | |
cuepos3 | |
cuepos4 | |
cuepos5 | |
cuepos6 | |
cuepos7 | |
cuepos8 | |
cuepos9 | |
cuepos10 | |
onbeat | |
vumeterDeck | float [dB] |
vumeterDeckL | float [dB] |
vumeterDeckR | float [dB] |
vumeterMic | float [dB] |
vumeterMasterL | float [dB] |
vumeterMasterR | float [dB] |
analogIn | |
timecodeIn | |
reverse | |
micKillLow | |
micKillMid | |
micKillHigh | |
killLow | |
killMid | |
killHigh | |
fxPan | |
fxFlanger | |
fxPhaser | |
fxReverb | |
fxEcho | |
fxDelay | |
fxBeatwaw | |
fxPanDryWet | |
fxFlangerDryWet | |
fxPhaserDryWet | |
fxReverbDryWet | |
fxEchoDryWet | |
fxDelayDryWet | |
fxBeatwawDryWet | |
fxPanParam1 | |
fxFlangerParam1 | |
fxPhaserParam1 | |
fxReverbParam1 | |
fxEchoParam1 | |
fxDelayParam1 | |
fxBeatwawParam1 | |
fxPanParam2 | |
fxFlangerParam2 | |
fxPhaserParam2 | |
fxReverbParam2 | |
fxEchoParam2 | |
fxDelayParam2 | |
fxBeatwawParam2 | |
fx1 | current effect for bank 1 |
fx2 | current effect for bank 2 (0 flanger, 1 echo, 2 beatwaw, 3 reverb, 4 delay, 5 pan, 6 phaser; etc. Note that the order or the actual effects list might change.) |
fx1Total | how many effects to choose from in bank 1 |
fx2Total | how many effects to choose from in bank 2 |
fx1DryWet | |
fx2DryWet | |
fx1Param1 | |
fx2Param1 | |
fx1Param2 | |
fx2Param2 | |
originalKey | original musical key index starting with 0 (none, A, A#, B, C, C#, D, D#, E, F, F#, G, G#, Am, A#m, Bm, Cm, C#m, Dm, D#m, Em, Fm, F#m, Gm, G#m) |
currentKey | current musical key index (the same as above if the key was not altered) |
key | current key change (eg. 1 semitone) |
stem1 .. 4 | |
markerColor | |
markerName | |
markerType | |
markerPos | |
defaultLoop | |
quantize | |
slip | |
originalKeyName | |
currentKeyName | |
originalKeyColor | |
currentKeyColor | |
loopInPos | |
loopOutPos | |
tempValue |