[CM] process sync...

ml13@onlinehome.de ml13@onlinehome.de
Fri, 6 Jan 2006 17:53:05 +0100


Hi,

I am quite new to cm and trying to find out the right way to make  
separate processes communicate with another. My goal is to have a  
process that controls say amplitude of another process (by setting a  
global variable and not actually outputting anything) allowing them  
to have independent rhythm.

I was trying to do something like this:

(defvar *amp*)

(events (list (my-amp-process) (my-main-process)) "test.mid")

Well, this basically works :), but I was hoping that in the case of  
equal time offsets of the two processes the amp-process would be  
processed always _first_, because of its first position in the list.

Well, this does not always seem to be the case and I should have  
checked before, I know, but now I am just wondering how to go about a  
problem like this and I suppose there must be another approach, or  
maybe still a way to ensure a fixed order of invocations of the WRITE- 
EVENT method for equal object times???

BTW: I should have mentioned this:
I subclassed event and created my own WRITE-EVENT method that  
processes the slots of the event somewhat specially. If a slot  
contains a function object, this function will be called (and this  
function, of course, looks like: #'(lambda () *amp*) )

I hope these explanations make sense and my intention is understood,  
I'd be very curious to have a hint how other people go about this  
(and I suppose this must be quite a common procedure...)

Thanks for listening,
cheers,

	Kilian Sprotte