summaryrefslogtreecommitdiffstats
path: root/res/controllers/Denon-DN-SC2000.midi.js
diff options
context:
space:
mode:
authorSZÉKELYI Szabolcs <cc@mail.3d.hu>2014-09-14 18:41:47 +0200
committerMax Linke <kain88@mixxx.org>2014-09-14 18:41:47 +0200
commitfcb49d4a57ff2a13f5ad48816813fb01cd1d404f (patch)
treebd01ad97964303ff69486e7822c1e55c4ce9b277 /res/controllers/Denon-DN-SC2000.midi.js
parent105bb098447ebca8e2f31377977cce51047ce971 (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.js31
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) {