[CM] mixing cmn and midi data in cm-2.7?

bill sack wsack@buffalo.edu
Wed, 04 Jan 2006 06:16:13 -0500


Rick Taube wrote:

> you shoudlnt need midi objects at all, cmn objects with :note  and 
> :duration should output to midifiles ok. doest that not work either?


yeah, cmn object outputs to midi, but the amplitude data is lost (all 
velocities in the resulting file are set to 64) - i'm willing to change 
my way of working if necessary, but like all old things, i'm set in my 
ways ... creak, creak.

here's a super-simple example that throws the same error:
(define (tester)
  (process while (< (now) 30)
           for note = (+ 60 (random 20))
           for amp = (random 1.0)
           for chan = 0
           for rhy = (pick .25 .75)
           output (new midi :time (now) :keynum note
                       :duration rhy :amplitude amp
                       :channel chan)
           if (< .8 amp)
           sprout (new cmn :time (now)
                       :staff chan
                       :data '(ff))
           wait rhy))
;(events (tester) "/tmp/tester.midi") = happy
;(events (tester) "/tmp/tester.cmn") = error