JV Mapper - Beta release
------------------------

This is the first release of the JV mapper, written in Borland C++.
It is a program that may replace the Microsoft midi mapper, and
acts as a MIDI output device.

What is it?
-----------
The JV mapper uses some extensions Roland has made to the MIDI standard.
Normally, program change numbers range from 0..127, so you only have
access to 128 instruments. My new JV-90 synth has about 320 built-in
instruments, so there's no way to address them all using GM.
There are two controllers defined that will fix this. These are
the "Select bank MSB" and "Select bank LSB" controllers. These allow
you to choose a bank before selecting a program number, thus giving you
access to 128x128x128 = 2097152 instruments!
Unfortunately, the Microsoft Midi Mapper does not support this. So you're
stuck with having to select the banks manually... But not with the
JV mapper. You make a list of bank numbers and program change numbers, and
voila! your synth is now GM compatible.

How to install
--------------
STEP 1:
Copy the files JVMAPPER.DRV and JVMAPPER.INI to the windows directory
(usually c:\windows).

STEP 2:
Edit the system.ini file, go to the [drivers]
section and add the line:
  MIDIn=JVMAPPER.DRV
where n is a MIDI device number, 1..9 that is not in use.
Example: Your drivers section (or better: part of it) looked like
  [drivers]
  MIDI1=sbpsnd.drv
  MIDI2=sbp2fm.drv
then change it to:
  [drivers]
  MIDI1=sbpsnd.drv
  MIDI2=sbp2fm.drv
  MIDI3=jvmapper.drv

STEP 3:
Start windows. Open the control panel, and select the "drivers" icon.
A list of drivers appears. The JV Midi Mapper should be one of them.
Press the setup button, and choose a midi output port.
WARNING: It is possible to choose the JV Mapper as an output port. This
will cause an infinite MIDI data loop and hang your system.
If you press the "reread from ini" button, the file JVMAPPER.INI will
be read and the instrument table will be updated. This means that
you can try out changes without having to restart Windows. This can even be
done while a program is using the jvmapper.

STEP 4:
Modify the microsoft midi mapper, and include the JV Mapper. Don't attach
any key maps. Note: If you use the midi mapper, be sure NOT to set the output
of the JVMapper to the midi mapper. This may cause an infinite loop, and your
system will hang.

STEP 5:
Edit the JVMAPPER.INI file. Instructions are included inside the file.

STEP 6:
Enjoy.
the JV Mapper is used by the system. Either select the JV Mapper as your
output device, or select it in the midi mapper.


What will follow?
-----------------
This project is not finished. So i would like to hear some suggestions.
I'm thinking of adding:
- Support for multiple MIDI ports and devices, like two synths on a single port
- Allowing exclusive data instead of program/bank changes (thus: patch-caching)
- Writing a program to easily edit the .ini file
- Creating an oemsetup.inf file for easier installation

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