Scripting actions and notifications (list): Difference between revisions
Jump to navigation
Jump to search
m (→Deck values) |
|||
Line 289: | Line 289: | ||
|- | |- | ||
|deckMatch | |deckMatch | ||
|- | |||
|deckSyncKey | |||
|- | |||
|deckSyncKeyReset | |||
|- | |- | ||
|deckMonitor | |deckMonitor |
Revision as of 13:22, 17 March 2023
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 |
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 | |
deckSyncKey | |
deckSyncKeyReset | |
deckMonitor | |
deckBoost | |
deckMute | |
deckInMaster | |
deckEditBpm | |
deckSaveBpm | |
deckTapBpm | |
deckBackToTop | |
deckSetCue | |
deckCue | |
deckPlayPause | |
deckCuePlay | |
deckBendDown | |
deckBendUp | |
deckUnload | |
deckRev | |
deckFwd | |
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 | |
deckLoopPoint1 | |
deckLoopPoint2 | |
deckLoopPoint3 | |
deckLoopPoint4 | |
deckLoopPoint5 | |
deckLoopPoint6 | |
deckLoopPoint7 | |
deckLoopPoint8 | |
deckLoopSong | |
deckLoopMode | Vinyl or Slip mode |
deckSlowBpm | |
deckReverse | |
deckBrake | |
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 | |
deckStem1 .. 4 | |
deckStemMomentary1 .. 4 | same as above but only as the button is pressed |
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 | |
loopMode | 0 vinyl mode, 1 slip mode |
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 |
brake | *not in FutureDJ |
justLoaded | *not in FutureDJ -- 1,2 (loading in progress), 4 (loading ended), 8 (progress), 16 (detection started), 32 (detection finished); |
looppos1 .. looppos8 | *not in FutureDJ |
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 |
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] |
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 | |
brake | |
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) |