[CM] Grace 1.0.1 error

Heinrich Taube taube at uiuc.edu
Mon, 3 Mar 2008 05:37:17 -0600

> # What may be the problem do you think? I think lisp (chicken  
> scheme) works but does not recognize common music commands?

Hi, the real answer is that Grace is not Common Music.  The essential  
differece is that Grace has no object system and provides realtime  
scheduling -- these place certain constraints on what I can  
effectively bring over. Over time Grace will come to contain most of  
the useful features of CM but not exactly and not all of them will  
make it. For example the (new ...) macro wont be part of Grace because  
there is no object system. In Grace -- instead of creating objects and  
outputting them to files -- you just send data to ports that are  
always there:

Common Music: (output (new midi :keynum 60 )  )
Grace Scheme: (send "mp:note" #:keynum 60 )
Grace SAL:    send "mp:note, keynum: 60

the send way is (in my opinion) is simpler and is certanly less cons- 

> # (keynum->hertz 60)  gave 261.625579833984.
> # (loop for i to 10 collect i) gave "unbound variable loop"

Im in the process of migrating Loop, Patterns and the Spectral stuff  
to Grace the next binary release, these are very easy to add and  
without name changes. However Maybe I should make Grace eqivalents be  
the same name as CM. I go back and forth on this im not sure what the  
best thing to do is: keep old comfortable names or take the  
opportuniny to make the names more schemey to reflect the underlying  
environment, eg:

(keynum->hertz 60) -> (hertz 60)
(send "note" :keynum 60) -> (send "mp:midi" :keynum 60)

> # Have a nice day!
> -ugur guney-

you too!

best, rick