summaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authorJustin Kourie <justin.kourie+github@gmail.com>2021-01-07 16:50:13 +0200
committerJustin Kourie <justin.kourie+github@gmail.com>2021-01-30 16:54:08 +0200
commitd03096d47b0e74198e5b1d1c7c74f016af7d466a (patch)
treeaf50fc573bf8064623d3aae828c8025c15ee89d4 /res
parent4ed1ebf5c0aa8d023a7f1a4c5811761440ab79fb (diff)
Uses shift to toggle meta/mix mapping on Level/Depth knob
Diffstat (limited to 'res')
-rw-r--r--res/controllers/Pioneer-DDJ-400-script.js21
-rw-r--r--res/controllers/Pioneer-DDJ-400.midi.xml21
2 files changed, 37 insertions, 5 deletions
diff --git a/res/controllers/Pioneer-DDJ-400-script.js b/res/controllers/Pioneer-DDJ-400-script.js
index 5ab827fdd5..75a2e4998f 100644
--- a/res/controllers/Pioneer-DDJ-400-script.js
+++ b/res/controllers/Pioneer-DDJ-400-script.js
@@ -108,7 +108,9 @@ PioneerDDJ400.beta = PioneerDDJ400.alpha/32;
PioneerDDJ400.fastSeekScale = 150;
PioneerDDJ400.bendScale = 0.9;
-PioneerDDJ400.tempoRanges = [0.06, 0.10, 0.16, 0.25]; // WIDE = 25%?
+PioneerDDJ400.tempoRanges = [0.06, 0.10, 0.16, 0.25];
+
+PioneerDDJ400.shiftButtonDown = [false, false];
// Jog wheel loop adjust
PioneerDDJ400.loopAdjustIn = [false, false];
@@ -227,12 +229,12 @@ PioneerDDJ400.focusedFxGroup = function() {
};
PioneerDDJ400.beatFxLevelDepthRotate = function(_channel, _control, value) {
- if (engine.getValue(PioneerDDJ400.focusedFxGroup(), "enabled")) {
- engine.softTakeoverIgnoreNextValue(PioneerDDJ400.focusedFxGroup(), "meta");
- engine.setParameter("[EffectRack1_EffectUnit1]", "mix", value / 0x7F);
- } else {
+ if (PioneerDDJ400.shiftButtonDown[0] || PioneerDDJ400.shiftButtonDown[1]) {
engine.softTakeoverIgnoreNextValue("[EffectRack1_EffectUnit1]", "mix");
engine.setParameter(PioneerDDJ400.focusedFxGroup(), "meta", value / 0x7F);
+ } else {
+ engine.softTakeoverIgnoreNextValue(PioneerDDJ400.focusedFxGroup(), "meta");
+ engine.setParameter("[EffectRack1_EffectUnit1]", "mix", value / 0x7F);
}
};
@@ -485,6 +487,15 @@ PioneerDDJ400.jogTouch = function(channel, _control, value) {
};
//
+// Shift button
+//
+
+PioneerDDJ400.shiftPressed = function(channel, _control, value, _status, _group) {
+ PioneerDDJ400.shiftButtonDown[channel] = value === 0x7F;
+};
+
+
+//
// Tempo sliders
//
// The tempo option in Mixxx's deck preferences determine whether down/up
diff --git a/res/controllers/Pioneer-DDJ-400.midi.xml b/res/controllers/Pioneer-DDJ-400.midi.xml
index a4b19dbad3..ada5d24e35 100644
--- a/res/controllers/Pioneer-DDJ-400.midi.xml
+++ b/res/controllers/Pioneer-DDJ-400.midi.xml
@@ -73,6 +73,27 @@
DECK Section START
-->
<control>
+ <description>Shift (DECK1)</description>
+ <group>[Channel1]</group>
+ <key>PioneerDDJ400.shiftPressed</key>
+ <status>0x90</status>
+ <midino>0x3F</midino>
+ <options>
+ <Script-Binding/>
+ </options>
+ </control>
+ <control>
+ <description>Shift (DECK2)</description>
+ <group>[Channel2]</group>
+ <key>PioneerDDJ400.shiftPressed</key>
+ <status>0x91</status>
+ <midino>0x3F</midino>
+ <options>
+ <Script-Binding/>
+ </options>
+ </control>
+
+ <control>
<description>PLAY/PAUSE (DECK1) - press - Play/Pause</description>
<group>[Channel1]</group>
<key>play</key>