External midi syncing of zynseq and plugins not working

While in the last version it was working (nearly) perfectly, in the new stable-2401 version on a V5 it is not possible to synchronize with external midi clock signal - be it from USB connected controller or from directly using the DIN-5-plug. SYS CLOCK/START/STOP is been received from USB connected device, but no start/stop/sync is been done by zynseq or plugins.

Metronome settings are set to Midi control and i.e. calf vintage delay is also set to “timing sync” - which was working in the last stable release of zynthian.
Issue? Bug?

Also the received sys clock signals are not passed any further, allthough I’ve selected “Route Midi to Output Ports”.
I hope this issue could be solved - but perhaps I’m doing something completely wrong…

1 Like

Ups! There is a bug related with MIDI-clock. I’m fixing it right now.

Fixed! Please, update and try!!

Regards,

2 Likes

Thanks, @jofemodo , for fixing the midi clock thingy.
There seems to be (an)other issue(s) now.
lv2 plugins are synched to external BPM, good. :+1:

But there is a strange behaviour when using zynseq. I’m trying to describe.

Case 1 (without using zynseq): Shows expected behaviour :slight_smile:
Metronome is set to MIDI source. No zynseq pad selected for playing.
→ BPM is showing the external BPM (131 BPM in my case)

Case 2:
Metronome is set to MIDI source. A zynseq pad is selected for playing, but not running (yellow colour in playhead logo).
Now I’m triggering external midi source to start. in zynseq: playhead logo changes colour, which is fine. But metronome BPM has changed to a weired bpm count, instead of 131 bpm. If I stop and restart the external midi clock source, I get another weired bpm count.
When I now manually set (all) zynseq pad(s) to stop, the metronome BPM is changing again to the correct BPM (131).

Case 3:
Again I’m triggering with external midi source. A zynseq pad was selected and is playing now.
When I’m sending midi stop signal from external midi source, the zynseq pad is still playing and does not change into stop mode (red logo resp. off), hence is still in play mode.

Case 4:
External midi clock source. No zynseq pad selected for playing.
I can’t start the first zynseq pad while the external midi source is already playing,

Sorry for this, but ATM I’m really happy with the synched lv2 plugins.
Should I open a issue in the issue tracker?

I also saw, that the case handling of MIDI_STOP events in the zynseq.cpp is commented out. Probably the issue for case 3 above??

But again, thank you for your fast response.
I’m a big zynthian fan (DIY, V4, V5) and really appreciate a lot what you’re doing.

Ups! This smells like a “bug” :wink:
I will solve it ASAP.

This is by design. Think that you can have many sequences playing at once. Do you stop all of them? Only one? Witch? What is the desired behaviour for you? Do you think everybody would agree on this
behaviour? In such a case we could “stop all sequences” when receiving “stop” message.

This is not easy to solve in the current state. Zynthian can’t know about the external MIDI source status. External “start” message should be tracked. We plan to improve al this very soon, just after chain_manager is released, but this could take some weeks/months yet.

Regarding this, would you like synced stop (when each sequence reach the end) or instant stop?

Thanks

This is fixed. Update and test, please.

Enjoy!

1 Like

I think stopping at the end of the zynseq’s pad would be good - with the bmp count at stopping event going further until end of sequence is reached.
Perhaps other people would like it more customizable. Could be another switch in the metronome’s screen perhaps.

I understand that the starting position for zynseq’s pads must be detected, which is not easy to do. I can wait for it.

Nevertheless it would be cool if the external midi source is triggering kind of an internal counter on start, from which the zynpad’s sequence start events could be calculated. In the metronomes screen for example the user could choose a custom bar length (1-64), which is used to calculate the start event of waiting zynseq’s pads. Hence let the sequence start at dedicated positions.

But as I said. I can wait, especially because I am very excited about the upcoming chain manager “suite”, which seems to give the user a lot of flexibility :slight_smile:

updated and tested → works, great :trophy:

1 Like

Well there we have it folks! A successful completion of a process and another happy customer…

Course if that happy customer would like to…

1 Like