MIDIMAX! Demo Version By Larry Herzberg Copyright 1989 CodeHead Software All Rights Reserved. DEMONSTRATION PROGRAM NOTES MIDIDEMO.PRG is a demonstration version of MIDIMAX.PRG. It is identical to MIDIMAX.PRG version 1.0 in most respects, but the Save File options have been disabled, and the Play Files option operates on a two minute timer. MIDIDEMO.ARC may be freely distributed, but only in its original .ARC form, complete with this MIDIDEMO.TXT file and the example files in EXAMPLES.ARC. Features -------- MIDIMAX is an extremely flexible MIDI program with many powerful features. Here are just a few of the things you can do with MIDIMAX: Create MIDI macros, extended series of MIDI commands, triggerable by any MIDI event. With just one MIDI macro, you can set up your entire MIDI system with multiple program changes, channel modes, song selections and more. Convert continuous controllers; for instance, change incoming mod wheel data on one channel into outgoing volume data on another. Filter out any particular MIDI event or general class of events from or to any channel; turn your ST into an intelligent thru-box. Modal Harmonization. Most hardware harmonizers are inflexible, always outputting fixed intervals. But MIDIMAX allows you to create MIDICHORD files, harmonic maps covering every note from C-2 to G8. When you include a given trigger note in such a map, MIDIMAX will output up to 18 triggered notes on any channel or combination of channels. This enables you to play things in real time that used to be impossible for one human being to execute. MIDIMAX allows you to keep up to eight MIDICHORD maps in memory, and to switch between them either manually or via any MIDI trigger! Using MIDICHORD, you can split a single-channel controller into as many distinct key-range/channel assignments as you like. And since any key can be assigned any note, you can even divide one physical keyboard into several "logical" keyboards having the same key-range. Then, using MIDIMACRO, you can route different controls to different splits! Both MIDICHORD and MIDIMACRO are themselves fully MIDI-controllable in Play mode. You can even use MIDIMACRO to turn itself on and off! Running MIDIMAX --------------- MIDIMAX can be run either as a program or a desk accessory. As an accessory, it can be run right out of your sequencer or patch librarian program, as long as those applications use the standard GEM menu bar. One of the main advantages of accessories is that once you've entered data into them, the information remains intact until you turn off the computer, even if you run other programs in the mean time. This can save you valuable set-up time during a performance. To run MIDIMAX.PRG as a desk accessory, just rename it MIDIMAX.ACC and keep it on the main directory of your boot-up disk (the one you have in drive "A" when you first turn on the computer); then it will always register itself in the drop-down menu named "Desk". How to order the real thing --------------------------- The suggested retail price of MIDIMAX is $49.95 US. To order the full working version of MIDIMAX, which includes a 50+ page manual with quick reference sections and detailed tutorials, call CodeHead Software at (213) 386-5735. We accept Mastercharge and Visa, and we'll ship COD. If you'd rather order by mail, send a check or money order for $49.95 plus $2 shipping (Canada $3, Europe $5) to: CodeHead Software P.O. Box 74090 Los Angeles, CA 90004 (California residents please add 6.5% sales tax.) A few pointers -------------- Here are a few pointers on running MIDIDEMO.PRG... Always turn your controller on BEFORE you run MIDIDEMO.PRG. Turning it off and on while the program is running can have unpredictable results. If you absolutely must, disable the "thru" function first. Since MIDIDEMO.PRG has a 2-minute Play mode time limit, it might cut you off in the middle of some inspired flourish, with controllers in various awkward positions and many notes hanging. To be polite, it will then attempt to "re-normalize" your system. Here's what it does: 1) All triggered notes are turned off on all channels, individually (not just using All Notes Off commands, which some synths do not read). 2) Sustain pedal (control #64) is turned off on all channels. 3) Mod wheel (control #1) is set to 0 on all channels. 4) Pitch Wheel is set to mid (no effect) position on all channels. 5) MIDI volume (control #7) is set to maximum on all channels. This is necessary because some synths remember their last MIDI volume settings, even after they are turned off! Example Files ------------- The example files included in EXAMPLES.ARC have been written as simply and generally as possible in order to illustrate a few of MIDIMAX's capabilities. For them to work properly on YOUR system, your synths must be configured to receive -- over the designated channels -- the kinds of MIDI data MIDIMAX will be transmitting. Your controller MUST (for the MIDIMACRO examples) be set to transmit over channel 1, and four of your sound modules should be configured to receive over channels 1, 2, 3 and 4 respectively. If you don't have four sound modules, set at least one to receive on Omni Mode (to hear all of the MIDICHORD voices). If your synths use unconventional MIDI control number assignments, some of the MIDIMACRO examples probably won't work right. You might be able to rectify any incompatibilities by consulting their MIDI specs and editing the example files. If you don't have their MIDI specs handy, MIDIMAX will analyze any synth's (or other controller's) MIDI output for you, one event at a time. Here's how: 1) Click on Create Macro on the MIDIMAX Menu. 2) Select an empty macro number. 3) On the Event Entry screen, click on Controller Entry. 4) Follow the directions in the Controller Entry dialog box. 5) After the Controller Entry dialog box disappears, click on "Edit This Macro". Then MIDIMACRO will show you MIDIMAX's analysis of the event you just entered. All of the example macros have been optimized to work on a controller which is NOT in the MIDI-Out chain originating at the computer. To optimize them for controllers that are also sound modules (and on the MIDI-Out chain), you would want to include a simple MIDI macro to filter out all note events on the controller's transmission channel (see MIDIMAX manual). Another option is to configure your