MiniCommand Resurrection // MCLive


Missed one file on the commit. Should work now.


With regards to the MD/external sequencer, you’re only able to work on one (64 or 128-step in low res mode) pattern, is that right? In other words, if you wanted another pattern, you’d have to load it from the MCL, right?


Not sure if I understand your question but a few things.

The high/low res modes are only for the 6 polyphonic ExtSeq tracks.
The 16 MD tracks are 16th note resolution with 5 degrees of Microtiming.

Each of the 22 Tracks can be loaded independently of each other and they have independent track lengths.

When you ‘send’ a track to the MD from MCL, the corresponding ExtSeq track is loaded.
I will probably add a feature to only load one or the other, or both.


My question is simple: With the 22 track MD+ext sequencer on MCL, you’re really only able to work with one pattern (which can be made up of up to 16 MD tracks), right?

Each of the 16 tracks has their own sequences, machine states, etc., but those aren’t tied to a pattern (say H01), are they?
You only have access to the 16 tracks (sequences, locks, etc.).

Or can these sequencer track “sets” (patterns) be saved/loaded from the MCL?

EDIT: I think I just need a typical workflow example demonstrating the MD/ext seq (the main thing I’m interested in!)


Or can these sequencer track “sets” (patterns) be saved/loaded from the MCL?

We use a grid/slot system to store the tracks (which include saved track data from the MD and the extseq data for that track).
The grid is 128 rows x 22 slots.
You can think of a Row as a pattern if you like.
Tracks from different rows can be loaded and mixed together.

Workflow example:

You have an existing pattern + kit on your MD.
Tracks 1 and 2 are your kick and snare.
You want to layer some conditional Trigs for the Kick and Snare so you program those in on the MC using the ExtSequencer.
The MD pattern plays, and every so often you hear the conditional trigs of your Kick and Snare being layered on top of your MD pattern thanks to the ExtSeq.
You like what you hear, so you save everything together on a Row in the MC by using the Save page.

Tomorrow when you wake up, you load a blank Kit + Pattern on the MD.
You turn on the MC and select the Row with the ‘state’ you saved yesterday.
You use the Write page to Send the 16 tracks to the MD, in addition the 2 ExtSeq tracks with the kick and snare get loaded on Tracks 1 and 2. Everything plays back as you heard it yesterday.


Ah-ha! That’s even better than I imagined.

128 different machine “states” including sequence, plock, cond. trig (etc.) data, all saved and loaded to/from the MCL.

Another thing: I know we haven’t gotten a 100% confirmation that it works on MK1 models, but why wouldn’t it? Can you think of anything, @JustinValer ? Sure, there is a step limit of 32 per pattern on the MK1, but since the MCL’s seq is controlling the MD, there should be no issue…right?


The trigger interface hasn’t been tested on the MK1 model. It works using a global channel exploit i discovered. The code might be different for the MK1 but I doubt it.


Just committed a significant update to MCL and associated patches to MIDICtrl:

Old projects will not be compatible.

Project data will likely be overwritten as the project counter
has been reset to 0.

Project header size has been changed to 4096 bytes to accomodate
config data structure and provide additional space for future updates.

Projects are now properly 512 byte aligned. Should be a small performance
benefit for SDCard read + write access.
Config file data structure has been changed.

Project settings are now saved and loaded dynamically:
- Turbo Settings
- Clock Settings
- Grid Row + Slot position also saved and loaded.

FYI: The changes above should prevent any future changes breaking project compatibility.



Did you say there’s a way for to test the MKI compatibility? If so, let me know and I’ll do it up!

Same for the Monomachine. I have an SFX6 and it indeed has the ability to transmit MIDI notes without triggering internal sounds (GLOBAL->CONTROL OUT1->KEYBOARD: INT, INT+OUT, [OUT])


I’ve seen the devil, his name is TurboMidi :evil:.

I’ve been in TurboMIDI hell the last few days trying to track down a bug that crept in with some of the latest commits. It was affecting port 2 more noticeably than port 1.

I reverted a few commits and re-worked the TurboMIDI code for more reliable speed switching.

Should be all fixed now with the latest patches.


Hi @JustinValer
Will or may it be as an option in the future?
Machinedrum ** Swing / Per Track


You can achieve swing per track with Microtiming.


Working on my soldering fobia :slightly_smiling_face:


Just gotta say that this thread is like reality TV for me, so cool! Love all the behind the scenes stuff.


I had a mysterious idea to rewrite the way sysex messages are received. Originally they were stored in the MIDI ring buffer, before being transferred to a dedicated sysexbuf. Now we just write the messages directly to the sysexbuf in the interrupt service routines for the MIDI ports.

This saves a hell of a lot of RAM and seems like we’ve got a quite a bit of performance boost as well.

At one point we were down to 3KB of free RAM, now i have around 21KB to play with.


Waiting for other components to arrive.
Main component (MD MkII UW+) already arrived - yes, I really bought MD just because of Justin’s work.


Just experimented with doubling the MicroTiming resolution, to be on par with the current elektron range. 10degrees left or right.
This allows you to layer sounds with greater precision.

This was always on my to do list, but slightly wary as we have to generate an intermediate clock event between Midi Clock messages.

Still testing for jitter and latency, but so far so good.

Also, I discovered the glitchy sound @MonCalamari was talking about with micro timing. Not sure of the cause yet, happened on a ROM machine. sounds like a weird phase issue possibly.



Latest Version does not work. I have formatted my SD-Card, now i try to create a new project, but nothing happens. After some time the normal screen comes up, i can navigate thru the menu etc., but can’t read or write to the MD. After a restart the Megacommand doesn’t
seem to recognize the project, all i can do is to create a new project again.

I have tried different SD-Cards, the problem remains. When i look into the card, a project is there.

Any advise?


Hey Mon,

Just pushed hot fixes for the issue above. Please reformat and try again. Let me know if you still have issues.

Also in the last hour I released the new micro timing changes. So I’d recommend pulling in the latest commits for both MIDICtrl and MCL.

Have fun. i need sleep :stuck_out_tongue:

  • J


Justin: THANKS!

Everything works again, have a nice sleep.

My setup for tonight (just jamming with friends):

  • Machinedrum + Megacommand
  • and my new little Toy, zynthian:

A Raspberry Pi 3 Synth.

No time to sleep :nerd_face: