[CM] problems with common music 'process' and common lisp package system

hans j.schatzer at tin.it
Thu Mar 29 09:17:10 PDT 2012


I can play these 2 functions - with loop and process, if they are 
locally defined.

(defun up-loop ()
  (loop for key from 60 to 72
        for beg from 0 by .1
        collect (make-instance 'midi :time beg
                     :keynum key
                     :duration 1)))

(events (up-loop) "myscore.mid")

(defun up-process ()
  (process for key from 60 to 72
        for beg from 0 by .1
        output (make-instance 'midi :time beg
                     :keynum key
                     :duration 1)))

(events (up-process) "myscore.mid")


When I define the functions in a package, say automatic-jazz,
and import/load them with quicklisp (ql:quickload :automatic-jazz)

(events (automatic-jazz:up-loop) "myscore.mid")
loads and runs o.k.

But loading up-process

gives errors like:
LOOP ERROR: Found 'FOR' where operator expected.
ERROR: (in macroexpansion of (PROCESS FOR I ...))
illegal loop syntax

thanks for any advice or help
Hans



More information about the Cmdist mailing list