		LBMIDIEd v.0.03. MIDI file editor.



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

THIS VERSION ALMOST SURELY CONTAINS A LOT OF BUGS. TO PREVENT DATA LOSS PLEASE
BACK UP THE ORIGINAL FILE BEFORE TRYING TO EDIT IT AND SAVE CHANGES REGULARLY!


			INTRO

Well, you know how much OS/2 MIDI editors are there, almost none. But
sometimes I want to edit a MIDI file, so I've started writing this editor.

Please note that I'm developing it on Pentium 225Mhz, 64Mb, Millenium II and I
don't know if it runs fast enough on slower computers. However I use it with
huge MIDI files (like Beethoven's symphonies, up to almost 100,000 events) so
I know if it's slow with such huge files.


			FEATURES

This editor has a standard set of operations with event and track/bar lists.
However this editor has better than usual support for rather complex MIDI
files where several parts share the same channel.


                        REQUIREMENTS

Warp 4 with MMOS/2. FixPak#7 or later and a MIDI playing device(s) with driver
supporting RTMIDI are required for playback. If you're using or going to use
MPU-401 driver you ought to download my program LBPlay to get a MPU-401 utility
which is very useful in this case and an instructions on making MPU-401 driver
work with Sound Blaster. I don't know if it works on Warp 3 with RTMIDI
installed or on Aurora but it should.


			USAGE

I think it's obvious, see the menus. "Follow" and "Go to" buttons in the
control window are related to playing. When "Follow" is checked event
pointer is following the current playing position. When "Follow" is not it
does not (so you can edit events while playing and immediately hear
the changes). You can see the current playing position in the entry field
above the "Play" button and use "Go to" button to set the pointer to the
current playing position.

If you want to use external player you have to go to Settings->External player
menu and configure the player. 

The user ini application names used to store editor's data are "LBMIDIEd" and
"LBMIDI"


			KNOWN PROBLEMS AND LIMITATIONS

- MIDI.SYS SOMETIMES PRODUCES SYSTEM TRAP 3. Please be aware of it and don't
  keep your data unsaved while playing/starting/closing. And please don't blame
  me, it's not my bug.
- The clipboard is private. That means that it is not available to other
  applications or other instances.
- Sometimes playing via RTMIDI with follow on causes a trap at the very end
  of file.
- Entered musical time is not normalized. Result of entering denormalized
  musical time is unpredictable.
- Tempo, Time Signature and Mark From/Thru entry fields in the control window
  are read-only.
- Entering position time into entry fields in the control window may result in
  position to a bit lower time due to division errors.
- Does not close with Alt-F4
- If a bar contains nothing but a note that starts playing before this bar and
  ends after this bar the bar is displayed as empty (because there's no events
  in this bar).
- Time interval selection is not displayed in events and bars view
- Bars repainting is rather slow. If you really suffer from it you can resize
  tracks/bars window so that there's a little or no space left for bars.
- I know, both Events and Tracks lists do not look great but they will undergo
  a functional re-design when adding block selection and the cosmetical
  changes will be done after that.
- Input queue is blocked while doing some time-consuming operations (like
  loading a file).
- RTMIDI.DLL is always required though a working RTMIDI is required only for
  playing. 
- Musical time Bars/Beats/Ticks are limited by 16384/32/8192 respectively.


			FUTURE PLANS

May be in the next version:

- Change to separate event time/track/channel/type and parameters edition
  with different (and more convenient) dialogs for different event types.
- Quantize command
- Split track by patch command
- Split track by pitch (into monophonic tracks) command
- Event filter.
- Interpolate command

- Add a command to move an event forward or backward among events at the same
  time in the same track. Or sort events at the same time in the Note Off -
  Controllers - Note On order.

- Playback start synchronization.
- Synchronization output
- Recording

- Add configurable patch/drums/controller lists.

Distant future:

- Controllers/tempo graphs and piano roll (It's my and not only my opinion
  that they should be combined in a single representation. Surely it will
  be a killer feature if only I make it :)

- REXX support
- Plug-in support (views, operations, sysex editors).
- Sound Canvas sysex editor (as a plug-in).
- "Floating" musical time bit distribution.


		THINGS NOT PLANNED TO BE IMPLEMENTED

- Staff view. It is complex and rather useless. I only used such a view to
  compare tracks to find out if one is a transposed clone of another, but
  in this editor I've implemented Find Clones function to do it.
- Printing. I've sold my printer three years ago after it spent more than a
  year in a corner of my room being a good web basement. I can't see any use
  of hard copies because you can find a PC anywhere you go and event if you
  can't you can take a notebook with you.


			CONTACT

You can send your bug reports and suggestions to e-mail
boga@inbox.ru or FIDO 2:5095/9. Please also write me what 3
features you're missing most of all (only 3 please, I know the editor misses
hundreds of them :). The lastest version of the editor can be downloaded from
http://www.podolsk.ru/~boga/OS2Programs.html where you can also find a couple
of other useful OS/2 programs.


			HISTORY

0.01	- Initial release
0.02	- Added tracks/bars list.
	- Subwindows can be minimized.
	- Fixed problem when current event pointer was moved while
	  Event Edit dialog was active. Starting multiple data modification
	  dialogs/operations at the same time is now impossible.
	- Added display of file name and changed state in the title bar.
	- Added warning about unsaved file.
	- Events view shows only events from selected tracks if at least one
          track is selected.
	- RTMIDI is not required now (but must be supported to play
	  files).
	- Changed behaviour of event insertion.
	- Added Previous bar/Next bar commands.
	- Added Bookmark/Go to bookmark commands.
0.03	- Added time interval selection
	- Added transpose operation
	- Added velocity scale operation
	- Added sort tracks command
	- Added find clones command
	- Added delete command
	- Added wipe command
	- Added pitch field in the tracks list
	- Added clone track command
	- Added slide command
	- Added ability to play with external MIDI player.
	- Fixed: toggling mute did not work sometimes
	- Added undo command
	- Added Copy and Paste operations
	- Added Split track by channel command
	- Added Merge tracks command
	- Added Controller Chord operation
