On Saturday 10 September 2005 21:32, Chris Cannam wrote: > On Saturday 10 Sep 2005 12:35, Pedro Lopez-Cabanillas wrote: > > What do you think about including MIDI_MMC_DEFERRED_PLAY in > > AlsaDriver::testForMMCSysex(), along with MIDI_MMC_PLAY to allow both > > messages to start playing the composition when MMC slave sync is > > selected? > > > > (Quote from: > > http://www.yamaha.co.jp/product/proaudio/homeenglish/faq/glossaries/g > > lossarie/ DEFERRED PLAY: Technically, if the master device is busy > > searching, then playback resumes after it has completed the search.) > > There's no mechanism for ensuring the master and slave are actually in > sync, then? This message just says "start when you get around to it", > and there's no subsequent handshake for the moment when the start > actually takes effect?
There are "Universal Non Real Time" messages, part of a handshaking protocol (Wait, Cancel, ACK, NAK). But as far as I know, MMC doesn't require/provide a handshake mechanism. I'm not sure at this point, perhaps I'm wrong. > If this message should be treated exactly like MMC_PLAY for our > purposes, then I see no problem. I'm not in a position to test or > comment with any authority though. I can't claim any authority either. I can only show the results of my research about MMC interoperation between several Linux audio applications. For instance, Ecasound can only send MMC Deferred Play but Rosegarden doesn't understand this command. Here are the programs, releases and MMC commands sent and understand by each one. Ardour (0.9beta29) http://ardour.org/cgi-bin/viewcvs.cgi/ardour/libs/ardour/session_transport.cc?annotate=1.100 http://ardour.org/cgi-bin/viewcvs.cgi/ardour/libs/ardour/session_midi.cc?annotate=1.56 Sends: Deferred Play Understands: Play, Deferred Play Muse (CVS / 1.0pre1) http://cvs.sourceforge.net/viewcvs.py/lmuse/muse/muse/midiseq.cpp?rev=1.66&view=auto http://cvs.sourceforge.net/viewcvs.py/lmuse/muse/muse/sync.cpp?rev=1.12&view=auto Sends: Deferred Play Understands: Play, Deferred Play Ecasound (2.4.3) http://cvs.seul.org/viewcvs/viewcvs.cgi/sound/ecasound/libecasound/midi-server.cpp?rev=1.30&view=auto Sends: Deferred Play Understands: None us428control (ALSA 1.0.9) http://cvs.sourceforge.net/viewcvs.py/alsa/alsa-tools/us428control/Cus428Midi.cc?rev=1.4&view=auto Sends: Play Understands: Play, Deferred Play Kmetronome (CVS / 0.7) http://cvs.sourceforge.net/viewcvs.py/kmetronome/kmetronome/src/sequencerthread.cpp?rev=1.6&view=auto Sends: None Understands: Play, Deferred Play Rosegarden (CVS / 1.2) Sends: Play Understands: Play Regards, Pedro ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ Rosegarden-devel mailing list [email protected] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
