diff options
author | SZÉKELYI Szabolcs <cc@mail.3d.hu> | 2014-09-14 18:41:47 +0200 |
---|---|---|
committer | Max Linke <kain88@mixxx.org> | 2014-09-14 18:41:47 +0200 |
commit | fcb49d4a57ff2a13f5ad48816813fb01cd1d404f (patch) | |
tree | bd01ad97964303ff69486e7822c1e55c4ce9b277 /res/controllers/Denon-DN-SC2000.midi.js | |
parent | 105bb098447ebca8e2f31377977cce51047ce971 (diff) |
PreviewDeck support for Denon DN-SC2000
Diffstat (limited to 'res/controllers/Denon-DN-SC2000.midi.js')
-rw-r--r-- | res/controllers/Denon-DN-SC2000.midi.js | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/res/controllers/Denon-DN-SC2000.midi.js b/res/controllers/Denon-DN-SC2000.midi.js index a421292570..dfbeffef4b 100644 --- a/res/controllers/Denon-DN-SC2000.midi.js +++ b/res/controllers/Denon-DN-SC2000.midi.js @@ -38,8 +38,10 @@ DenonDNSC2000.getDeckByGroup = function(group) { DenonDNSC2000.shift = function(midino, control, value, status, group) { shiftPressed = ((status & 0xF0) == 0x90); - if(!shiftPressed) + if(!shiftPressed) { engine.setValue(group, 'reverse', 0); + engine.setValue('[PreviewDeck1]', 'cue_gotoandstop', 1); + } } DenonDNSC2000.changeDeck = function(midino, control, value, status, group) { @@ -93,8 +95,13 @@ DenonDNSC2000.selectTrack = function (midino, control, value, status, group) { } DenonDNSC2000.loadSelectedTrack = function (midino, control, value, status, group) { - engine.setValue(group, 'LoadSelectedTrack', 1); - engine.beginTimer(1500, 'DenonDNSC2000.handleLeds("'+group+'")', true); + if(shiftPressed) { + engine.setValue('[PreviewDeck1]', 'LoadSelectedTrackAndPlay', 1); + } + else { + engine.setValue(group, 'LoadSelectedTrack', 1); + engine.beginTimer(1500, 'DenonDNSC2000.handleLeds("'+group+'")', true); + } } DenonDNSC2000.loopOrHotcues = function (midino, control, value, status, group) { @@ -352,11 +359,19 @@ DenonDNSC2000.pitchBend = function (midino, control, value, status, group) { } DenonDNSC2000.jog = function (midino, control, value, status, group) { - var deck = DenonDNSC2000.getDeckByGroup(group); - if(!deck.scratchMode) - deck.picthJog(value); - else - deck.scratchJog(value); + if(shiftPressed) { + if(!(engine.getValue('[PreviewDeck1]', 'play') == 0)) { + var currentPosition = engine.getValue('[PreviewDeck1]', 'playposition'); + engine.setValue('[PreviewDeck1]', 'playposition', currentPosition + (value - 64) * 0.0001); + } + } + else { + var deck = DenonDNSC2000.getDeckByGroup(group); + if(!deck.scratchMode) + deck.picthJog(value); + else + deck.scratchJog(value); + } } DenonDNSC2000.jogTouch = function (midino, control, value, status, group) { |