[CM] a new/old CM problem
Dave Phillips
dlphilp@bright.net
Wed, 18 Dec 2002 22:35:02 -0500
Hi Rick:
When I compile the attached code with the last CM 2.4.0 I receive this
error:
* (compile-file "/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.cm")
Python version 1.0, VM version Intel x86 on 18 DEC 02 10:23:40 pm.
Compiling: /home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.cm 06 DEC
02 01:19:24 pm
Converted TESTIT.
Compiling DEFINE (TESTIT STF LEN NTS):
Compiling Creation Form for #<KERNEL::CLASS-CELL MIDI>:
Compiling Creation Form for #<KERNEL::CLASS-CELL HEAP>:
Compiling Creation Form for #<KERNEL::CLASS-CELL RANDOM>:
Compiling Creation Form for #<KERNEL::CLASS-CELL CYCLE>:
Error: Read error at 913:
"(events #!/\two-ways "cmn-test.cmn" :staffing staffs :size 20 :title
"Trio")"
Reader error at 978 on #<Stream for file
"/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.cm">:
No dispatch function defined for #\!.
Byte Compiling Top-Level Form:
Byte Compiling Creation Form for #<KERNEL::CLASS-CELL SEQ>:
Error: Read error at 988:
"(events #!/\two-ways "cmn-test.mid")"
Reader error at 1013 on #<Stream for file
"/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.cm">:
No dispatch function defined for #\!.
Compilation unit finished.
2 errors
/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.x86f written.
Compilation finished in 0:00:00.
#p"/home/dlphilp/CCRMA/cm-2.4.0/etc/examples/cmn-test.x86f"
T
T
* (quit)
It's that #! problem again. Any suggestions ?
Here's the test file:
(in-package :cm)
(define (testit stf len nts)
(let ((nts (new heap :notes nts))
;; choose half, quarter, or two eighths
;; the repetition 'weights' the selection
(rhy (new random
:of (list 2 1 1 1 (new cycle :of '(1/2 1/2)) (new cycle
:of '(1/2 1/2)) ))))
(process while (< (now) len)
for n = (next nts)
for r = (next rhy)
output (new midi :time (now)
:duration r
:keynum n
:channel stf)
wait r)))
(define staffs
'((0 :name "Viola" :clef :alto :meter (4 4))
(1 :name "Oboe" :clef :treble :meter (4 4))
(2 :name "Flute" :clef :treble :meter (4 4))))
(events (list (testit 0 32 '(g2 a bf c3 d f))
(testit 1 32 '(a3 bf c4 d e g))
(testit 2 32 '(bf4 c5 d f g a)))
(new seq :name 'two-ways))
(events #!two-ways "cmn-test.cmn" :staffing staffs :size 20 :title
"Trio")
(events #!two-ways "cmn-test.mid")
Btw, should #! have a dictionary entry ?
Best regards,
== Dave Phillips
The Book Of Linux Music & Sound at http://www.nostarch.com/lms.htm
The Linux Soundapps Site at http://linux-sound.org