In the case of transpose.lisp, a staff object is given as an
argument to transpose.  I don't see a way to get the correct
staff object from the scope of a note.  I am looking at
cmn0.lisp, (line 1369) at the defun of staff.  I'll paste
the portion I'm looking at:

(defun staff (&rest objects)
  (let* ((new-staff (make-instance 'staff)))
    (multiple-value-bind
        (data actions local-brace)
        (notify new-staff objects)
      (setf *cmn-staff* new-staff)
      (setf (staff-data new-staff) data)

If I am reading this correctly, the notes (objects) are
being evaluated via notify before *cmn-staff* is set to
point to the staff they are in.  Is there any reason
*cmn-staff* could not be set before the processing of the
notes?

I will experiment at this end.

Thank you!

-John J Foerch





Bill Schottstaedt writes:
 > Perhaps transpose.lisp will help -- the key signature is found with
 > key-p while scanning the staff data list. 
 > 
 > 

_______________________________________________
Cmdist mailing list
[email protected]
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist

Reply via email to