[CM] Realtime CM for OSX/MidiShare/OpenMCL!

Rick Taube taube@uiuc.edu
Mon, 22 Mar 2004 12:04:22 -0600


The latest CVS sources of CM contain support for realtime music
process scheduling and interactive MIDI input/output using MidiShare
on OSX/OpenMCL. Based on my initial testing the timing appears to be
very solid!

It would be very helpful if people using OSX/OpenMCL would install
this CVS code and help me test/refine CM's new realtime
features. Comments and suggestions about the implementation before it
gets further developed would also be very useful to me.  The CVS code
should be consided an 'alpha' of CM-2.5.0 (version number 5 means this
is an 'experimental' release branch in which new features are added.)
Be sure to read the changelog.text file, a number of things have
changed (for the better I hope) between the 2.4 and 2.5 branches.

For an overview of the new realtime MIDI support including several
examples see doc/dict/midi-topic.html in the CVS tree or browse it
here:

   http://pinhead.music.uiuc.edu/~hkt/cm-2.5.0/doc/dict/midi-topic.html

(The bottom line is that you don't have to do anything special in your
programs to work in real time other than use MidiShare's event object
and calculate time in milliseconds.)

For information on how to install CM from CVS see:

   http://commonmusic.sourceforge.net/doc/install.html#restore_cvs

I won't send another annoucement to the list about this CVS code; once
you check out the sources you can do a 'cvs update' every several days
to stay current with the latest snapshot.  Keep in mind that there may
be upto a 12 hour delay between the CVS sources I check in and the
anonymous pserver sources you get from sourceforge, so if you report
some problem/issue be sure to tell me what revision of the file it is
in!

Also, for this release onward, I recommend that you just use cm.sh
to build/start the new CM ie do NOT save an image. That way you can
always stay up-to-date on this bleeding edge just by doing:

        cd /path/to/cm-2.5.0
        cvs update
        bin/cm.sh -e Emacs

--

In order to build CM from the CVS sources you need to have installed
the latest releases of OpenMCL and MidiShare:

   http://openmcl.clozure.com/Distributions/openmcl-release-0.14.1.html
   http://www.grame.fr/MidiShare/Install/Download.html#MacOSX

You also need to install the new FFI for MidiShare/OpenMCL, and
(optionally) patch an OpenMCL process bug in your dppccl.image:

   ftp://ccrma-ftp.stanford.edu/pub/Lisp/cm/openmcl-midishare.tar.gz

This version of CM will autoload the Midishare interface if everything 
is properly installed. See the included openmcl-midishare/readme.text 
file for more information.