Video Demo of DD-6 Hold Mode

Short video demonstrating the M9 grabbing short loops.  Using an external MIDI controller with the right switching logic, the M9 can grab super-short loops just like the DD-6.

The firmware for this mode was posted in the last update – M9-HOLD_1_1.  I’m working on making the code more modular so that it can be dropped in to an existing project.

MIDI Controllers are here, plus DD-6 Hold Mode

Assembled MIDI Controller

First MIDI Controller built!

So the MIDI controllers arrived on Tuesday, and I have gotten about half of them assembled.  I found one wiring error on the PCB but it’s easily fixable, and the boards work as expected.

After some discussion with Rodrigo, I’ve whipped up the following example firmware for the MIDI controller board (I am going to need a catchy name…)  Rodrigo suggested that implementing the DD-6 Hold mode would be worthwhile, so I spent some time playing with things to see what I could come up with.  My first attempt was a little too ambitious – it works just as I wanted it to, but it doesn’t work like the DD-6.

DD-6 Hold mode:

Press and hold the footswitch to start recording.

Release footswitch to start playing.

Press & release footswitch again to stop playback.

The pedal steps through REC -> PLAY -> STOP as the footswitch is pressed.  This isn’t tough to do in software, it was mostly a matter of getting it to “feel” right.  I think I’ve got something workable, and it’s posted below.


Sample Code for MIDI Controller

M9 MIDI Control

Sample firmware for M9 MIDI Controller - screenshot

This is posted mostly for the curious. I’ve been working with Rodrigo Costanza on the code for the complete M9 controller. This is not the finished version, as it lacks the Scene Select, Folder Select, and Utility Mode portions. The looper controls require the controller to keep track of the status of the M9’s looper. If Line 6 had designed the M9’s MIDI implementation to just mimic the footswitch actions, we could just send one command per footswitch and be done. Sadly, the MIDI implementation involves separate commands for each toggle of the switch. Pressing the Play footswitch sends the Play command (CC28 127) but only if the looper is not playing! If it is playing, then pressing Play sends the Stop command (CC28 0.) If the unit is in Overdub, sometimes Play sends Play and sometimes it sends Stop, depending on whether we came from Play -> Overdub or Record -> Overdub! As you might guess, this can get complicated fast.

The code is included as an Arduino sketch below. Use it for whatever you like! You’ll need the MIDI and EXROM libraries installed to make it work.


MIDI Controllers on their way

MIDI Controller - rendering

MIDI Controller Rendering

For those that have been following the thread on the Harmony Central forums, this is a rendering of the MIDI controller board that we’re going to be offering.

What does it do? Mainly it watches some inputs and then it spits out MIDI commands. It can do all kinds of things depending on how it’s programmed. It’s also programmable with free / open source tools and pretty easy to get working. We anticipate the first run of boards to arrive on Tuesday and we’ll be posting updates here on the blog as well as on the HC forum.

Contact us for more details.