[CM] cm news!
Rick Taube
taube@uiuc.edu
Sat, 28 Jun 2003 06:58:34 -0500
Several nice things to report:
1. Swets Publishing of Amsterdam has agreed to publish 'Notes from the
Metalevel' in their 'Studies on New Music Research' books series.
Apparently they like the book very much:
> Apologies for the delay caused by the reviewing process, but I hope you
> agree with me that it was worth waiting, as it is an excellent review
> (see
> the attachment). This morning Marc Leman, The 'Studies on New Music
> Research' series editor, informed me that he agrees with the reviewer
> to
> accept the book for publication in the series.
I want to thank everyone who helped me during the long writing process
-- it was a very difficult year and I could not have gotten this result
without the support, comments and advice from the really wonderful
people on this list!
2. The sourceforge CM project is back in business:
http://www.sourceforge.net/projects/commonmusic
You can now check out CM sources using CVS. Ive created a new
installation guide to explain how to do this:
http://commonmusic.sourceforge.net/doc/install.html#install_cvs
3. Direct-to-driver MIDI support (i.e. cm's old "midi.port") now works
in CM 2.4.0 via Grame's Midishare. The CVS repository and the latest
tarfile on ccrma contains the new MIDI driver code:
ftp://ftp-ccrma.stanford.edu/pub/Lisp/cm/sources/cm-2.4.0.tar.gz
For information on how to install CM with Midishare see:
http://commonmusic.sourceforge.net/doc/install.html#install_ms
The real-time MIDI stuff is still a work in progress and Ive only
tested it in OpenMCL (osx), MCL 5.0 (osx) and MCL 4.2 (MacOS9.2).
However the interface should work right now for CMUCL/Linux but I dont
have access to a linux box now. I would be grateful if someone would
try CM+Midishare in Linux/CMUCL and tell me if it works.
I have not had time to update the docs and so the dictionary is not yet
in CVS. Here are some (minimal) docs on the Midishare interface to get
you going:
---
CM defines two new IO classes for working with Midishare:
midishare-stream: interface to Grame's real-time MIDI library
A midshare-stream is very similar to the old "midi.port" and how
Mi_D handles things: you can define a "logical channel map" for
routing MIDI to various Driver ports, and you can have multiple
connections active at one time (well, as soon as Grame fixes
this in OSX...)
player-stream: interface to Grame's MIDI sequencer library
A player stream lets CM processes either "add" or "replace"
individual
tracks of a Midishare player (sequencer). Once CM outputs to a
player you can use the following set of function interactively in
the lisp inpterpreter to control playback behavior:
player-start
player-stop
player-pause
player-cont
player-set-tempo
player-mute
player-unmute
player-solo
player-unsolo
player-save-midifile
player-load-midifile
You can create midishare-streams or player-streams using 'new',
'io' or by including a ".ms" or ".mp" extension (for midishare-stream
and player-stream, respectively) in the name. In addition, for
'backwards compatibility', the special name "midi.port" will open a
Midishare stream whose client name is set to "Common Music".
(events (foo) "midi.port") ; send events to Midishare
(events (foo) "foo.ms") ; send events to Midisahre from "foo" client
(events (foo) "bif.mp") ; send events to a Player named "bif"