**************************************
*                                    *
*  MIDIMAX Release Notes             *
*  Version 1.3                       *
*  Release date: December 15, 1989   *
*                                    *
**************************************

Released as Freeware October 2002.
This is the freeware edition of MIDIMAX ver 1.3  It may
be distributed freely as long as all included
files remain intact and unaltered.It may not be sold.

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 and PinHead
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. 



-----------------------------------------------------------------------



















