Scripting actions and notifications (list): Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
| (67 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    | |setPitchRange || 1 = 4%; 2 = 8%; 3 = 16%; 4 = 24%; 5 = 32%; 6 = 50%;  | ||
|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   | 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):  | Here is a list of the values you can request (using getValue):  | ||
=== Global values ===  | === Global values ===  | ||
{|  | {|class="wikitable"  | ||
! align="left"| Name  | |||
! Description  | |||
|-  | |||
|onAir  | |onAir  | ||
|-  | |-  | ||
| Line 687: | Line 763: | ||
|pitchRange  | |pitchRange  | ||
|-  | |-  | ||
|  | |monitorGain || [-40..0dB]  | ||
|  | |||
|}  | |}  | ||
=== Deck values ===  | === 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 |