Yeah there’s a fair amount of sophisticated action in the new chain mode.
In order to interleave the machine parameters, we need to accurately calculate the transmission latency. and then execute the parameter transmission at exactly the right time. This is all subject to the Midi Tempo and Turbo speed.
We also optimise the number of parameters that are transmitted, if a track already has the correct parameter loaded or machine type then we need not transmit it again. For this reason, payload sizes vary, and transmission latency needs to be dynamically calculated. Also need to make sure we know exactly what state the MD is in, and we do this by monitoring CC changes and occasionally retrieving the current kit.
The actual ‘chaining’ of multiple tracks is tricky to implement. Because you want the user to be able to load tracks on the fly, but also have the ‘auto-chaining’ to run in the background undisrupted. So I had to devise a queue system.
Every time a track is loaded or chained, each track is compared against each other, and the next transition event is determined based on tracks that match the nearest transition step. A routine task keeps checking the current step position. if we’re close to the transition step, then we start preparing for the transmission. Once machine parameters are sent, the next transmission event is determined, data is cached appropriately.
The SD Card is fast, but not fast enough for the timing accuracy required. Track data is therefor loaded from the SD Card and cached in the second memory bank, and then syphoned in to main memory when needed.
In addition to the above mechanics you also need to make sure tracks play in time, are queued up correctly. Make sure that data transmissions don’t interfere with MDExploit or delay the GUI by a noticeable amount.
A fair amount of GUI code has also been implemented to work with the above.
And I still need to back port for the HD44780 display.
Sorry, but is there a page listing the features of the Megacommand?
I`ve never used it, or the Minicommand, but am intruiged at a designated controller for my MD (and other Elektrons?) but this thread is just too long to read I mean, something of a product page. This, ofcourse, if its still available for purchase.
Modern MD sequencer with micro timing conditional trigs, individual track lengths.
Chromatic Mode.
Single cycle waveform designer (3 oscillator multi waveform).
Live performance features.
Some of these features are covered in the now outdated manual:
Thanks for the info. To use the MD/minicommand in a larger setup, can I just use a midi merge to merge an external clock together with the minicommand into the MD?
Is it available as kit or finished product? Where do I buy?
The MegaCommand has 2 IN and 2 OUT MIDI. You can choose which ports send/rec the clock, there’s also support to forward MIDI messages between ports and this all works at any Turbo Speed speed.
Justin, thanks again for Your work. I think that the next step (excluding theoretically possible hotfixes) should be updating of documentation. I am not youtuber and can not post some video features walkthrough whatever, but what I possibly could do is - given some (albeit preliminary) draft, and, well, having some expectations w.r.t. docs (which I do have) - review it and/or help with editing. Still have no acquired “feel” for newest (as of last feature additions a week+ ago) firmware mainly due to lack of ‘music time’, so “almost newbie” perspective is guaranteed, which - for this kind of documentation - should be a plus.
I’ve gone ahead and re-written most of the MCL firmware documentation. I’m around 80% through. I’ve transcribed the google-doc to the LaTeX markup language, this takes care of formatting and document layout for the most part. There’s going to be around 30 chapters, which will make some nice bed time reading for you all.
If anyone has experience in LaTeX and wants to assist with a document review, by all means contact me.
Fixes issues with chain mode, slot menu and parameter locks.
I’m releasing a first draft of the MCL 2.21 documentation.
You can view the documentation online below.
If sections are unclear, poorly explained or if there are obvious mistakes, send me a PM.
Will gladly hand out editing access if people want to contribute and improve the docs.
Thought I would put this out there for anyone with a MegaCommand with the OLED screen.
I had the original STL files here printed in ABS to see what needed changing to fit the newer OLED screen. With a scalpel and about 10 minutes of time, I was easily able to cut a notch at the top of the screen, and cut away about 1-2mm along the bottom of the screen. The only other area that needed editing was the power switch, which also needed to be made slightly larger.
As previously mentioned, the excess plastic protruding from the midi ports on the MegaCommand itself also need trimming off as its too tall to fit in the enclosure (I used a sharp pair of wire cutters like scissors).
I have, based on the above, edited the relevant STL file in FreeCad, and its almost there, though adding in an extra 2mm of material on each side of the screen is giving me grief. Anyone an expert in such matters?
You can see the case is made from the _590BB_BOX drawing plus a bunch of objects that have either been added or subtracted from it.
I’ve highlighted the rectangular prism that was used to create the LCD cut out. You can adjust it’s dimensions and position (placement) to vary the shape of the cut.
So in this instance the width, length and vertical position need to be changed.
Once that’s done all that would be needed is another small “cut out” for the top of the oled.
Thanks for the info Justin. Just involved digging to the bottom of the tree.
I have edited based on the above. All dimensions should account for the new screen now.
Available for D/L HERE …
FYI, looked fine in CAD, but exporting an STL file and previewing it seems to make the front face hollow.
Will get a friend to check it on the weekend before printing but anyone can DL the updated and fix it (if required) in the meantime.
Previewing is okay on my mac, but I seem to remember a similar problem when I created the stls for printing. I cannot recall if this ended up being an actual issue.
I’ve added a few patches to allow you to copy/paste slots from one location in the Grid to another. I’ve also added visual feedback to the “apply” parameter.
I had some basic LFO stuff implemented before fixing the MIDI performance.
I was looking to see if CC changes would be smoother than the MD internal LFOs.
For example, the LFO resolution is low on the MD and modulation of VOL causes distortion.
I wondered if I could get better performance using CC, which ended up not being the case.