[CM] realtime piping

Rick Taube taube@uiuc.edu
Wed, 12 Jun 2002 07:36:25 -0500

>I would like to use the named pipe mechnism of linux to process events

a couple of questions. why is csound complaining about "s" statements and its comment character? Is it becuase you are piping and not really writing a score file? if thats the case then there should be a "csound port" object defined in cm that would be used instead of the sco-file object you are using now, ie similar to the midi-port and midi-file objects that currently exist in the midi code.

on the realtime issue: what lisp are you using? the :rt feaure will only work in lisps that support mutiprocessing (mcl and acl). and unfortunately the lisp multiprocessing stuff doesnt work that well because lisp processes dont provide the responsiveness one needs to really do "real time" interaction. this is the  main reason id like to move cm out of cltl2, perhaps to a C+scheme enviroment so that musical processes can really run realtime.

>I would like to use the named pipe mechnism of linux to process events
>generated by some Common Music process (for example piping realtime
>events to a csound process). How can I get that done? I basically want
>to exploit common musics scheduling features for my custom made format
>routines directed to a named pipe. For example if I want to generate
>csound events in realtime, I would have to send an i-statement with
>starttime (p2) = 0 to the named pipe. I thought, I'd use "wait
><rhythm> for the process loop but define time=0 (instead of <now>)
>inside the loop, but that doesn't seem to work. 
>Also csound complains about the "s" and "; Common Music output of..."
>statements common music is putting out (which I then bypassed by
>redefining "initialize-io"). And, above all, the process complains if
>I set "rt t" in the io command about not knowing this
>option. Furthermore it seems that common music still tries to call an
>additional csound process (which I don't need as csound already runs
>and waits for input through the pipe). Could someone give me a working
>example of some process, which simply outputs the i statements at the
>appropriate times to a given filename without any additional headers,
>footers etc.?
>Orm Finnendahl
>Cmdist mailing list