Index of /tcl/ftparchive/sorted/apps/tclmidi/4.1

      Name                   Last modified     Size  Description

[DIR] Parent Directory 07-Sep-99 10:50 - [   ] README 06-Sep-99 14:49 4k [CMP] tclmidi-4.1.tar.gz 07-Sep-99 10:47 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.1

Not much since version 4.0b1.  The only change is to support
the latest SmallEiffel compile, version -0.77b2.  This version
fixes a bug that kept version -0.78 from compling the midi-eiffel
library which is required for tclmidi.

I've also decided I don't like my b1, b2, etc. style of beta
designations.  From now only there will only be numeric changes.
If a version is particularly iffy, I'll mention it.

Since 4.0b1 wasn't out very long, I'll keep the "WHAT'S NEW"
section for it here as well.

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 with the old 3.x tclmidi release.
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, at the time of this writing, the last
official release of SmallEiffel is version -0.78.  This version has
a bug that keeps the midi-eiffel code (and thus tclmidi) from compiling.
The SmallEiffel team recently release version -0.77b2 which fixes
this bug.  Please use version -0.77b2 or a more recent version
(keeping in mind that SmallEiffel is counting backwards from -1.00
towards 0).

You will also need the midi-eiffel package.  I might eventually
bundle the two together, but for now they're separate.

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://SmallEiffel.loria.fr/index.html
SmallEiffel is truly a fabulous compiler, and Eiffel is a great
language.  Hats off to Dominique Colnet, Olivier Zendra and
everybody else involved with SmallEiffel.

Mike Durian
durian@boogie.com
September 6, 1999