MIXXX – MIDI debugging Tools – Part 1

Lately I have spend quite some time doing MIDI Scripting using the fabulous open source cross platform MIXXX Dj software


MIXXX has a built in MIDI engine that can handle MIDI inbound and outbound messages.

image

Download here : https://mixxx.org/

This way you can script events that can control you MIXXX software or the Controller Hardware.

In practive this means that if you press a button in the software, it can send MIDI messages to your hardware or visa versa.

For the inbound MIDI messages that is quite easy this is handled using the Learning Wizard in MIXXX.

image

I will write an other post on this topic later on.

For outbound MIDI messages that are linked to the UI Controls (buttons, sliders etc.) that is straight forward as well.

the MIDI engine in MIXXX is based on a JavaScript.

Now the challenge is when mapping and scripting, how to do proper debugging.

Especially for controls that you can’t manipulate like VU Meters output levels.

Let’s take for example that you want the MIXXX Software sent MIDI messages to the controller

But you don’t have a clue which are the values (MIDI Bytes) you need to take in account.

image

image

To make you life easier you need some advanced tools that can help out a lot in debugging !

SOLUTION : 

1. Scripting IDE

Since you need to dive into JavaScript it is best that you start downloading a good editor that helps in debugging.

My choise in Windows OS is Visual Studio Code, runs also on Linux

image

In JavaScript it is easy to make typing mistakes ….

Anything that can help speeds up your development and debugging process.

In Visual Studio I installed the add-in module called Code Runner.

image

Next you start your scripting adventure 🙂

2. MIDI Loopback Driver

In order to do debugging anytime and anywhere, without having to carry around you hardware controller

You need to install the loopMIDI driver, so you can use this as a virtual Controller hardware

Download here : https://www.tobias-erichsen.de/software/loopmidi.html

image

3. MIDI Debugging

MIXXX has a built in debugger to console whichj is good and stil needed.

But for more advanced MIDI debugging it is recommended to install MIDI-OX

Download here : http://www.midiox.com/?http://www.midiox.com/moxdown.htm

Once installed you can connect to the Virtual ControllerloopMIDI

image

MIDI-OX has an OUT and INPUT monitor window to capture all MIDI Messages send or received.

image

I have put the FILTER settings like this :

image

You can also use the MIDITrace tool but that is very basic compared to the MIDI_OX

Download here : https://www.virtualdj.com/wiki/Controller%20Identification.html

image

So now you are all set to start developing and debugging.

Alternative :

Another alternative is MIDIView for Windows and Mac

Download here : https://hautetechnique.com/midi/midiview/

I have not tested this one but it might not need you to install the loopMIDI because it has already a loopback driver included.

Open MIXXX in Debugging Mode

cd C:\Program Files\Mixxx   

mixxx --controllerDebug

image

Start your scripting and debugging process using the available tools !

Tip :

The beauty about the MIDI-OX is that it is a COM Compatibel Application,

that allows us scripters to created automation scripts Smile

I have posted some examples using my favorite AutoIT Scripting Language.

https://www.autoitscript.com/forum/topic/209562-com-midi-ox-scripting/

Enjoy !!

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.