		  LBMIDI v.0.02. A set of MIDI libraries


This software may be distributed and used FREELY. There is NO WARRANTY, use
it on your own risk.


			MIDI LIBRARY (LBMIDI.DLL)

	This library contains general MIDI manipulation routines. To install
it copy it into a directory in your LIBPATH


			PLAYER MODULES

	These libraries contain MIDI playing routines for different interfaces.
To install copy one of them into a directory in your LIBPATH under name
LBPlay.dll.


		RTMIDI PLAYER MODULE (LBRTMIDI.dll)

			Features

- Multiple ports are supported
- Reset sysex's are supported

			Requirements

A MIDI playing device(s) with a driver supporting RTMIDI. Warp 4 with FixPak#7
or at least midi.sys from it. The system will trap with an older version.

			Parameters

You can specify RTMIDI device names to be used. The first parameter is port 1,
the second one is port 2, etc. If no parameters specified all available
hardware instances will be assigned in the order of their registration.


		EXTERNAL PLAYER MODULE (LBExt.dll)

			Features

- Multiple ports are supported if external player supports them
- Reset sysex'es are not supported. 

			Requirements

An external MIDI player that expects the following command line syntax:
<program name> [options] <MIDI file name>

			Parameters

[-h|-d] [-a <adjustment>] <external player .EXE file name> [player parms]

-h					- Start external player hidden.
-d					- Start external player full-sized,
					  do not close on exit (useful
					  for troubleshooting)
-a <time adjustment in ms>		- Set time adjustment for playing with
					  external player (set it to
					  approximate time it takes to start
					  the player).
External player name must be specified. -d switch overrides -h switch.


		MMOS/2 PLAYER MODULE (LBMMOS.dll)

			Features

- Multiple ports are not supported.
- Reset sysex'es are not supported. 

			Requirements

MMOS/2 with working sequencer device.

			Parameters

A name of MMOS/2 device may be specified as a parameter. If it is not the
default sequencer device is used.


		DIRECT MPU-401 PLAYER MODULE (LBMPU.dll)

			Features

- Multiple ports are supported.
- Reset sysex'es are supported. 

			Requirements

One or more MPU-401 dumb mode compatible devices.

			Parameters

Base ports in hex. An additional output delay may be separated by colon.
At least one port must be specified.
NOTE: Please be careful when specifying base ports, an incorrect value can
cause a system crash.


		STANDARD DEVICE PLAYER MODULE (LBSer.dll)

			Features

- Multiple ports are supported.
- Reset sysex'es are supported. 

			Requirements

One or more standard devices (usually COM1, COM2, etc) with MIDI interface
attached.

			Parameters

Device names. Optionaly serial baud rate may follow device name separated by
colon (e.g. COM1:38400). At least one device must be specified.


			CONTACT

You can send your bug reports and suggestions to e-mail
boga@inbox.ru or FIDO 2:5095/9. The lastest version of the
libraries can be downloaded from http://www.podolsk.ru/~boga/OS2Programs.html
where you can also find a couple of other useful OS/2 programs.



			FUTURE PLANS

- Soft synth (TiMidity) player DLL


			HISTORY

0.01	- Initial release
0.02	- Fixed resending events in MPU and Serial players.
	- Added MIDIUSub function to LBMIDI.DLL
	- External and MMOS/2 players now convert source MIDI file into type 1
	  file with 480ppqn and fixed 125bpm tempo thus preventing problems
	  arising in MMOS/2 (an probably in the external player) from a lot of
	  tempo changes or a big divisor.
	- Modified MIDIRescan function in LBMIDI.DLL so that it does not
	  mark tempo events to be resent.
	- Fixed incorrect current position report after starting playing
          from a non-zero position with MMOS/2 player.
	- Workaround for MMOS/2 discarding events at the very beginning of the
	  MIDI file.
	- Workaround for event loss on fast computers with direct MPU-401
	  player: an additional output delay.
