Scripting actions and notifications (list): Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
No edit summary  | 
				|||
| (76 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
Actions are called by the script itself. So the direction is SCRIPT -> FUTUREDECKS.<br/>  | Actions are called by the script itself. So the direction is SCRIPT -> FUTUREDECKS.<br/>  | ||
Here is a list of the   | Here is a list of the actions you can call:  | ||
<br/>  | |||
=== Global actions (sliders/knobs) ===  | |||
{|class="wikitable"  | |||
! align="left"| 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) ===  | |||
{|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  | |||
|-  | |||
|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) ===  | |||
{|class="wikitable"  | |||
! align="left"| 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) ===  | |||
{|class="wikitable"  | |||
! align="left"| 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.<br/>  | |||
Here is a list of the notifications you will receive:  | |||
=== 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  | |||
|-  | |||
|}  | |||
=== Deck notifications ===  | |||
{|class="wikitable"  | |||
! align="left"| 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.<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 |