From tclmidi-2.0 to tclmidi-2.1

midiioctl.h for BSD drivers is now put in /usr/include/sys for
inclusion.

new miditime command.  Returns current driver time in either SMF
or SMPTE format (if supported).

mididevice now returns 1 or 0 if called w/o any arguments.  1 means
there is device support compiled in, 0 there is not.

Reading a MetaKey event from SMF file now defaults to C major if
either field is invalid.

more accurate driver timing

SMPTE support in driver

Many thanks to Stephen Yost for porting tclmidi to Windows!

Created new NOP EventType in driver.  Doesn't do anything but will
do better job of keeping timing synched.  Ie driver will block until
MetaEndOfTrack event is "played" when closed.

midiget will now return list of events with time >= requested time
posible incompatibility (suggested by Andy de Torres)

Small modifications in Linux driver Makefile (Greg)

Fixed memory leak in driver (Greg)

Pathes from Greg Wolodkin to fix load/unload problem in Linux driver
and off by one error in MPU401.C

Linux stuff from Alberto to make installation easier

Linux installation improvements from Alberto (no more kernel patch for
loadable module)

removed ugly signal kludge in Linux driver.

removed non-quad version of driver.

midiget was returning an event list instead of NoEvent if time
didn't match.  Now returns NoEvent.

mididelete was failing for Note events if NoteOff pair didn't have
velocity zero.  Would also fail if NoteOff pair was really NoteOn
with velocity 0.  Now works correctly.

make install now automatically sets path to tclmidi when installing
scripts

Fixed midiwait problem in MPU401 device interface?

Fixed Song::SetNumTracks bug.  Wasn't actually allocating new track.

Changed mtohl, htoml, etc. to use an inline function instead of
a macro definition.  I think the new way might be faster, but it
does generate some harmless warnings

Removed midi_killable from the driver.  After talking with people,
I realized it wasn't really necessary.  SIGIO and SIGURG are ignored
by default, thus it's not really a security hole.

Trying out a different way of converting between kernel and smf ticks
in the drivers.  Don't know if it is better or not.

midiget did not return an error when "getting" from a non existant
track

Fixed(?) some harmless compiler warning in BSD driver (thanks to
Andreas for pointing these out).

NetBSD patches for 4.4 BETA version from Andreas Gustafsson.

Song Locks EventTree before modifying it (if USE_PTHREADS is defined).

Song now contains an array of EventTree pointers instead of an
array of EventTrees.  This should speed copying and changing the
number of tracks.

Event now contains EventTreeNode pointer.  This should speed traversals
and note insertions.  The EventTree code no longer must hunt through
the tree for a particular event just to determine its node.

Removed class methods in EventTree that return EventTreeNodes, they
should no longer be needed now that Events contain node pointers.

EventTree::GetRange now adjusts times in new tree to be relative
to the start time.

Modified Makefiles to pass flags better.

Linux-1.1.50 patches from Alberto Vignani
