[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] Embedded routines and Conditions




you are embedding streams (Routine) and not patterns, so you'd have to reset the first routine, since you've used it already.


	Routine({
		"before1".postln;
		r.reset.embedInStream;
		"after1".postln;
	}).play



The following works as expected:

	c = Condition(false);

	r = Routine({
		"before".postln;
		c.wait;
		"after".postln;
	}).play

	c.test_(true).signal;

The Routine advances only when the Condition is changed. However, in a situation where the above Routine is embedded in another Routine, it behaves strangely:

	c.test_(false); // reset the condition

	Routine({
		"before1".postln;
		r.embedInStream;
		"after1".postln;
	}).play

	c.test_(true).signal;

will yield:
	before1
	before
	after1

and then, after changing the Condition:
	after

The outside Routine is continuing on, instead of waiting for the Condition, though the inside routine is still waiting.

So, what am I doing wrong here? Is there another way I can approach this? Help would be much appreciated!

- Scott



_______________________________________________
sc-users mailing list
sc-users@xxxxxxxxxxxxxxx
http://www.create.ucsb.edu/mailman/listinfo/sc-users


--





.