Closed JaysonDirkz closed 3 years ago
Thanks for this! Will definitely fix the few bugs (where one was also mentioned in #52). A few comments for now:
set midiClock "ESI MIDIMATE eX"
, since using the spaces without "" might become troublesome in a future tokenizer/parser that I'm working on, will have to see.30 ticks
, that obviously needs to be 20 yes, (480/24). Thanks for finding the error.silence
or alt + .
Now fixed in 42ea79581187e18743a4ad94f02291349bf64219. Documentation is also updated.
Hi,
I tried to use the Mercury's midiClock functionality with my external gear (ESI MIDIMATE eX and Korg ESX-1) and I found out a few things:
has to be
Because midiclock without capital C doesn't seem to work.
The next issues are all related to changes I made in the midiClock patcher. See the image I included. And see my explanation below.
When using a midi device with a name that has spaces (for example ESI MIDIMATE eX), the
set midiClock ESI MIDIMATE eX
doesn't work. I tried a few other things likeset midiClock "ESI MIDIMATE eX"
. But this also doesn't work. I solved this by making a change in the midiClock patcher (see image). I routed thetyperoute~ list output
to theroute getports left input
. And now it responds to lists (names with spaces). And my device is responding!But then I found out my device was not syncing correctly. So I changed the
metro @active 1 @interval 30 ticks
tometro @active 1 @interval 20 ticks
. This also correspondents to the fact that the max/msp tick resolution is 480 pulses/quarter note and the midi clock resolution is 24 pulses/quarter note. So 480/24 = 20.The next issues may be more related to personal preference (see the same image for clarity):
Each time when executing the code (with
alt gr + enter
) the midiClock sends a midi start (value 250). This resets my external midi sequencer, while Mercurys sequencer doesnt resets. I wanted to keep my external sequencer going like Mercury. So I included azl.change
andgate
object to let it send a midi start only when the midi device name is changed or after a midi off was called.At last I included a
r codeOut
+select silence
attached toloadmess off
to make the midiClock send a midi stop message (value 252) whensilence
is called in the editor. When playing around a bit with Mercury, this seemed convenient to me. But you can also do this ofcourse with callingset midiClock off
andsilence
after eachother in the editor.Cheers!