Re: [seq24-users] Midi Clock Sync patch (slave seq24 to external sequencers)
Brought to you by:
rcbuse
|
From: Guido S. <gui...@ba...> - 2009-06-25 17:26:22
|
Am Tue, 14. Apr 2009 um 21:43:24 -0500 schrieb Kevin Meinert: > Hello Everyone, Hi Kevin, > Attached is a patch to upgrade perform.cpp and perform.h to have the Midi > Clock Sync feature. Test it out and tell me how it goes. [...] > documentation: > ============================================================== > Midi Clock input: > > seq24 will slave off of incoming MidiClock messages > 0xfc 0xfa 0xf8 (start stop and tick) > > This has been tested with another seq24 instance (stop/start works) > This has been tested with a x0xb0x in (start/stop works) > > It will also pay attention to 0xfb (continue) and 0xf2 (Midi Song Pos) but > these aren't tested... I would like to come back to this topic. Some weeks ago I followed a discussion on the Linux Audio User (LAU) mailinglist, dealing with MIDI clock support: http://lists.linuxaudio.org/pipermail/linux-audio-user/2009-May/060534.html Reading our code I found the current implementation in seq24 is not at a perfect state. I spend some time to look for an internet resource about this topic and found this article, giving some clear statements about how a "MIDI clock client" should behave: http://home.roadrunner.com/~jgglatt/tech/midispec/seq.htm The current code is not so far away from the theory, but there are some basic differences. As I understand the MIDI events should trigger actions like this: MIDI Start: * Prepare for a start at the very beginning of the song * if running, ignore this event MIDI Continue: * Prepare for a start at the current position * if running, ignore this event MIDI Clock: * if not running, start running MIDI song position: * if running, ignore event else update position MIDI Stop: * if running, stop else ignore event Do you agree? Guido -- http://www.bayernline.de/~gscholz/ http://www.lug-burghausen.org/ |