I do all of my development work on an Mac OS X machine – currently a MacBook Air with a CalDigit Thunderbolt Station 2 dock and external monitor, keyboard and mouse. Most of this work, however, ends up on a server running linux on Digital Ocean or Amazon EC2 or Lambda. The beauty of OS X is of course that it is *nix based, so we can set up an environment that is pretty close to a typical server setup. Going from development to deployment usually just requires some path and URL changes and other minor tweaks. Continue reading “My Development Setup On OS X Part 1”
In Part 2 of this series I described how to setup the hardware and software environment. Now we get to the juicy bits – the actual firmware that will make the Arduino Uno appear to your computer (and to Traktor) to be a Native Instruments Traktor Kontrol F1.
I encountered issued building dfu-programmer on Mac OS X (10.7.5) – the make script wasn’t finding the libusb include file and library – here’s how I got it to work. I am using dfu-programmer 0.6.2 and fink to install libusb; the same technique will probably work with other installs of libusb, e.g. macports, manual install, etc.
The Akai APC40 is a great controller for MIDI mapping to applications (Traktor, etc.) as it has a large and varied set of controls available, along with multi-coloured pads. For a MIDI application to take full advantage of these the APC40 needs to be in Firmware Mode 1; upon power-up, however, the APC40 enters Firmware Mode 0. Switching to Firmware Mode 1 can be done by opening Ableton Live, waiting for the APC40 to be recognised as a control surface (assuming it is configured as one), and then closing Live. apc40-mode is simple utility that will let you switch between the three firmware modes at the command line, so you don’t have to open Live (or even have it installed).
In Part 1 of this post, I explained the background of this project. Now I’m going to detail the hardware and software development setup I am using.
N.B. Since starting this series, Traktor 2.6.2 has been released, which allows MIDI mapping of the Remix Decks. I’ve decided to finish this series anyway, however, as it has a lot of information that is helpful for Arduino development in general, as well as for building custom controllers for the Remix Decks (and other HID and MIDI applications also).
Native Instruments introduced a great new concept in Traktor 2.5.0 – the Remix Decks. Basically each of the decks in Traktor can be used as a 4×16 sample player, with a lot of neat features including sync, various stop/start/loop modes, individual filters on each column and so on. You can read all about them here.
Continue reading “Emulating The Traktor Kontrol F1 – Part 1”