Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!yale!ox.com!oxtrap!sendai!rich From: rich@sendai.sendai.ann-arbor.mi.us (K. Richard Magill) Newsgroups: comp.sys.mac.programmer Subject: Re: Apple MIDI Driver Message-ID: Date: 26 Feb 90 21:37:07 GMT References: <4260@cbnewsl.ATT.COM> <2477@castle.ed.ac.uk> Sender: rich@sendai.UUCP Reply-To: rich@sendai.ann-arbor.mi.us Organization: Digital Works, Ltd. - Ann Arbor, MI Lines: 29 In-reply-to: nick@lfcs.ed.ac.uk's message of 26 Feb 90 13:42:24 GMT In article <2477@castle.ed.ac.uk> nick@lfcs.ed.ac.uk (Nick Rothwell) writes: In article <4260@cbnewsl.ATT.COM>, saf@floyd (Steve Falco,14D-327,4865,ATTBL) writes: >all outgoing data packets >must be "sanitized." Thus an application cannot use optimizations >like "running status" nor can system exclusives be mixed with >other data. > >This might be fine for new programs built from the ground up but is a >pain for existing programs which must be converted. I don't see why this is any problem (I converted my code quite easily). Could you elaborate? It's a pain because existing mac software expects a byte stream driver. Guessing that the only reason midi manager guaranteed sanitization was because it required sanitization on input, I just converted tjt's keynote2 (with saf's midi driver hacked for multifinder) to simply queue each byte into midi manager as received (if midi manager is available, otherwise I default to the hacked saf's driver). My guess was that midi manager didn't enforce sanitization, and that few applications were generating unsanitized streams. The result is that output is fine, but input doesn't arrive in a timely enough manner to be useful. ie, I get all the bytes but not with useful (locally generated) timestamps. I'll have to hack into a higher level such that keynote uses the timestamps on the midi manager packets. Sanitization is still an outstanding question in my mind.