Path: utzoo!attcan!uunet!mailrus!ncar!unmvax!bbx!bbxsda!scott From: scott@bbxsda.UUCP (Scott Amspoker) Newsgroups: comp.music Subject: Re: MIDI Message-ID: <486@bbxsda.UUCP> Date: 21 Dec 89 21:05:32 GMT References: <4618@ur-cc.UUCP> Reply-To: scott@bbxsda.UUCP (Scott Amspoker) Organization: Basis International, Albuquerque, NM Lines: 40 In article <4618@ur-cc.UUCP> mek4_ltd@uhura.cc.rochester.edu (Mark Kern) writes: > I had thought that the SysEx messages dumped by MIDI instruments came in one >large packet, but the Roland implementation sheets use a handshaking system to >pass SysEx in organized packets. Since I had seen generic SysEx programs of the >type I wish to write, I became confused. How do the SysEx programs know which >handshaking system to use? The IMA 1.0 specs did not mention any standard >methods of handshaking, but the Roland specs give the SysEx format and the >operation codes for 'Want Send File', 'Acknowledge', etc. How can I make my >program handle a wide variety of synths then? Well, manufacturers can pretty much do want they want here. I gather that you are mostly concerned with the particular class of SysEx messages known as "bulk dumps". As you apparently know, the most common bulk dump format is initiated manually and contains parameters for a single voice or a group of voices. Many instruments allow for dumps to be intiatied via MIDI by means of a "dump request". Also, sometimes several SysEx dumps will be transmitted back-to-back as the result of a single dump request. Librarian software should be prepared for such a thing. This gets a little tricky since the software must rely on a timeout to conclude that there is no more data coming. The Kurzweil PX1000 requires a ridiculously complex handshaking protocol that any general purpose software would not be prepared to deal with. What you describe sounds like more like the Kurzweil than a more *typical* MIDI instrument. (This surprises me coming from Roland). You might be left to write a special interface just for that instrument. :-( You may also consider writing a generalized librarian that lets the user specify expect-send-expect-send type of sequences (similar in concept to UUCP). I wish I could help you specifically with the Roland instrument but I would have to see the manual. If you do find anything out, please share it with us. I occasionally write MIDI software myself and like to be aware of such anomalies. Good luck. -- Scott Amspoker Basis International, Albuquerque, NM (505) 345-5232 unmvax.cs.unm.edu!bbx!bbxsda!scott