summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean M. Pappalardo <pegasus@renegadetech.com>2016-01-06 13:46:16 -0800
committerSean M. Pappalardo <pegasus@renegadetech.com>2016-01-06 13:46:16 -0800
commit37decfb5c6a0299f4a6e0836b052d7b454dede0e (patch)
tree79e6c9b4549457530237f08101f739e34bf5f8bc
parent5c0b806536ad6f0da2234c358cde979c94644fbe (diff)
parent3dae24c6734aa97e126c2b19bbcbc06bb0e4ba11 (diff)
Merge branch '2.0' into scs3d
-rw-r--r--README2
-rw-r--r--build/debian/control1
-rw-r--r--build/debian/control.raring1
-rw-r--r--build/debian/control.saucy1
-rw-r--r--build/debian/control.trusty1
-rw-r--r--build/debian/control.utopic1
-rw-r--r--build/debian/control.vivid3
-rw-r--r--build/debian/control.wily1
-rw-r--r--build/depends.py6
-rw-r--r--build/features.py15
-rw-r--r--build/nsis/Mixxx.nsi4
-rw-r--r--build/osx/OSConsX.py2
-rw-r--r--res/controllers/Denon-MC6000MK2.midi.xml2
-rw-r--r--res/controllers/Electrix Tweaker.midi.xml6
-rw-r--r--res/controllers/Hercules DJ Console 4-Mx.midi.xml1
-rw-r--r--res/controllers/Hercules DJ Console RMX.midi.xml20
-rw-r--r--res/controllers/Hercules DJ Control Instinct.midi.xml148
-rw-r--r--res/controllers/Hercules DJ Control MP3 e2.midi.xml4
-rw-r--r--res/controllers/Hercules-DJ-Console-4-Mx-scripts.js4
-rw-r--r--res/controllers/Hercules-DJ-Console-RMX-scripts.js22
-rw-r--r--res/controllers/Midi_for_light.midi.xml2
-rw-r--r--res/controllers/Novation-Launchpad-Mini.midi.xml2
-rw-r--r--res/controllers/Reloop Beatpad.midi.xml2
-rw-r--r--res/controllers/Vestax Typhoon.midi.xml4
-rw-r--r--res/controllers/Vestax VCI-100MKII.midi.xml2
-rw-r--r--res/controllers/Vestax VCI-300.midi.xml2
-rw-r--r--src/SConscript2
-rw-r--r--src/analyserqueue.cpp13
-rw-r--r--src/defs_version.h39
-rw-r--r--src/dlgpreferences.cpp6
-rw-r--r--src/dlgpreflibrary.cpp13
-rw-r--r--src/dlgpreflibrarydlg.ui6
32 files changed, 231 insertions, 107 deletions
diff --git a/README b/README
index cf7f15fa7e..5429d5bca5 100644
--- a/README
+++ b/README
@@ -11,7 +11,7 @@ you need to perform live DJ mixes. Mixxx works on GNU/Linux,
Windows and Mac OS X.
Mixxx is released under GPL v2. See LICENSE file in this
-directory for a copy of the licence.
+directory for a copy of the license.
* NEWS *****************************************************
diff --git a/build/debian/control b/build/debian/control
index 3299db8e80..049118119d 100644
--- a/build/debian/control
+++ b/build/debian/control
@@ -30,7 +30,6 @@ Build-Depends: debhelper (>= 4.0.0),
libusb-1.0-0-dev,
libchromaprint-dev,
librubberband-dev,
- libopus-dev,
libopusfile-dev,
libsqlite3-dev
Standards-Version: 3.7.3
diff --git a/build/debian/control.raring b/build/debian/control.raring
index 9d15a29e4c..1bab96fcb3 100644
--- a/build/debian/control.raring
+++ b/build/debian/control.raring
@@ -30,7 +30,6 @@ Build-Depends: debhelper (>= 4.0.0),
libusb-1.0-0-dev,
libchromaprint-dev,
librubberband-dev,
- libopus-dev,
libopusfile-dev,
libsqlite3-dev
Standards-Version: 3.7.3
diff --git a/build/debian/control.saucy b/build/debian/control.saucy
index 9d15a29e4c..1bab96fcb3 100644
--- a/build/debian/control.saucy
+++ b/build/debian/control.saucy
@@ -30,7 +30,6 @@ Build-Depends: debhelper (>= 4.0.0),
libusb-1.0-0-dev,
libchromaprint-dev,
librubberband-dev,
- libopus-dev,
libopusfile-dev,
libsqlite3-dev
Standards-Version: 3.7.3
diff --git a/build/debian/control.trusty b/build/debian/control.trusty
index 9d15a29e4c..1bab96fcb3 100644
--- a/build/debian/control.trusty
+++ b/build/debian/control.trusty
@@ -30,7 +30,6 @@ Build-Depends: debhelper (>= 4.0.0),
libusb-1.0-0-dev,
libchromaprint-dev,
librubberband-dev,
- libopus-dev,
libopusfile-dev,
libsqlite3-dev
Standards-Version: 3.7.3
diff --git a/build/debian/control.utopic b/build/debian/control.utopic
index 858f4b1d3a..728e43a368 100644
--- a/build/debian/control.utopic
+++ b/build/debian/control.utopic
@@ -30,7 +30,6 @@ Build-Depends: debhelper (>= 4.0.0),
libusb-1.0-0-dev,
libchromaprint-dev,
librubberband-dev,
- libopus-dev,
libopusfile-dev,
libsqlite3-dev
Standards-Version: 3.7.3
diff --git a/build/debian/control.vivid b/build/debian/control.vivid
index 9da5162f87..7ab009024b 100644
--- a/build/debian/control.vivid
+++ b/build/debian/control.vivid
@@ -28,8 +28,7 @@ Build-Depends: debhelper (>= 4.0.0),
protobuf-compiler,
libusb-1.0-0-dev,
libchromaprint-dev,
- librubberband-dev,
- libopus-dev,
+ librubberband-dev,
libopusfile-dev,
libsqlite3-dev
Standards-Version: 3.7.3
diff --git a/build/debian/control.wily b/build/debian/control.wily
index 9d15a29e4c..1bab96fcb3 100644
--- a/build/debian/control.wily
+++ b/build/debian/control.wily
@@ -30,7 +30,6 @@ Build-Depends: debhelper (>= 4.0.0),
libusb-1.0-0-dev,
libchromaprint-dev,
librubberband-dev,
- libopus-dev,
libopusfile-dev,
libsqlite3-dev
Standards-Version: 3.7.3
diff --git a/build/depends.py b/build/depends.py
index 17f00b9f2b..19b2066e41 100644
--- a/build/depends.py
+++ b/build/depends.py
@@ -545,7 +545,6 @@ class MixxxCore(Feature):
"dlgprefcontrols.cpp",
"dlgprefwaveform.cpp",
"dlgprefautodj.cpp",
- "dlgprefkey.cpp",
"dlgprefreplaygain.cpp",
"dlgprefnovinyl.cpp",
"dlgabout.cpp",
@@ -647,7 +646,6 @@ class MixxxCore(Feature):
"analyserrg.cpp",
"analyserqueue.cpp",
"analyserwaveform.cpp",
- "analyserkey.cpp",
"controllers/controller.cpp",
"controllers/controllerengine.cpp",
@@ -1128,6 +1126,10 @@ class MixxxCore(Feature):
if not conf.CheckForPKGConfig('0.15.0'):
raise Exception('pkg-config >= 0.15.0 not found.')
+ if not conf.CheckLib(['X11', 'libX11']):
+ raise Exception(
+ "Could not find libX11 or its development headers.")
+
elif build.platform_is_osx:
# Stuff you may have compiled by hand
if os.path.isdir('/usr/local/include'):
diff --git a/build/features.py b/build/features.py
index 757beb94df..03d6fe466b 100644
--- a/build/features.py
+++ b/build/features.py
@@ -358,6 +358,8 @@ class Vamp(Feature):
def configure(self, build, conf):
if not self.enabled(build):
return
+
+ build.env.Append(CPPDEFINES='__VAMP__')
# If there is no system vamp-hostdk installed, then we'll directly link
# the vamp-hostsdk.
@@ -368,9 +370,8 @@ class Vamp(Feature):
# Needed on Linux at least. Maybe needed elsewhere?
if build.platform_is_linux:
- # Optionally link libdl and libX11. Required for some distros.
+ # Optionally link libdl Required for some distros.
conf.CheckLib(['dl', 'libdl'])
- conf.CheckLib(['X11', 'libX11'])
# FFTW3 support
have_fftw3_h = conf.CheckHeader('fftw3.h')
@@ -384,7 +385,9 @@ class Vamp(Feature):
sources = ['vamp/vampanalyser.cpp',
'vamp/vamppluginloader.cpp',
'analyserbeats.cpp',
- 'dlgprefbeats.cpp']
+ 'analyserkey.cpp',
+ 'dlgprefbeats.cpp',
+ 'dlgprefkey.cpp']
if self.INTERNAL_LINK:
hostsdk_src_path = '%s/src/vamp-hostsdk' % self.INTERNAL_VAMP_PATH
sources.extend(path % hostsdk_src_path for path in
@@ -828,12 +831,6 @@ class Opus(Feature):
# Support for Opus (RFC 6716)
# More info http://http://www.opus-codec.org/
- if not conf.CheckLib(['opus', 'libopus']):
- if explicit:
- raise Exception('Could not find libopus.')
- else:
- build.flags['opus'] = 0
- return
if not conf.CheckLib(['opusfile', 'libopusfile']):
if explicit:
raise Exception('Could not find libopusfile.')
diff --git a/build/nsis/Mixxx.nsi b/build/nsis/Mixxx.nsi
index c5f08be072..a38c6b4a91 100644
--- a/build/nsis/Mixxx.nsi
+++ b/build/nsis/Mixxx.nsi
@@ -302,12 +302,12 @@ SectionEnd
Function un.onUninstSuccess
HideWindow
- MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."
+ MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." /SD IDOK
FunctionEnd
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
- MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
+ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" /SD IDYES IDYES +2
Abort
!insertmacro MULTIUSER_UNINIT
FunctionEnd
diff --git a/build/osx/OSConsX.py b/build/osx/OSConsX.py
index b64cb7e62c..13711f6351 100644
--- a/build/osx/OSConsX.py
+++ b/build/osx/OSConsX.py
@@ -404,6 +404,8 @@ def emit_app(target, source, env):
'CFBundleVersion': bundle_version,
'CFBundleShortVersionString': bundle_short_version_string,
'NSHumanReadableCopyright': human_readable_copyright,
+ 'NSPrincipalClass': 'NSApplication',
+ 'NSHighResolutionCapable': 'True',
'LSApplicationCategoryType': application_category_type,
'LSMinimumSystemVersion': minimum_osx_version}
if env['FOR_APP_STORE']:
diff --git a/res/controllers/Denon-MC6000MK2.midi.xml b/res/controllers/Denon-MC6000MK2.midi.xml
index 5243b3c433..156632d06c 100644
--- a/res/controllers/Denon-MC6000MK2.midi.xml
+++ b/res/controllers/Denon-MC6000MK2.midi.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<MixxxControllerPreset mixxxVersion="1.12.0+" schemaVersion="1">
+<MixxxControllerPreset mixxxVersion="2.0.0+" schemaVersion="1">
<info>
<name>Denon MC6000MK2</name>
<author>Uwe Klotz a/k/a tapir</author>
diff --git a/res/controllers/Electrix Tweaker.midi.xml b/res/controllers/Electrix Tweaker.midi.xml
index 28810c905d..f74025583b 100644
--- a/res/controllers/Electrix Tweaker.midi.xml
+++ b/res/controllers/Electrix Tweaker.midi.xml
@@ -12,12 +12,12 @@ This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-->
-<MixxxControllerPreset mixxxVersion="1.12" schemaVersion="1">
+<MixxxControllerPreset mixxxVersion="2.0.0+" schemaVersion="1">
<info>
<name>Electrix Tweaker</name>
<author>Be</author>
@@ -662,4 +662,4 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</controls>
<outputs/>
</controller>
-</MixxxControllerPreset> \ No newline at end of file
+</MixxxControllerPreset>
diff --git a/res/controllers/Hercules DJ Console 4-Mx.midi.xml b/res/controllers/Hercules DJ Console 4-Mx.midi.xml
index 674fe525ce..9fe1ac1d9a 100644
--- a/res/controllers/Hercules DJ Console 4-Mx.midi.xml
+++ b/res/controllers/Hercules DJ Console 4-Mx.midi.xml
@@ -5,6 +5,7 @@
<author>josepma</author>
<description>Hercules DJ Console 4-Mx (2.0)</description>
<forums>http://www.mixxx.org/forums/viewtopic.php?f=7&amp;t=3023</forums>
+ <wiki>http://mixxx.org/wiki/doku.php/hercules_dj_console_4-mx</wiki>
</info>
<controller id="DJ">
<scriptfiles>
diff --git a/res/controllers/Hercules DJ Console RMX.midi.xml b/res/controllers/Hercules DJ Console RMX.midi.xml
index 76de1a038d..79379d8ae2 100644
--- a/res/controllers/Hercules DJ Console RMX.midi.xml
+++ b/res/controllers/Hercules DJ Console RMX.midi.xml
@@ -83,6 +83,26 @@
</control>
+<!-- Source Select -->
+ <control>
+ <group>[Channel1]</group>
+ <key>HerculesRMX.sourceSelect</key>
+ <status>0xB0</status>
+ <midino>0x13</midino>
+ <options>
+ <script-binding/>
+ </options>
+ </control>
+ <control>
+ <group>[Channel2]</group>
+ <key>HerculesRMX.sourceSelect</key>
+ <status>0xB0</status>
+ <midino>0x17</midino>
+ <options>
+ <script-binding/>
+ </options>
+ </control>
+
<!-- Load Deck A/B -->
<control>
<group>[Channel1]</group>
diff --git a/res/controllers/Hercules DJ Control Instinct.midi.xml b/res/controllers/Hercules DJ Control Instinct.midi.xml
index 9e7930174c..79f584b91b 100644
--- a/res/controllers/Hercules DJ Control Instinct.midi.xml
+++ b/res/controllers/Hercules DJ Control Instinct.midi.xml
@@ -1,9 +1,9 @@
-<MixxxMIDIPreset mixxxVersion="1.10.1+" schemaVersion="1">
+<MixxxMIDIPreset mixxxVersion="1.12+" schemaVersion="1">
<info>
<name>Hercules DJ Control Instinct</name>
<author>Mich Wyser</author>
<description></description>
- <wiki>https://github.com/ratte/mixxxcontrollermapping</wiki>
+ <wiki>http://mixxx.org/wiki/doku.php/hercules_dj_control_instinct</wiki>
<forums>http://www.mixxx.org/forums/viewtopic.php?f=7&amp;t=3907</forums>
</info>
<controller id="Hercules DJControl Instinct MID" port="">
@@ -12,14 +12,28 @@
</scriptfiles>
<controls>
<control>
- <status>0x80</status>
+ <status>0x90</status>
<midino>0x1</midino>
- <group>[Channel1]</group>
- <key>flanger</key>
- <description></description>
- <options>
- <normal/>
- </options>
+ <group>[EffectRack1_EffectUnit1]</group>
+ <key>group_[Channel1]_enable</key>
+ </control>
+ <control>
+ <status>0x90</status>
+ <midino>0x2</midino>
+ <group>[EffectRack1_EffectUnit2]</group>
+ <key>group_[Channel1]_enable</key>
+ </control>
+ <control>
+ <status>0x90</status>
+ <midino>0x3</midino>
+ <group>[EffectRack1_EffectUnit3]</group>
+ <key>group_[Channel1]_enable</key>
+ </control>
+ <control>
+ <status>0x90</status>
+ <midino>0x4</midino>
+ <group>[EffectRack1_EffectUnit4]</group>
+ <key>group_[Channel1]_enable</key>
</control>
<control>
<status>0x80</status>
@@ -242,14 +256,28 @@
</options>
</control>
<control>
- <status>0x80</status>
+ <status>0x90</status>
<midino>0x1b</midino>
- <group>[Channel2]</group>
- <key>flanger</key>
- <description></description>
- <options>
- <normal/>
- </options>
+ <group>[EffectRack1_EffectUnit1]</group>
+ <key>group_[Channel2]_enable</key>
+ </control>
+ <control>
+ <status>0x90</status>
+ <midino>0x1c</midino>
+ <group>[EffectRack1_EffectUnit2]</group>
+ <key>group_[Channel2]_enable</key>
+ </control>
+ <control>
+ <status>0x90</status>
+ <midino>0x1d</midino>
+ <group>[EffectRack1_EffectUnit3]</group>
+ <key>group_[Channel2]_enable</key>
+ </control>
+ <control>
+ <status>0x90</status>
+ <midino>0x1e</midino>
+ <group>[EffectRack1_EffectUnit4]</group>
+ <key>group_[Channel2]_enable</key>
</control>
<control>
<status>0xb0</status>
@@ -352,16 +380,6 @@
</options>
</control>
<control>
- <status>0x90</status>
- <midino>0x1</midino>
- <group>[Channel1]</group>
- <key>flanger</key>
- <description></description>
- <options>
- <normal/>
- </options>
- </control>
- <control>
<status>0xb0</status>
<midino>0x3e</midino>
<group>[Channel2]</group>
@@ -772,16 +790,6 @@
</options>
</control>
<control>
- <status>0x90</status>
- <midino>0x1b</midino>
- <group>[Channel2]</group>
- <key>flanger</key>
- <description></description>
- <options>
- <normal/>
- </options>
- </control>
- <control>
<status>0x80</status>
<midino>0x41</midino>
<group>[Master]</group>
@@ -1114,18 +1122,32 @@
<off>0x0</off>
</output>
<output>
- <group>[Channel1]</group>
- <key>flanger</key>
- <description></description>
- <options>
- <normal/>
- </options>
+ <status>0x90</status>
+ <midino>0x1</midino>
+ <group>[EffectRack1_EffectUnit1]</group>
+ <key>group_[Channel1]_enable</key>
<minimum>0.5</minimum>
- <maximum>1</maximum>
+ </output>
+ <output>
<status>0x90</status>
- <midino>0x43</midino>
- <on>0x7f</on>
- <off>0x0</off>
+ <midino>0x2</midino>
+ <group>[EffectRack1_EffectUnit2]</group>
+ <key>group_[Channel1]_enable</key>
+ <minimum>0.5</minimum>
+ </output>
+ <output>
+ <status>0x90</status>
+ <midino>0x3</midino>
+ <group>[EffectRack1_EffectUnit3]</group>
+ <key>group_[Channel1]_enable</key>
+ <minimum>0.5</minimum>
+ </output>
+ <output>
+ <status>0x90</status>
+ <midino>0x4</midino>
+ <group>[EffectRack1_EffectUnit4]</group>
+ <key>group_[Channel1]_enable</key>
+ <minimum>0.5</minimum>
</output>
<output>
<group>[Channel1]</group>
@@ -1170,18 +1192,32 @@
<off>0x0</off>
</output>
<output>
- <group>[Channel2]</group>
- <key>flanger</key>
- <description></description>
- <options>
- <normal/>
- </options>
+ <status>0x90</status>
+ <midino>0x1b</midino>
+ <group>[EffectRack1_EffectUnit1]</group>
+ <key>group_[Channel2]_enable</key>
<minimum>0.5</minimum>
- <maximum>1</maximum>
+ </output>
+ <output>
<status>0x90</status>
- <midino>0x57</midino>
- <on>0x7f</on>
- <off>0x0</off>
+ <midino>0x1c</midino>
+ <group>[EffectRack1_EffectUnit2]</group>
+ <key>group_[Channel2]_enable</key>
+ <minimum>0.5</minimum>
+ </output>
+ <output>
+ <status>0x90</status>
+ <midino>0x1d</midino>
+ <group>[EffectRack1_EffectUnit3]</group>
+ <key>group_[Channel2]_enable</key>
+ <minimum>0.5</minimum>
+ </output>
+ <output>
+ <status>0x90</status>
+ <midino>0x1e</midino>
+ <group>[EffectRack1_EffectUnit4]</group>
+ <key>group_[Channel2]_enable</key>
+ <minimum>0.5</minimum>
</output>
<output>
<group>[Channel1]</group>
diff --git a/res/controllers/Hercules DJ Control MP3 e2.midi.xml b/res/controllers/Hercules DJ Control MP3 e2.midi.xml
index 6dc10f2dea..eae56a5122 100644
--- a/res/controllers/Hercules DJ Control MP3 e2.midi.xml
+++ b/res/controllers/Hercules DJ Control MP3 e2.midi.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<MixxxMIDIPreset schemaVersion="1" mixxxVersion="1.12.0+">
+<MixxxMIDIPreset schemaVersion="1" mixxxVersion="2.0.0+">
<info>
<name>Hercules DJ Control MP3 e2</name>
<author>Gianfe, Taucher and SBlaisot</author>
@@ -371,7 +371,7 @@
<options>
<Script-Binding/>
</options>
- </control>
+ </control>
<control>
<status>0x90</status>
<midino>0x2D</midino>
diff --git a/res/controllers/Hercules-DJ-Console-4-Mx-scripts.js b/res/controllers/Hercules-DJ-Console-4-Mx-scripts.js
index 48140ddbc9..92eeb5933f 100644
--- a/res/controllers/Hercules-DJ-Console-4-Mx-scripts.js
+++ b/res/controllers/Hercules-DJ-Console-4-Mx-scripts.js
@@ -136,7 +136,9 @@ Hercules4Mx.init = function(id, debugging) {
// ignore jog wheel movement: (codes from 0x7A to 0x7D, one for each deck).
// midi.sendShortMsg(Hercules4Mx.CC, 0x7A, enable); enable = 0 obey movement, enable = 0x7F ignore movement
- // Connect several signals to javascript events, like song load, pre-fader-listen, looks or effects
+ // Connect several signals to javascript events, like song load, pre-fader-listen, loops or effects
+ engine.connectControl("[AutoDJ]","enabled","Hercules4Mx.onAutoDJ");
+ engine.connectControl("[AutoDJ]","fade_now","Hercules4Mx.onAutoDJFade");
for (i = 1; i <= 4; i++) {
engine.connectControl("[Channel" + i + "]", "pfl", "Hercules4Mx.onPreFaderListen");
engine.connectControl("[Channel" + i + "]", "loop_enabled", "Hercules4Mx.onLoopStateChange");
diff --git a/res/controllers/Hercules-DJ-Console-RMX-scripts.js b/res/controllers/Hercules-DJ-Console-RMX-scripts.js
index 69d16a3adf..74d02c7cd3 100644
--- a/res/controllers/Hercules-DJ-Console-RMX-scripts.js
+++ b/res/controllers/Hercules-DJ-Console-RMX-scripts.js
@@ -450,6 +450,19 @@ HerculesRMX.Deck.prototype.cueSelectHandler = function(value) {
}
};
+HerculesRMX.Deck.prototype.sourceSelectHandler = function(value) {
+ if(value == ButtonState.pressed) {
+ var passthroughStatus = engine.getValue(this.group, "passthrough");
+ if(passthroughStatus) {
+ engine.setValue(this.group, "passthrough", 0);
+ this.Buttons.SourceSelect.setLed(LedState.off);
+ } else {
+ engine.setValue(this.group, "passthrough", 1);
+ this.Buttons.SourceSelect.setLed(LedState.on);
+ }
+ }
+};
+
HerculesRMX.Deck.prototype.gainHandler = function(value) {
this.Controls.Gain.setValue(this.group, value);
};
@@ -549,7 +562,7 @@ HerculesRMX.Decks.Left.addButton("KillMid", new HerculesRMX.Button(0x0F), "killM
HerculesRMX.Decks.Left.addButton("KillLow", new HerculesRMX.Button(0x10), "killLowHandler");
HerculesRMX.Decks.Left.addButton("PitchReset", new HerculesRMX.Button(0x11, 0x41), "pitchResetHandler");
HerculesRMX.Decks.Left.addButton("Load", new HerculesRMX.Button(0x12), "loadHandler");
-HerculesRMX.Decks.Left.addButton("Source", new HerculesRMX.Button(0x13, 0x43), null);
+HerculesRMX.Decks.Left.addButton("SourceSelect", new HerculesRMX.Button(0x13, 0x43), "sourceSelectHandler");
HerculesRMX.Decks.Left.addButton("CueSelect", new HerculesRMX.Button(0x14, 0x44), "cueSelectHandler");
HerculesRMX.Decks.Left.addButton("Stop", new HerculesRMX.Button(0x0D), "stopHandler");
@@ -596,7 +609,7 @@ HerculesRMX.Decks.Right.addButton("KillMid", new HerculesRMX.Button(0x27), "kill
HerculesRMX.Decks.Right.addButton("KillLow", new HerculesRMX.Button(0x28), "killLowHandler");
HerculesRMX.Decks.Right.addButton("PitchReset", new HerculesRMX.Button(0x20, 0x55), "pitchResetHandler");
HerculesRMX.Decks.Right.addButton("Load", new HerculesRMX.Button(0x16), "loadHandler");
-HerculesRMX.Decks.Right.addButton("Source", new HerculesRMX.Button(0x17, 0x57), null);
+HerculesRMX.Decks.Right.addButton("SourceSelect", new HerculesRMX.Button(0x17, 0x57), "sourceSelectHandler");
HerculesRMX.Decks.Right.addButton("CueSelect", new HerculesRMX.Button(0x18, 0x58), "cueSelectHandler");
HerculesRMX.Decks.Right.addButton("Stop", new HerculesRMX.Button(0x25), "stopHandler");
@@ -779,6 +792,11 @@ HerculesRMX.cueSelect = function (channel, control, value, status, group) {
deck.Buttons.CueSelect.handleEvent(value);
};
+HerculesRMX.sourceSelect = function (channel, control, value, status, group) {
+ var deck = HerculesRMX.GetDeck(group);
+ deck.Buttons.SourceSelect.handleEvent(value);
+};
+
HerculesRMX.killLow = function (channel, control, value, status, group) {
var deck = HerculesRMX.GetDeck(group);
deck.Buttons.KillLow.handleEvent(value);
diff --git a/res/controllers/Midi_for_light.midi.xml b/res/controllers/Midi_for_light.midi.xml
index 4c783c55b4..b1762fed73 100644
--- a/res/controllers/Midi_for_light.midi.xml
+++ b/res/controllers/Midi_for_light.midi.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<MixxxMIDIPreset mixxxVersion="1.12+" schemaVersion="1">
+<MixxxMIDIPreset mixxxVersion="2.0.0+" schemaVersion="1">
<info>
<name>MIDI for light</name>
<author>Michael Stahl / DG3NEC</author>
diff --git a/res/controllers/Novation-Launchpad-Mini.midi.xml b/res/controllers/Novation-Launchpad-Mini.midi.xml
index b751944624..f291c0e0f3 100644
--- a/res/controllers/Novation-Launchpad-Mini.midi.xml
+++ b/res/controllers/Novation-Launchpad-Mini.midi.xml
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
-<MixxxMIDIPreset schemaVersion="1" mixxxVersion="1.12+">
+<MixxxMIDIPreset schemaVersion="1" mixxxVersion="2.0.0+">
<info>
<name>Novation Launchpad Mini</name>
<author>marczis</author>
diff --git a/res/controllers/Reloop Beatpad.midi.xml b/res/controllers/Reloop Beatpad.midi.xml
index 9abcc0d697..1c1af29448 100644
--- a/res/controllers/Reloop Beatpad.midi.xml
+++ b/res/controllers/Reloop Beatpad.midi.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<MixxxControllerPreset mixxxVersion="1.12.0+" schemaVersion="1">
+<MixxxControllerPreset mixxxVersion="2.0.0+" schemaVersion="1">
<info>
<name>Reloop Beatpad</name>
<author>ChloƩ Avrillon (DJ ChloƩ)</author>
dif