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

Re: [sc-dev] Re: calling the stream upon EventStreamPlayer-stop




On Dec 31, 2005, at 3:30 PM, James Harkins wrote:

On Dec 31, 2005, at 1:35 PM, ronald kuivila wrote:

Patterns (like Pseq) that do not call 'yield' directly require no modification. (The work is
effectively handed off to child streams via embedInStream.)

OK, so the rule is then that you shouldn't write events directly into list patterns. Pseq([(freq: \rest, delta: 1), ...]) would have a risk of skipping an event if you stop its ESP.

It won't matter in that case.

The nil is generated by an enclosing pattern that is forcing termination. That enclosing pattern prevents the event (returned in response to the nil event) from being performed.

The only concerns are patterns that generate output separate from normal event performance (where the event has
to bubble back to the clock before it is actually performed).

For example, Pmono frees or releases the synth it created when it ends.



I think the new method could be called

	yieldEvent (terminationFunction)

That's good. The default function could be _.isNil which would cover most cases

I am not sure what you mean, what I had in mind was:

	yieldEvent { | termminationFunction |
		var ev;
		ev = this.yield;
		if (ev.isNil) { terminationFunction.value; nil.yield }
	}


RJK