Index of /tcl/ftparchive/sorted/apps/tclmidi/4.0b1

      Name                   Last modified     Size  Description

[DIR] Parent Directory 07-Sep-99 10:50 - [   ] README 26-Jun-99 19:54 4k [CMP] tclmidi-4.0b1.tar.gz 06-Jul-99 21:39 34k

OVERVIEW

Tclmidi is a language designed for creating and editing standard
MIDI files.  Since tclmidi is a language supporting function calls,
recursion and conditionals, you can use these features for editing,
sequencing and writing complex scripts.  The brave might even want
to try their hand at algorithmic composition.

The basis of tclmidi is John Ousterhout's popular TCL language.
Tclmidi is implemented as a loadable library so you can embed
it in any TCL script along with any other TCL extension you might
find useful.  This include the TK graphics extensions.

WHAT'S NEW IN TCLMIDI-4.0

Quite a lot actually.  I've ripped out all my driver code.  This
means you will no longer be able to use tclmidi to play or record
midi files.  It was just getting too difficult to support all
the different OSes as well as the different adapters.  Sorry.

I've also completely reimplemented the code behind the tclmidi
commands.  Previous releases implemented the TCL extensions in
C++ (and if you've been using tclmidi a very long time, you
might remember a version called tclm that used C).  In the
past year or so I've discovered the wonderful language called
Eiffel.  Tclmidi is now written in Eiffel and based on a MIDI
Eiffel library I wrote called midi-eiffel.  Eiffel is a great
language and I strongly recommend it to every one.  In fact, you'd
probably be better off writing your MIDI applications directly
in Eiffel with help of the midi-eiffel library.  Aside from the
typical problems found with any new major software release, you
should find this new version of tclmidi more robust, fuller featured
and easier to understand.

INCOMPATIBILITIES

There are a few incompatibilities.  By default I now number both
tracks and channels starting from 1 instead of 0.  If you want the
old behavior, you can compile with -DCOMPAT_3.  There are also
a couple commands that just aren't backwards compatible.  The
MetaSMPTE event comes to mind.  It now has an extra parameter that
specifies the timecode format (24 frames per second, 25, 30 drop frame
or 30 non-drop frame).  I consider this a bug fix.  The same goes
for the MetaKey event.  I have no idea what I was thinking before.
A minor key with no accidentals is not "C Minor," it is "A Minor."
Again, another bug fix.

REQUIREMENTS

You need tcl-8.0 or tcl-8.1.  You also need SmallEiffel.  There
are different Eiffel compilers available and their standard libraries
are not compitible.  I chose SmallEiffel because it is both fast
and free.  Furthermore, you need SmallEiffel version -0.79 not the
latest -0.78 version (they're counting backwards from -1.00).  Tclmidi
tickles a bug in -0.78.  Hopefully this will be fixed soon.

You will also need the midi-eiffel package.  I might eventually
bundle the two together, but for now they're separate.  Of course
it is possible I've already bundled midi-eiffel with tclmidi and
just forgot to update the file.  If there's a directory here called
midi-eiffel, then you probably don't need to download midi-eiffel.
See below for the location of tclmidi and midi-eiffel.

MAILING LIST

There is a low traffic mailing for tclmidi.  To subscribe, send
mail to tclmidi-request@boogie.com with the phrase "subscribe"
in the body of the message.  You can mail the list at tclmidi@boogie.com

WHERE TO FIND TCLMIDI

Have you ever wanted to upgrade a software package, but you couldn't
remember where you found it - despite having the sources available?
Or found a message saying to download an extension "from the same
place you found this"?  I hate that.  I'm telling you right here
that you can download the latest version of tclmidi and midi-eiffel
from ftp.boogie.com.  I'll do my best to keep this site alive.

WHERE TO FIND SMALLEIFFEL

Check out this URL: http://www.loria.fr/SmallEiffel
Since tclmidi requires an older version of SmallEiffel at the
time of this writing, I'll also keep SmallEiffel-0.79 available
at ftp.boogie.com.

Mike Durian
durian@boogie.com
June 26, 1999