-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Midi machines, automation issues #189
Comments
MD MIDI machines are currently not supported with MCL. The PianoRoll can be used to transmit MIDI notes on port 2. |
Thanks, good to know!
Is it possible to record CC automation data in the PianoRoll?
Which are the points in the source code to possibly implement MD Midi
machine support, I could have a look at? Maybe I can figure something out.
Or is it more a technical limitation as for each step on the grid Midi is
sent from MCL to MD and would then be re-sent from MD to MCL and forwarded
to port 2 (which does sound to be timing wise a challenge)?
Cheers :)
…On Sun, Jul 14, 2024 at 2:49 AM jmamma ***@***.***> wrote:
MD MIDI machines are currently not supported with MCL. The PianoRoll can
be used to transmit MIDI notes on port 2.
—
Reply to this email directly, view it on GitHub
<#189 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABZMGRVY6HIQDNEJ2YZMM7LZMHDIPAVCNFSM6AAAAABK2L43CKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRXGE2TEOJRGI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Yes, see the PianoRoll section of the manual. Each track can automate up to 8 CCs.
You can find the main sequencer code MCLSeq::seq() in MCL/MCLSeq.cpp, The idea would be to emulate the MD's MIDI sequencing via the MCL sequencer, and transmit directly from the MegaCommand's port 2. There's at least three main issues. The first being, we would need to implement a distinct type of sequencer routine for the MIDI tracks. The MDSeqTrack::seq() routine, only needs to trigger a track once for each step trig. With the MIDI machines you need to send MIDI_NOTE_ON and then wait some duration before sending the MIDI_NOTE _OFF. The second issue is the GUI aspect. Currently the MIDI tracks on the MD transmit on their specific channel. I.e MID-05 transmits all control changes on channel 5. In normal circumstances (all other machines excluding CTR-*), the MD transmits within the range of (globalBaseChannel, globalBaseChannel + 4). MCL monitors parameter changes via MIDI CC. So any parameter value changes on the MD-MIDI tracks need to be intercepted. The GUI implementation on the MD is accessible to me, so I would likely be able to change the GUI MIDI channel behavior for Enhanced Mode. The third issue would be related to the number of parameters with locks. The MDSeqTrack::seq() routines were designed for 8 parameters, due to memory and cpu constraints. The MIDI machines really lend themselves towards 8+ parameters with locks. --
And can't really do it this way because MCL transmit quite a bit of sysex data back and forth with the MD. Large sysex transfers result in latency issues for MIDI note data. |
Thx for the detailed reply. Now I am wondering if in the automation editor track menu one could learn the Midi CC also from Midi in 1, coming from the MD. If one has set up a midi machine on the MD, one could use that to send Midi CC to MCL via moving the MD pots. This could be recorded in piano roll. Somehow CC can only be learned from Midi in 2. Could this be technically feasible? |
From memory it's mostly coded to use port2, See the SeqPtcMidiEvents::onControlChangeCallback functions in SeqPtcPage.cpp. -- On a side note I fixed the MD GUI issues for the MIDI tracks when in enhanced mode. Just coding up first pass of the MIDI Machine sequencer code. |
Very cool, thx. I will have a look at it. |
@ctag-fh-kiel jump on our discord when you have a chance and I can share the updated MD firmware. |
#191 <--- untested. |
I have a question with regard to the following scenario:
It would be great if the automations are sent as well, making this useful for sequencing external gear with a MD Midi Machine and MCL in enhanced mode.
Is this currently the desired behaviour or am I missing something?
The text was updated successfully, but these errors were encountered: