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
 | 
| 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
 | 
| 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
 | 
| 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
 | 
| 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
 | 
| deckFx2Prev
 | 
| deckFx2Next
 | 
| deckFx2SetOn
 | 
| deckFx2ToggleOn
 | 
| 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
 | 
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
 | 
| killLow
 | 
| killMid
 | 
| killHigh
 | 
| micKillLow | 
*not in FutureDJ
 | 
| micKillMid | 
*not in FutureDJ
 | 
| micKillHigh | 
*not in FutureDJ
 | 
| sequencer
 | 
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;])
 | 
| fx1DryWet
 | 
| fx2DryWet
 | 
| fx1Param1
 | 
| fx2Param1
 | 
| fx1Param2
 | 
| fx2Param2
 |