Software for Arduino that interfaces analogue inputs with Mixxx.
oloturia a0c1e4036a Added support for the MCP23017 Expander | 1 week ago | |
---|---|---|
console | 1 week ago | |
example configuration | 8 months ago | |
lib | 1 week ago | |
src | 1 week ago | |
test | 5 months ago | |
.gitignore | 5 months ago | |
LICENSE | 1 year ago | |
README.md | 1 week ago | |
platformio.ini | 1 week ago |
A simple project that transform an Arduino Leonardo (or similar boards based on ATmega32u4) in a mixing console for open source Mixxx DJ software. To compile, you'll need MIDIUSB and EncoderButton libraries. Both are downloadable from the official Arduino IDE's library manager.
After uploading the sketch and connecting the controls, you'll have to "train" Mixxx to recognize the various sliders and knobs: click "Learning Wizard" and then follow the instructions. Some of the commands aren't selectable from the interface, you'll need to use the drop down menu to select them (i.e. "scroll up/down the library"). An example configuration is in the folder of the same name. You have to copy the .xml into /home//.mixxx/controllers/ folder.
Be aware that the controller needs to be plugged in before starting Mixxx. If you enabled the debug, you have to open a serial console to start the device.
At the moment it supports these kinds of controls:
Buttons feature single and long press. They could have also two states that toggle (i.e. start/stop, etc.). Analog controls have three "magnetic" positions: around 0, 1023 and middle (user defined) the reading has more stickyness (user definable). If you see that Mixxx's control is not in the middle when the potentiometer is at its half, alter the middle "magnetic" position. They have also a dead zone that filters small variations in the readings. If you see that the controls are oscillating, increase the dead zone.
There are two experimental improvements:
To compile:
KiCad libraries used: