************************************** * * * MIDIMAX Release Notes * * Version 1.3 * * Release date: December 15, 1989 * * * ************************************** Register Program ---------------- Before using MIDIMAX you must run the program called REGISTER.PRG on your MIDIMAX master disk. This registration program will ask you to enter your name and address as it appears on your registration card. It is very important that you enter this information correctly in order to receive updates and customer support. The registration program will then write this information into your MIDIMAX program and initialize MIDIMAX so that it will function correctly. After this your name will appear in the Info box. Remember that it is unlawful (a Federal offense) to make any copies of this or any other copyrighted software for purposes other than your own backup copies. If, for instance, you were to lend a copy of your MIDIMAX to a friend and he happened to upload it to a pirate BBS, you could be in big trouble. Filename Change --------------- Any references in the MIDIMAX manual to the filename "MMAX10.PRG" should be changed to "MIDIMAX.PRG", as provided on your MIDIMAX master disk. New Features of v1.3 -------------------- The MIDIMACRO creation screen has been reorganized; you can now input local on and local off events directly, rather than as control changes, and the two types of Aftertouch -- Channel Pressure and Poly Key Pressure (labeled "Key Pressure") -- now have their own input buttons as well. MIDI macros can now contain Dynamic Velocity/Value Adjustments as triggered events. As long as your trigger event is a note event, control change, or aftertouch event, you can increase or decrease its velocity or value by any amount (between 1 and 127) or by any one of three ratios (1/8, 1/4, or 1/2 of the trigger event's velocity or value), on any channel! In addition, you can specify minimum and maximum clipping values, either in conjuction with Dynamic Velocity/Value Adjustments, or by themselves. When editing a MIDI macro that includes clipping values, they are shown in square brackets, minimum value first, maximum second. Since zero velocities and values generally have a special function in MIDI events, they are NOT adjusted. Default clipping values are 1 and 127. Zero can be specified as a minimum clipping value, but if you are decreasing velocities or values with Dynamic Velocity/Value Adjustments, think twice about the ramifications of specifying zero as the minimum clip. Where notes are concerned, you might not just be softening their velocities; you might be turning them off altogether. NOTE: The addition of Dynamic Velocity/Value Adjustments made it necessary to lengthen the size of a MIDIMACRO file, which is now 900 rather than 450 bytes long. The old (pre-v1.3) MIDIMACRO files will still load correctly into v1.3, but pre-v1.3 MIDIMAX bulk (.MMX) files will not. However, a file conversion program (called CONVERT.PRG) has been included on your MIDIMAX v1.3 disk. Running this program allows you to convert pre-v1.3 bulk files (with the exception of those made with v1.0...throw those dinosaurs out!) into v1.3 bulk files, allowing you to avoid the hassle of reorganizing them. You can now specify the MIDICHORD receive channel on the Play Menu. If you have a controller capable of transmitting on more than one channel at once, you should find this very useful. You can cycle through all 16 channels and an "All" setting by left or right clicking on the bar labeled "Current MIDICHORD Receive Channel". Left-clicking increases the channel, while right-clicking decreases it. This setting is retained in Bulk files. New Features of v1.2 -------------------- A new button on the MIDIMAX Menu, reading "A.S.: Filter" at start-up, now allows you to either filter out Active Sensing bytes or allow them thru (wherever there is a thru feature in the program). In previous versions of MIDIMAX, Active Sensing bytes were always filtered out. A bug has been fixed with the handling of System Exclusive data which is now correctly sent 'thru' MIDIMAX. New Features of v1.1 -------------------- 1) MIDIMAX will now load a default bulk file. The default file will be automatically loaded when the program starts up (or when the ACC initializes). To create a default bulk file, simply save a bulk file with the name MIDIMAX.MMX in the same directory as MIDIMAX.PRG (or MIDIMAX.ACC). If you don't wish to have a bulk file automatically loaded, don't do this. 2) Eight times the macro power! Whereas MIDIMAX 1.0 allowed you to have only one MIDIMACRO file in memory at any given moment, 1.1 lets you keep eight files resident, and to switch between them either manually or via any MIDI trigger, just like MIDICHORD maps. This means that you can have a specialized MIDIMACRO file for each MIDICHORD map. 3) The Play Menu has been expanded. The currently selected MIDIMACRO file is now displayed under the current MIDICHORD map. You can manually change MIDIMACRO files either by clicking on the file number, or by pressing the associated key (1 through 8) on the top row of the ST's keyboard. No other key press functions have changed. 4) The new "Link" feature on the Play Menu allows you to link changes in MIDICHORD maps to changes in MIDIMACRO files, or vice versa. If you link "MMO to MCD", clicking on a given MIDICHORD map number (or pressing its associated function key) will also select the MIDIMACRO buffer of the same number. Selecting a given MIDIMACRO buffer, however, will have no effect on the current MIDICHORD map. Linking "MCD to MMO" reverses this relationship. If linkage is enabled, it is also active when a MIDI event triggers a change, so if you've set up a a more complex relationship between maps and macro files than a simple one-to-one correspondence (via "meta" triggered events in MIDI macros), select the "None" button in the "Link:" box. 5) There are now three Mute options on the Play Menu. "Hands Off" muting is new. When you select this option, play mode changes that require muting (such as switching between maps or macro files, or turning off MIDICHORD or MIDIMACRO) will be delayed until the number of note-offs received from the controller is equal to the number of note-ons received (although the change you've requested will appear on the Play Menu). This effectively eliminates the need for muting altogether, making such play mode changes much faster! You should be aware, however, that your playing style will affect the way "Hands Off" muting works. If your style is very legato (that is, if you do not release a note until after the next one is played), you might not achieve the desired result at the desired moment. "Individual Offs" is an improved version of "Mute Function 1" in MIDIMAX 1.0. It now works faster and more consistently, muting trigger notes as well as triggered notes. "All Notes Offs" is the same as the old "Mute Function 2". 6) The Play Menu now retains all settings when you leave it to edit a file. 7) For all MIDIMACRO operations, you are now able to choose any of the eight MIDIMACRO buffers. On the Main Menu, this means that there is generally one extra step to take before initiating any editing or disk function: selecting the desired buffer. The new Buffer Selector looks and functions just like the Map Selector. 8) Version 1.0 bulk (.MMX) files will no longer load properly into version 1.1, but the individual MIDICHORD (.MCD) and MIDIMACRO (.MMO) files will. Demonstration Files ------------------- The DEMOBULK.MMX file found on version 1.0 disks has been replaced by two new bulk files, KEYBCTRL.MMX and PROGCTRL.MMX. These files demonstrate two of the many possible ways of coordinating MIDICHORD maps with MIDIMACRO files via MIDI. A complete description of them follows. KEYBCTRL.MMX and PROGCTRL.MMX are basically identical files with one important difference: KEYBCTRL.MMX uses a filtered key-zone on your controller (C1 through G#1) to control map and macro file changes, while PROGCTRL.MMX uses a filtered group of program changes (1 through 9). Both consist of functionally equivalent MIDICHORD maps and MIDIMACRO files, but the maps have been truncated in KEYBCTRL.MMX to allow for the filtered key-zone, and "thru-macros" for program changes have been left out of all the MIDIMACRO files in PROGCTRL.MMX to allow for the filtered group of program changes. Of course, outgoing program changes could be added to the filtered group of program changes as triggered events, but since each MIDI system is set up differently, you are the one most qualified to do that. In order for these demonstration files to work properly, you should configure your system as follows: 1) Your controller MUST be set to transmit on channel 1, because that is the channel these MIDI macros are set to respond to. If your controller is capable of transmitting on several channels at once, you should make sure that only one channel is routed to MIDIMAX. It's perfectly alright to use a split keyboard, but not one in which the key-zones overlap; overlapping zones will cause MIDICHORD to double-trigger notes. If you want to use overlapping zones, write a MIDICHORD map to do this for you. 2) If you are using your controller also as a sound module, you MUST turn Local Control Off; otherwise half of the macro files won't work properly. If this can not be done manually on your controller, you might be able to do it via MIDI. Try adding it (as a control change) to the SYSSETUP.MMO macro file which has been included in both bulk files, or to any other macro file. The control change that turns Local Control Off is #122 with a value of 0. To turn Local Control On again, use control change #122 with a value of 127. 3) Configure four sound modules to receive on channels 1, 2, 3, and 4 respectively. Be sure to turn Omni Off and Poly On on each of them. These are the default settings on most synths. 4) As always, be sure to turn your controller on BEFORE running MIDIMAX, or at least before entering the Play Menu. 5) While you are free to select maps and macro files manually with the mouse or a key-press, I suggest that you use the MIDI triggering system at first. This will insure that you're playing each MIDICHORD map with its intended MIDIMACRO file. 6) To play either demo bulk file, first turn on both MIDICHORD and MIDIMACRO on. Manually, click on Both or press the spacebar followed by any qwerty key (other than 1 through 8, which now control MIDIMACRO file changes). Via MIDI, just hit C1 if you're playing KEYBCTRL.MMX; with PROGCTRL.MMX, simply press program change #1 (NOTE: many controllers are "off by one" in their program assignments; you might have to press program 2 when I refer to program 1, etc. Also, make sure that your controller is on the right "bank" of programs). Now, for simplicity's sake, I'm going to describe only KEYBCTRL.MMX in detail; afterwards, I'll explain the minor ways in which PROGCTRL.MMX differs from it. When you play KEYBCTRL.MMX, the following notes will trigger the following changes in MIDICHORD maps and MIDIMACRO files: ********** C1 (MIDI note #36): ********** Turns on MIDIMACRO and selects buffer #1 (KEYBCTRL.MMO); it also turns on MIDICHORD and selects map #1 (THRUX234.MCD). KEYBCTRL.MMO includes "thru macros" for all control changes, program changes, pitch wheel and aftertouch events. THRUX234.MCD takes notes from your controller's transmission channel (channel 1, in this case), outputs them and echoes them to channels 2, 3, and 4. ********** C#1 (MIDI note #37): ********** Selects MIDICHORD map #2 (DIMINSHD.MCD) and MIDIMACRO buffer #1 (THRUX234.MCD). DIMINSHD.MCD is a simple C diminished chord scale, starting on A1. ********** D1 (MIDI note #38): ********** Selects MIDICHORD map #3 (CMAJ4TET.MCD) and MIDIMACRO buffer #1 (THRUX234.MCD). CMAJ4TET.MCD is a simple C Major chord scale with root voicings and passing chords, starting on A1. ********** D#1 (MIDI note #39): ********** Selects MIDICHORD map #1 (THRUX234.MCD) and MIDIMACRO buffer #4 (SUS_CTRL.MMO). SUS_CTRL.MMO filters the sustain pedal and uses it to switch between two MIDICHORD maps. Pressing the sustain pedal will switch to MIDICHORD map #4 (BIG_SUS.MCD, which uses several major-sustained chord voicings); releasing it will switch back to map #1. Since both sustain pedal ons and offs are filtered out of the MIDI data flow when this macro file is active, be sure NOT to hold the pedal down while entering SUS_CTRL.MMO. If you do, the synths that were sustaining notes will not receive the required pedal up (until you exit SUS_CTRL.MMO, press and again release the pedal). If you are using your controller also as a sound module, be sure to turn Local Control Off. If this can't be done, turn down its volume. ********** E1 (MIDI note #40): ********** Selects MIDICHORD map #5 (SPLITKEY.MCD) and MIDIMACRO buffer #5 (SPLITKEY.MMO). More than any of the other pairings of maps and macro buffers, these two were written to be played together. SPLITKEY.MCD effectively splits the keyboard into three zones. Keys from A1 through B2 will trigger their notes on channel 2, C3 through F#4 will trigger their notes on channel 3, and G4 through C6 will trigger their notes on channel 4. SPLITKEY.MMO filters out incoming notes on channel 1. It also routes the mod wheel only to channel 2, the sustain pedal only to channel 3, and the pitch wheel only to channel 4. If you are using your controller also as a sound module, be sure to turn Local Control Off. If this can't be done, turn down its volume. ********** F1 (MIDI note #41): ********** Selects MIDICHORD map #6 (MULTIKEY.MCD) and MIDIMACRO buffer #6 (MULTIKEY.MMO). MULTIKEY.MCD splits the keyboard into four zones. A1 through B2 triggers notes on channel 1, C3 through B3 triggers notes on channel 2, C4 through B4 triggers notes on channel 3, and C5 through C6 triggers notes on channel 4. The main difference between this file and SPLITKEY.MCD is that the triggered notes are all in the same range (MIDI octave 3). This effectively divides one physical controller into four "logical" controllers. MULTIKEY.MMO, unlike SPLITKEY.MMO, does not route different controllers to different channels; all controllers are routed to all channels. Trigger notes on channel 1 are still filtered out, however (the notes you hear over channel 1 are triggered notes). Once again, if you are using your controller also as a sound module, be sure to turn Local Control Off. If this can't be done, turn down its volume. ********** F#1 (MIDI note #42): ********** Selects MIDICHORD buffer #7 when a map resides there. ********** G1 (MIDI note #43): ********** Selects MIDICHORD buffer #8 when a map resides there. ********** G#1 (MIDI note #44): ********** Turns off both MIDICHORD and MIDIMACRO. ************************************************************ That's the main "system" of MIDICHORD maps and MIDIMACRO files in KEYBCTRL.MMX. However, there are four other MIDIMACRO files included in this bulk file which are not technically part of the system, but illustrate some of MIDIMAX's other capabilities. MOD__VOL.MMO, AFTERMOD.MMO, SYSSETUP.MMO and NO_MAP.MMO can each be accessed by manually switching to MIDIMACRO buffers 2, 3, 7 and 8 respectively. MOD__VOL.MMO reverses the standard functions of the mod wheel and the MIDI volume pedal. When this file is selected, incoming mod wheel data on channel 1 will be filtered and output as volume data on channels 1, 2, 3, and 4, while incoming volume pedal data on channel 1 will be filtered and output as mod wheel data (interpreted by most synths as vibrato) on channels 1, 2, 3, and 4. Note that some synths do not recognize these data types, especially MIDI volume. When you're finished experimenting with this macro file, I recommend that you exit it via MIDI by pressing one of the control keys on the controller. That way, maximum volume settings will automatically be transmitted on all four channels. AFTERMOD.MMO filters incoming aftertouch data on channel 1 (either channel pressure or poly key pressure) and outputs it as mod wheel data on channels 1, 2, 3, and 4. SYSSETUP.MMO demonstrates how to implement a complete system setup using several MIDI macros that have been "chained" together by the same trigger event, which in this case is program change #1. Pressing that patch change (remember that the numbering system on your controller might be different) will initiate the following events: Program changes 1, 2, 3, and 4 will be output over channels 1, 2, 3, and 4 respectively. Omni Off, Poly On and maximum MIDI volume commands will be output over all four channels. The System Common (non-channel) events Song Select #3 and Start will then be output, followed by the MIDIMAX meta commands "Turn on MIDIMACRO and change to buffer #1" and "Turn on MIDICHORD and change to map #1". That is ALL this macro file was written to do. There are no thru-macros included. NO_MAP.MMO does precisely what it's name implies; unlike the other MIDIMACRO files, which are meant to always function with MIDICHORD maps, this file includes thru-macros for note-on and note-off events, as well as all other necessary thru-macros. Although it can function with a map, it shouldn't, since the trigger note will be echoed to all channels, and in some cases twice. ************************************************************ PROGCTRL.MMX functions just like KEYBCTRL.MMX, except that program changes 1 through 9 are substituted for notes C1 through G#1, there are no thru-macros for program changes (except in NO_MAP.MMO), and all of the MIDICHORD maps have been expanded to make use of the lower octaves, filled with a simple thru map in most cases (since this generally sounds better than chords in the lower octaves). Although all of the MIDIMACRO files have the same names in both bulk files (except for KEYBCTRL.MMO and PROGCTRL.MMO), be aware that they do contain the previously mentioned differences; if you save them individually, be sure to do so into two different folders. ShareWare Folder ---------------- For your convenience we've provided the latest versions of two shareware programs by Charles F. Johnson. The Little Green Selector (LGSELECT.PRG) and PinHead (PINHED14.PRG) are contained in the folder named SHARWARE on your master disk, along with their respective doc files which you may 'Show' or 'Print'. As these programs are shareware, none of the purchase price of this package is applied to them. If you use these programs (regularly) you are expected to send a shareware payment to Charles at the address listed in the documentation. Thank you. CodeHead Software Update Policy ------------------------------- At CodeHead, we update all of our software frequently; but due to postal expenses we are not able to notify our users regularly. You may find out the latest version number of any CodeHead Software product by calling us at (213) 386-5735, or by finding us on GEnie, Compuserve, or Delphi. The latest update for any product may be obtained by returning your original master disk plus $5.00 to: CodeHead Software P.O. Box 74090 Los Angeles, CA 90004 FAX: (213) 386-5789 From time to time we offer free updates for certain versions (if we've released something with bugs, etc.). You will be informed (or your money returned) if this is the case. ----------------------------------------------------------------------- Please, remember that software theft hurts EVERYONE. If you have a legitimate copy of our software, please accept our sincere thanks for purchasing our product. If you're reading this file from an illegal copy of our software (you know if you are), you might want to give some thought to the consequences of your actions. We will not continue to produce software for the ST if we can't make a living at it. If you steal a copy of any of our programs (by using it without buying it, or allowing others to use it without buying it), besides breaking a federal law, you're also quite literally stealing the food right out of our families' mouths. Think about it.