viking@silver.bacs.indiana.edu (Jon W. Backstrom) (08/29/89)
After playing with the MIDI Management Tools (version 1.1), I would like to offer some initial impressions and pose a few questions about the behavior of the "MIDI Manager", the "Apple MIDI Driver", and a few of the demonstration programs. Two files make up the core of the MIDI Management Tools: an INIT named "MIDI Manager", containing the MIDI Manager code and the "Apple MIDI Driver" file, containing interface code for the hardware itself. When an application signs in, the MIDI Manager loads MIDI Drivers that are present in the System Folder and disposes of them when the application signs out. The Patchbay ------------ An application called "Patchbay" is at the heart of using the MIDI Manager. Everything runs under MultiFinder (ideally) and Patchbay is used to configure the connections between software modules and the MIDI input and output ports. (If you can't use MultiFinder, there is a Patchbay DA that you can install.) To actually *do* something, run "Patchbay" and then double-click on the MIDI Driver icon. A dialog then appears that lets you set which port(s) you want to use, the MIDI interface type (0.5 MHz, 1 MHz, and 2 MHz), the time code (none, beats, 24-25-30 fps, or 30 drop), and whether you want to use time code output, filter the time code, or use application sync. Finally, there is an "All Notes Off" button to silence runaway MIDI sound modules. (There seems to be a problem with "All Notes Off" button in the Apple MIDI driver dialog, however...see below.) There are four sample applications that are supplied with the MIDI Management Tools: MIDIArp (an arpeggiator), HourGlass (a time code stopwatch, of sorts), SquidCakes (a simple MIDI event recorder), and SimpleKey (a monophonic software keyboard). By launching one of these applications (with Patchbay active) an icon will appear in the Patchbay, allowing the user to drag "patch cords" connecting the software modules to the actual MIDI hardware I/O. To use MIDIArp, for example, one would connect the MIDI IN to the input of the software module and the MIDI OUT to the module's output. Then simply hold some keys down on your keyboard and listen to things start happening! For added fun, you can then launch SimpleKey and patch the output to the MIDIArp input, thereby *merging* the two inputs (one input from the software tool -- a single note -- and the other being whatever notes you are playing on your keyboard). You can also sync one module to another using the clock icons. This is nifty stuff! Patch settings can be saved, so if you do something fun like merge the inputs from the MIDI IN and SimpleKey to the input of Squidcakes (a simple MIDI event recorder), and then patch the output of Squidcakes to MIDIArp, and *then* patch the output of MIDIArp to the MIDI OUT... you can save the whole patch for future recall. (Who named these applications, anyway?) :-) One complaint I have about Patchbay is that when two modules are connected straight across the bay, but at an angle, the connections are visually crossed. For example: (Please forgive the text approximations) Straight across...no problems... MIDI > ----------------------------------------- > MIDIArp Driver < ----------------------------------------- < Angled across...visual crossing of 'patchcords'... MIDI > ------------------+ +-- < SimpleKey Driver < ------------------|-+ (Merged / | | Input) | | | \ +-|-----------------+-- > MIDIArp +-------------------- < When you get a lot of merged inputs and cross-connections, it gets harder to figure out what's going on. I would suggest that Apple should use a non-crossing visualization scheme for showing patchcord connections across the patchbay. Angled across...*no* visual crossing of 'patchcords'...why not? MIDI > --------------------+ +-- < SimpleKey Driver < ------------------+ | (Merged / | | Input) | | | \ | +-----------------+-- > MIDIArp +---------------------- < Sample Applications ------------------- There are lots of apologies for the quality of the sample applications in the "About" information, and it's easy to see why. SimpleKey, for example, has a few places on the keyboard where two keys will play the same note. There's nothing really much you can say, however, since these samples are meant to show possibilities...not to showcase the best possible MIDI applications. *Warnings!* ----------- I was able to hang the system when I did MIDI input while accessing the disk from another non-MIDI program. I was using a really complex input/output configuration with several applications in the Patchbay. (I was just testing the limits.) Also, when made some abrupt exits from MIDI applications, I was *unable* to use my modem port from a terminal program. By running everything again and closing all applications nicely, I was able to restore the operation of the modem port. (Strange stuff, but it seems really important to close the MIDI Manager software properly.) Finally, the "All Notes Off" button, from the MIDI Driver Settings dialog (you get there by double-clicking the Driver icon in Patchbay), seems to send an all notes off message (B0 7B 00), followed by 128 individual note off messages (80 nn 40 ... nn being 0-127), for *every MIDI channel*! (1-16) My Roland D-50 kept getting a "MIDI Communication Error" when I used the All Notes Off button, until I turned it's OMNI mode off. You might want to check the output from this command, but I think it's bogus. I tried looping the MIDI OUT to MIDI in and using SquidCakes to record the MIDI message being send, but I got strange results (which I'm sure are due to the slowness of the application). Does "All Notes Off" work? When I captured the MIDI events, I found that sometimes the initial Notes Off message was missed and I got spurious events at the end of each "burst". I wonder if this is what caused the error for the D-50? Are 128 Note Off messages for *each* MIDI channel *really* necessary, or is Apple trying to cover synths that don't respond to an All Notes Off message (Bn 7B 00)? My initial impression of the MIDI Management Tools is very favorable, however, and I'm excited about the future! ------------------------------------------------------------------------------- Jon W. Backstrom "Yah sure...we gonna have fun, you bet!" Institute for Digital Arts P.O. Box 176 Internet: viking@silver.bacs.indiana.edu Bloomington, IN 47402-0176 UUCP: {ames,rutgers,att}!iuvax!silver!viking -------------------------------------------------------------------------------