|
On May 10, 2009, at 8:42 AM, Pierre Alexandre Tremblay wrote:
I thought I fixed that... it is indeed a regression. Env:test was changed from forking a routine (for server sync) to using server.bind, and that messed it up. I just checked in the fix. Here's the replacement method: test { arg releaseTime = 3.0; var id, def, s; s = Server.default; if(s.serverRunning.not) { "Server not running.".warn; ^this }; id = s.nextNodeID; fork { def = { arg gate=1; Out.ar(0, SinOsc.ar(800, pi/2, 0.3) * EnvGen.ar(this, gate, doneAction:2) ) }.asSynthDef; def.send(s); s.sync; s.sendBundle(s.latency, [9, def.name, id]); if(s.notified) { OSCpathResponder(s.addr, ['/n_end', id], { |time, responder, message| s.sendMsg(\d_free, def.name); responder.remove; }).add; }; if(this.isSustained) { s.sendBundle(s.latency + releaseTime, [15, id, \gate, 0]) }; }; } hjh : H. James Harkins .::!:.:.......:.::........:..!.::.::...:..:...:.:.:.:..: "Come said the Muse, Sing me a song no poet has yet chanted, Sing me the universal." -- Whitman |