[CM] Windows and Lisp for Common Music

Rick Taube taube at uiuc.edu
Wed, 19 Dec 2007 13:58:00 -0600


> Well...
> I set my Lisp program to clisp and then sbcl, but in both cases, I  
> get an error trying to run cm.sh, which is not surprising based on  
> the contents of that file - it is a Unix shell script.

on xp you will need to generate the cm.bat file. You do this by  
starting CLISP and then loading the cm.lisp file.

	C:> clisp
	[1]> (load "/path/to/cm/src/cm.lisp")

that should create the file

	/path/to/cm/bin/cm.bat

you can use that to start cm from the shell or via slime (better look  
at the contents of cm.bat first to see if it looks right...)
To start CM in Emacs with slime loaded do:

	M-: (setq inferior-lisp-command "/path/to/cm/bin/cm.bat")
	M-x slime

OR add this in your .emacs file:

(require 'slime)
(slime-setup)
(load "/path/to/cm/etc/emacs/cm.el")
(setq cm-program "/path/to/cm/bin/cm.bat")

; uncomment if you want to use sal
; (load "/Lisp/cm/etc/emacs/sal-mode.el")

(enable-cm-commands)


with these inits in effect you can do
	M-x cm

and you should get CM running in CLISP a buffer. You should also be  
able to generate a cm.bat file from in SBCL/WIndows, i tried last  
summer but WinSBCL was so flakey i gave up and threw it out. THis is  
why im getting out of (Common Lisp) develpment, its simply too  
difficult to get anything working everywhere or to encorpoprate  
graphics.

> Also, I googled and found out the website of Grace - http:// 
> pinhead.music.uiuc.edu/~hkt/grace/doc/ - but still dont know  
> exactly what it does or how it fits into the Common Music scheme of  
> things.

Its a C++ app written in JUCE. It has two bindings, one to Common  
Lisp and one to Chicken Scheme. If you are using Common Lisp/Common  
Music, you can use Grace as a cross platform replacement for EMACS +  
LISP + SLIME + COMMON MUSIC .  (Lets call this GraceCL.) In addition  
to being cross-platform, GraceCL provides graphics, menus, a code  
editor with syntax highlighting etc.

The "main" development path for Grace is a tight bundling with  
CHicken Scheme, which provides realtime scheduling and allows for  
direct port connections (MIDI for now) , again in a single, cross  
platform environment.

Grace is still in its infancy but it is very usable. I taught my  
Intro to Algorithic Composition with GraceCL last semseter, the class  
was using Sal syntax and most of the class was composing interesting,  
sophisticated music by the end of the semester.

> I presume at some point a link to some informative docs will be  
> here - http://commonmusic.sourceforge.net/doc/cm.html#implementation


  sure, at some point. you can read the docs under the grace/doc tree  
for more information. these are also available under Help menu in grace.