MIDI Monitor 
Version 2.08
DRAFT 19-OCT-93


MIDI Monitor is a Windows 3.1 program.  It displays incoming MIDI streams,
and passes the data to a MIDI output driver or the MIDI Mapper.  The 
program was originally included in the MS Windows 3.1 SDK, but has been 
extensively modified.

This ZIP file contains the source code for the current version of
MIDIMON, plus the executables.  The CTL3D stuff is from Microsoft
and the source is not available.  The CTL3DV2.DLL MUST be installed in
the Windows SYSTEM library.

This document is a very brief overview of MIDIMON and how to install it.
If you require more extensive information or have any questions you may
contact me via Compuserve [73030,351], telephone, or mail:

Jamie O'Connell
191 Park Drive #44
Boston, MA 02215
(617) 267-4556

INSTALLATION

This zip file contains:

 MIDIMON.EXE        The program
 MIDIMCBK.DLL       Callback DLL
 MSCROLL.DLL        Custom Control DLL
 CTL3DV2.DLL        3d effects DLL
 README.TXT        This file

To install the program, unzip the files to a directory.  The DLL files 
must either be in the same directory as MIDIMON.EXE, the Windows System 
directory, or in a directory named in the PATH environment variable. 
IMPORTANT: The CTL3DV2.DLL must reside in the Windows SYSTEM directory. 

Next, start Windows (unless it's already running), and click on the group 
you want to put MIDIMON in.  Pull down File/New... (Main menu item: File, 
submenu: New) and choose "Program Item".  A dialog box is displayed 
containing 4 items.  The only essential one to fill in is "Command Line".
You can type in the whole pathname (ex: C:\PATH\MIDIMON.EXE where PATH is
where you put the program), or you can choose "Browse" and graphically 
find the program.  After you have entered the command line, click on OK, 
and the icon will be added to the group.  You can then double click on the
program icon to start it.  See the Windows 3.1 _User's Guide_, Chapter 3,
"Creating a Program Item" if any of this is unclear.

MIDI Drivers

You can choose which MIDI drivers to monitor, by opening 
Options/MIDI Devices... all installed MIDI drivers will be displayed 
in 2 list boxes.  You may select any number of input devices, but
only one output device (you can change the output device at any time).
You can also choose the MIDI Mapper for the output device.  Be sure
to check the "Output On" box, if you want MIDI input passed through
to MIDI output.  

Control Panel

The Control Panel is opened by choosing Options/Control Panel... It
allows you to send MIDI events to both the display, and MIDI output.
By using it you can send Patch changes, volume, pan etc. in real 
time.  It is a non-modal dialog box, which means you can keep it open
all the time the program is running.  If the "Auto Send Value" box
is checked, the events are sent as soon as the value changes.  You can
use the up and down arrow keys (as well as page-up and page-down) to 
change the "Spin" controls (in addition to clicking on the up or down
arrowheads).  The "Panic" button will send 128 note-offs on each MIDI
channel, as well as _all notes off_ and _reset controllers_ on each
channel -- this may take a few seconds to complete.

Filters

The filtering functions only affect the display -- all input is passed
to output.  If an item on the menu is checked, it is filtered.  Active 
sensing (FE) and Realtime messages (F8) are filtered by default -- you
can turn them on by unchecking the menu.

Display

The Monitor Display shows a TimeStamp -- A value of "MIDIMon" is used
for events sent from the Control Panel; Port number -- the number 
corresponds to the order of the MIDI Input devices; Status, Value1,
and Value2 contain the actual hexadecimal MIDI values; Channel is 
numbered between 1 and 16; Event shows a textual description of the
MIDI Event.  For Note Events, the Note and Octave are displayed.  Which
octave is displayed can be controlled by the Options/Middle C Octave 
menu switch.


Notes

When the program is minimized to an icon, the icon will animate when
MIDI data is received.  

You can  temporarily release, and later re-attach,  MIDI devices from 
the system menu, if you wish to use other programs which require MIDI 
devices, without closing MIDIMON.  

If you choose Options/Save Setup, the current configuration is saved 
to MIDIMON.INI in the Windows directory.  

Currently, only one instance of MIDIMON may be opened.  Attempts to
start another instance, will activate the first instance.

DISCLAIMER

In the source code for MIDIMON, Microsoft corporation gives permission to 
distribute the program or modified versions of the program as long as no 
liability is incurred by Microsoft.  I extend that permission so you may 
use and distribute this version of the program freely, as long as you 
agree that Microsoft and Jamie O'Connell have no warranty obligations or 
liability resulting from the use or misuse of MIDIMON.

RECENT CHANGE HISTORY

19-OCT-93

Someone discovered that the Green Text on Black Background did not 
display on a Mono display screen.  I've added 2 parameters to the
DisplayWindow section of the MIDIMon INI file to allow selection 
of these colors -- if you want to change these you'll have to edit 
the MIDIMON.INI by hand.  The values form an RGB triple - Red,Green,Blue:

  [DisplayWindow]
  BackGround=0,0,0  ; Screen Background - Black is the default
  TextColor=0,255,0 ; Text Color - Green is the default

In addition the Labels background uses statndard windows 
COLOR_APP_WORKSPACE and the Labels text uses COLOR_WINDOW_TEXT.



