[CM] cm cvs, portmidi + supercollider?

Rick Taube taube@uiuc.edu
Fri, 16 Dec 2005 21:37:37 -0600


>
> One other thing, the 'output' clause in a process actually takes an 
> optional 'to' arg:
>
> output (new ..) TO *pm*
> output (new ..) TO *foo*


one last thing -- the OUTPUT function also takes a :to arg. so the 
simplest case of sending something from portmidi to supercollider is a 
hook function that simply calls the (output ) function directly, ie 
does not actuall sprout a process.


(define sc-harmonize (mm ms)
    (loop for i in (pick '(0 3 7) '(0 4 7) )
         do
          (output (new simple :time 0 :dur .1
                       :freq (hertz (+ (note-on-key mm) i)))
                  :to *sc*)))


(set-receiver! #'sc-harmonize *pm*)