Here's a rugged and eminently practical MIDI controller with a great form factor, surprisingly good "feel", and an adaptable DIY programming environment. Code is made by Livid out in Austin, Texas, and it features a 4x8 grid of high- quality endless encoders with LED feedback, plus 13 assignable buttons (also LED backlit). I appreciate its minimalist design aesthetic, with a compact brushed- aluminum body framed by handsome wood sides, and no copy or labeling whatsoever. It's somewhat similar in this principle to computer-music controllers like the Monome [Tape Op #62]; you have what is essentially a blank slate of possibility before you, leveraging open-source firmware and a few simple, but innovative controller paradigms.
Okay, what am I talking about specifically? Well, to start, each of the endless rotary encoders in the grid also doubles as a pushbutton capable of sending MIDI data, with a variety of clever tweaks on the bog-standard combinations of control and pitchbend data. The USB bus-powered Code is programmed via a software editor built in Cycling 74's Max software signal-processing environment. Code Editor software acts as the interface for changing and uploading sets of assignments, as well as managing presets. Note that Code Editor doesn't need to run in the background when the controller is in use; in fact, the device is class-compliant and driverless, so it can act as a set-and-forget system. I found Editor helpful as a primer for what the device is capable of, as there are newbie tooltips for each function and menu; this is supplemented by a wiki manual of sorts online. My only gripe with Editor is one that I have with many other Max- based apps and widgets; the UI rarely takes advantage of the available screen real-estate and strikes me as a bit cramped, especially when a few overlapping menus are called up. Don't get me wrong, it's a great tool (as is Max), but I'd love to see the picklists and menus have a bit more room to "breathe" on-screen.
Out of the box, as hinted above, installation is kind of a superfluous concept for Code; you just plug it in, map the stuff you want to control, and marvel at the low- latencies and pretty lights. You can, if you wish, download the aforementioned Editor and send your tweaks and presets to the device, or save new presets to your host computer. Speaking of lights, the encoder LED feedback is also customizable with several modes; for example, a nice blue ring around the encoder can track your movement by "walking" a single LED around to indicate point of reference (think Avid ICON or D-Control pan knobs) or by filling the LED ring with solid lights (think volume or send indicators). I did have to mess with my Editor settings to get the LED feedback set the way I wanted it to work; out of the box, the LED behavior seemed counterintuitive to the methods of control I wanted to map out. But hey, it's not a steep learning curve. Plus, the wiki and user forums on Livid's site are nothing if not comprehensive.
Another bonus for me was the set of dedicated MIDI in and out ports on the side next to the USB ports; I had no problems controlling my MIDI gear via Code, and it looks swell next to my freshly-modded Korg Monotribe.
One last thing for Ableton Live users - Code has a unique hybrid-control offering in partnership with an iPad app called Griid Pro. I bought Griid Pro and have had a few trial runs with the app launching clips and such; and all track and device control seamlessly integrated (and remained in sync) with Code. The combination is really cool and super tactile; and I'm working on a separate review for Griid Pro that will expand on this "best of both worlds" approach.
I really didn't expect to be using (and enjoying!) Code as much as I have. The question was, did I really need another controller? It turns out the answer was simply that I hadn't tried Code yet. For me, good design paired with disciplined innovation always wins. Oh, and pretty lights help too.