release-packaging/Classes/FluidNRTProcess.sc: Make process() send a done message to the language iff processing is successful, hopefully resolves #34 properly this time

nix
Owen Green 6 years ago
parent 3f89afac0b
commit 278d50c608

@ -22,10 +22,14 @@ FluidNRTProcess : Object{
}
process{|...ugenArgs|
var reply = '/done' ++ UniqueID.next;
synth = {
ugen.performList(\kr, ugenArgs.collect{|a| a.asUGenInput} ++ Done.freeSelf)
var ug = ugen.performList(\kr, ugenArgs.collect{|a| a.asUGenInput} ++ Done.freeSelf);
SendReply.kr(Done.kr(ug),reply)
}.play(server);
synth.postln;
OSCFunc({
forkIfNeeded{
synth.waitForFree;
server.sync;
@ -35,7 +39,8 @@ FluidNRTProcess : Object{
server.sync;
};
if(action.notNil){action.valueArray(outputBuffers)};
};
}
}, reply).oneShot;
^this;
}

Loading…
Cancel
Save