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

Reply via email to