CM/CMN note output method and chords

Rick Taube taube@uiuc.edu
Mon, 8 Dec 1997 09:46:46 -0500 (EST)


if you transcribe from midi-events then you are always going to have to
"parse" chord information from the flow of seperate events. the alternative
would be to invent your own class of note that handles chords "atomically"
in cmn, and then provide a write-event method for midi if you also want to
hear it, ie somethinkg like

(defmethod write-event ((object whatever) (stream midi-port))
  ;; copy params to midi-note and output it
  (loop with msg = (object midi-note)
        for n in (slot-value object 'chord) ; object holds more than one note.
        do (setf (slot-value msg 'note) n)
           (write-event msg stream)))


>Is there a way in a CM write-event method for a note going to a cmn-file,
>to add a mark or CMN message to the chord the note belongs to?
>
>My specific problem is that I would like use the CMN fingering message to
>mark all notes with their index in their thread. However, I find that
>applying the fingering to the individual notes results in a mess, and I
>think I probably need to add the fingerings to the chord as a whole.
>
>I almost think that I am better off not using the midi-note method, but
>writing code that writes the thread as a whole (I would iterate through
>the notes myself). Is there a way to do this within the CM/CMN framework?
>
>Larry
>
>
>
>
>--  Larry Troxler  --  lt@westnet.com  --  Patterson, NY USA  --
>