How to add or tweak a controller mapping

XML preset files and script files (.js) for MIDI and other controllers.

Moderators: garth, User Customization Moderators

Re: How to add or tweak a controller mapping

Postby PapaBr » Mon Jun 09, 2014 10:24 am

Recently bought a Numark MIXTRACK EDGE and am looking to make a map for it for Mixxx since the software it comes with is garbo. There are several buttons on the controller that are supposed to activate different modes for the buttons/jog-wheels. How would one go about coding some sort of conditional function?
(i.e. if the FX key is pressed [status: 0x90; midino:0x1F], the jog wheels [L-- status: 0x1B; midino: 0x25 :: R-- status: 0xB2; midino: 0x25] scratch. When pressed again [status: 0x80; midino: 0x1F], the jog wheels stripsearch.)
User avatar
PapaBr
 
Posts: 1
Joined: Mon Jun 09, 2014 10:10 am
Location: Orange County

Re: How to add or tweak a controller mapping

Postby djkoncept » Tue Jun 10, 2014 5:35 pm

Hey, i just bought the same product and having the same issues. Where do you input the mappings manually? it only lets me map it using the wizard.
djkoncept
 
Posts: 6
Joined: Tue Jun 10, 2014 5:17 pm

Re: How to add or tweak a controller mapping

Postby Pegasus » Fri Sep 12, 2014 5:18 pm

Please read the first post in the thread.
"D.J. Pegasus"
Mixxx Developer - Controller Specialist
Mixxx Windows package maintainer
User avatar
Pegasus
Mixxx Developer
 
Posts: 1712
Joined: Thu Jan 29, 2009 7:48 pm
Location: Las Vegas, NV, USA

Re: How to add or tweak a controller mapping

Postby Be. » Mon Jun 15, 2015 5:23 am

After you have made a mapping and it has been approved for inclusion in the next Mixxx release, please add it to the appropriate tables DJ Hardware Guide on the wiki. If the controller has an integrated sound card, also add details about that to the appropriate table towards the bottom of the page. Make a new wiki page with the name of the controller. On that page, put a picture of the controller, a link to the page on the manufacturer's website for the controller, a description of your mapping (and ideally a diagram too), and a link to any documentation (such as the manufacturer's manual) that you used to make the mapping.
Mixxx is free because it's yours!

I heard FLAC and I haven't gone back.
Protect your hearing with earplugs!

Hear my mixes
User avatar
Be.
Mixxx Developer
 
Posts: 2573
Joined: Tue Jan 06, 2015 1:00 am
Location: Chicago, USA

Re: How to add or tweak a controller mapping

Postby Marto » Mon May 02, 2016 6:37 pm

Hello! My name is Marto from Argentina.
I recentely bouhgt an Iconpad controller (not a DJ controller).
http://icon-global.com/product/iconpad/

The issue is that ribbon faders are detected only as on/off (touch/release) buttons.
When pressed and slide over it, the leds on the ribbon shows the possition you are touching when slide your finger over it, but Mixxx (best DJ softwre ever!!!) only enable the pre-fixed position of the fader on the screen (i.e. Deck A master volume) when you held (and/or move over the ribbon) your finger or mute (the "in screen fader goes to bottom) when you release it, using the built-in midi learn functuion to map it.

Now Im reading all the documentation about midi mapping and scripting, but maybe (not only maybe, I hope) someone here can give me a little kickstarter advice (but not to throw away the device) in how to the make Mixxx (is the best DJ software ever, did I tell it before?) recognize the main function of the ribbon (to be a fader) and not the first data recieved from the device (the I/O finger-press sensor).
Dont have any experience dealing with midi devices, but maybe someone has deal with this issue or similar before, and have a near idea in how to make it works properly.
Im interested in this device because it had:
4 layers of 8 channel ribbon faders+4 control buttons for each+one rotary knob with push function for each
3 layers of 9 customizable pads
and a transport ontrol layer.

It seems very flexible for multipurpose audio working, including simultaneuos control of several software switching between layers.

I saw the Pegasus youtube video for scratching. Helped my a lot to learn how the scripts works.
Im not sure if I have to make a script that ignores the push/release sensor data or make one that took that info as conditional (like a "shift" or "function" key) to allow to move the fader.

Im running Mixxx on a winbug 7 64bit machine.

Thanks a lot in advance!!!
Marto
Marto
 
Posts: 4
Joined: Thu Dec 29, 2011 3:29 am

Re: How to add or tweak a controller mapping

Postby Be. » Mon May 02, 2016 6:58 pm

It's possible that your controller sends both a note on/off MIDI signal when the touch strips are touched and released as well as a control change (CC) MIDI signal indicating where on the strip you are touching. The MIDI Learning Wizard may only be reacting to the on/off signal. If this is the case, you should be able to take care of this with just XML and won't need scripting. However, you'll need to edit the XML manually rather than rely entirely on the Learning Wizard. Look at the incoming MIDI signals to Mixxx to figure out what's going on. See the MIDI Crash Course for instructions on how to view the incoming MIDI signals.
Mixxx is free because it's yours!

I heard FLAC and I haven't gone back.
Protect your hearing with earplugs!

Hear my mixes
User avatar
Be.
Mixxx Developer
 
Posts: 2573
Joined: Tue Jan 06, 2015 1:00 am
Location: Chicago, USA

Re: How to add or tweak a controller mapping

Postby Marto » Mon May 02, 2016 7:38 pm

Thanks for your answer!!!
This is what I get from the debugger when touched and slide from bottom to top.
Sorry for the extension.
Could you plesae help me to quick understand what data I have to take from here to use with the XML file?
Thanks again!!

Debug [Controller]: "MIDI t:52144 ms status 0x90 (ch 1, opcode 0x9), ctrl 0x68, val 0x7F"
Debug [Controller]: "MIDI t:52223 ms status 0xE0: pitch bend ch 1, value 0x3638"
Debug [Controller]: "MIDI t:52256 ms status 0xE0: pitch bend ch 1, value 0x33B8"
Debug [Controller]: "MIDI t:52275 ms status 0xE0: pitch bend ch 1, value 0x3138"
Debug [Controller]: "MIDI t:52304 ms status 0xE0: pitch bend ch 1, value 0x2EB8"
Debug [Controller]: "MIDI t:52324 ms status 0xE0: pitch bend ch 1, value 0x2C38"
Debug [Controller]: "MIDI t:52345 ms status 0xE0: pitch bend ch 1, value 0x29B8"
Debug [Controller]: "MIDI t:52363 ms status 0xE0: pitch bend ch 1, value 0x2738"
Debug [Controller]: "MIDI t:52380 ms status 0xE0: pitch bend ch 1, value 0x24B8"
Debug [Controller]: "MIDI t:52397 ms status 0xE0: pitch bend ch 1, value 0x2238"
Debug [Controller]: "MIDI t:52419 ms status 0xE0: pitch bend ch 1, value 0x1FB8"
Debug [Controller]: "MIDI t:52439 ms status 0xE0: pitch bend ch 1, value 0x1D38"
Debug [Controller]: "MIDI t:52455 ms status 0xE0: pitch bend ch 1, value 0x1AB8"
Debug [Controller]: "MIDI t:52479 ms status 0xE0: pitch bend ch 1, value 0x1838"
Debug [Controller]: "MIDI t:52488 ms status 0xE0: pitch bend ch 1, value 0x15B8"
Debug [Controller]: "MIDI t:52501 ms status 0xE0: pitch bend ch 1, value 0x1338"
Debug [Controller]: "MIDI t:52514 ms status 0xE0: pitch bend ch 1, value 0x10B8"
Debug [Controller]: "MIDI t:52531 ms status 0xE0: pitch bend ch 1, value 0x0E38"
Debug [Controller]: "MIDI t:52544 ms status 0xE0: pitch bend ch 1, value 0x0BB8"
Debug [Controller]: "MIDI t:52565 ms status 0xE0: pitch bend ch 1, value 0x0938"
Debug [Controller]: "MIDI t:52576 ms status 0xE0: pitch bend ch 1, value 0x06B8"
Debug [Controller]: "MIDI t:52597 ms status 0xE0: pitch bend ch 1, value 0x0438"
Debug [Controller]: "MIDI t:52606 ms status 0xE0: pitch bend ch 1, value 0x01B8"
Debug [Controller]: "MIDI t:52621 ms status 0xE0: pitch bend ch 1, value 0x0038"
Debug [Controller]: "MIDI t:63467 ms status 0x90 (ch 1, opcode 0x9), ctrl 0x68, val 0x7F"
Debug [Controller]: "MIDI t:63569 ms status 0xE0: pitch bend ch 1, value 0x01B8"
Debug [Controller]: "MIDI t:63620 ms status 0xE0: pitch bend ch 1, value 0x0438"
Debug [Controller]: "MIDI t:63689 ms status 0xE0: pitch bend ch 1, value 0x06B8"
Debug [Controller]: "MIDI t:63759 ms status 0xE0: pitch bend ch 1, value 0x0938"
Debug [Controller]: "MIDI t:63829 ms status 0xE0: pitch bend ch 1, value 0x0BB8"
Debug [Controller]: "MIDI t:63897 ms status 0xE0: pitch bend ch 1, value 0x0E38"
Debug [Controller]: "MIDI t:63979 ms status 0xE0: pitch bend ch 1, value 0x10B8"
Debug [Controller]: "MIDI t:64057 ms status 0xE0: pitch bend ch 1, value 0x1338"
Debug [Controller]: "MIDI t:64117 ms status 0xE0: pitch bend ch 1, value 0x15B8"
Debug [Controller]: "MIDI t:64174 ms status 0xE0: pitch bend ch 1, value 0x1838"
Debug [Controller]: "MIDI t:64229 ms status 0xE0: pitch bend ch 1, value 0x1AB8"
Debug [Controller]: "MIDI t:64307 ms status 0xE0: pitch bend ch 1, value 0x1D38"
Debug [Controller]: "MIDI t:64374 ms status 0xE0: pitch bend ch 1, value 0x1FB8"
Debug [Controller]: "MIDI t:64437 ms status 0xE0: pitch bend ch 1, value 0x2238"
Debug [Controller]: "MIDI t:64490 ms status 0xE0: pitch bend ch 1, value 0x24B8"
Debug [Controller]: "MIDI t:64538 ms status 0xE0: pitch bend ch 1, value 0x26B8"
Debug [Controller]: "MIDI t:64577 ms status 0xE0: pitch bend ch 1, value 0x2938"
Debug [Controller]: "MIDI t:64620 ms status 0xE0: pitch bend ch 1, value 0x2BB8"
Debug [Controller]: "MIDI t:64674 ms status 0xE0: pitch bend ch 1, value 0x2E38"
Debug [Controller]: "MIDI t:64717 ms status 0xE0: pitch bend ch 1, value 0x30B8"
Debug [Controller]: "MIDI t:64775 ms status 0xE0: pitch bend ch 1, value 0x3338"
Debug [Controller]: "MIDI t:64827 ms status 0xE0: pitch bend ch 1, value 0x35B8"
Debug [Controller]: "MIDI t:64877 ms status 0xE0: pitch bend ch 1, value 0x3838"
Debug [Controller]: "MIDI t:64929 ms status 0xE0: pitch bend ch 1, value 0x3AB8"
Debug [Controller]: "MIDI t:64970 ms status 0xE0: pitch bend ch 1, value 0x3D38"
Debug [Controller]: "MIDI t:65014 ms status 0xE0: pitch bend ch 1, value 0x3FB8"
Debug [Controller]: "MIDI t:65062 ms status 0xE0: pitch bend ch 1, value 0x3FB8"
Debug [Controller]: "MIDI t:65167 ms status 0xE0: pitch bend ch 1, value 0x3FB8"
Debug [Controller]: "MIDI t:66390 ms status 0x90 (ch 1, opcode 0x9), ctrl 0x68, val 0x00"
Marto
 
Posts: 4
Joined: Thu Dec 29, 2011 3:29 am

Re: How to add or tweak a controller mapping

Postby Be. » Mon May 02, 2016 8:32 pm

Use the signals with status 0xE0 rather than 0x90. It seems that it's sending 14-bit pitch bend signals. I'm not sure how to map those. I think the XML format assumes that the second byte (MIDI note) of each message is constant for every component of the controller, so you may need a separate <control> element with a different <midino> element for every possible <midino> value (0 through 0x7F) :/ There are fourteen-bit-lsb/fourteen-bit-msb options, but I think those are for controllers that send two separate MIDI messages, each with a constant note number, for a single component of the controller.
Mixxx is free because it's yours!

I heard FLAC and I haven't gone back.
Protect your hearing with earplugs!

Hear my mixes
User avatar
Be.
Mixxx Developer
 
Posts: 2573
Joined: Tue Jan 06, 2015 1:00 am
Location: Chicago, USA

Re: How to add or tweak a controller mapping

Postby Pegasus » Mon Feb 12, 2018 3:35 pm

Be. wrote:Use the signals with status 0xE0 rather than 0x90. It seems that it's sending 14-bit pitch bend signals. I'm not sure how to map those.


Those are mapped in XML just like any other control, except you skip the <midino/> element. (There is only one 0xEn message per MIDI channel.) Mixxx knows that the next two bytes after an 0xEn are a little-endian 14-bit value per the MIDI standard. (Wiki updated with this info.)
"D.J. Pegasus"
Mixxx Developer - Controller Specialist
Mixxx Windows package maintainer
User avatar
Pegasus
Mixxx Developer
 
Posts: 1712
Joined: Thu Jan 29, 2009 7:48 pm
Location: Las Vegas, NV, USA

Re: How to add or tweak a controller mapping

Postby therealgroover » Sun Aug 05, 2018 9:04 am

Hi

I have a Behringer 1002 desk connected to an audio interface that I want to use for my radio broadcast using Mixx.

Can anyone tell me in 'Janet and John' language how to use this as the controller? P.s I am using Mac.

Thanks

Barry
therealgroover
 
Posts: 5
Joined: Wed May 23, 2018 2:52 pm

PreviousNext

Return to Controller presets/mappings

Who is online

Users browsing this forum: No registered users and 8 guests