release-packaging/Classes/FluidManipulationClient.sc: Make sendMsg block when in a routine (so we can reliably dump the whole of a label set in sequence). I don't like this idiom though

nix
Owen Green 6 years ago
parent 89a22adb3c
commit 89c438e604

@ -18,15 +18,24 @@ FluidManipulationClient : UGen {
} }
pr_sendMsg { |msg, args, action,parser| pr_sendMsg { |msg, args, action,parser|
var c = Condition.new(false);
OSCFunc( OSCFunc(
{ |msg| { |msg|
var result; forkIfNeeded{
// msg.postln; var result;
result = FluidMessageResponse.collectArgs(parser,msg.drop(3)); // msg.postln;
if(action.notNil){action.value(result)}{action.value}; result = FluidMessageResponse.collectArgs(parser,msg.drop(3));
this.server.sync;
c.test = true;
c.signal;
if(action.notNil){action.value(result)}{action.value};
}
},'/'++msg).oneShot; },'/'++msg).oneShot;
this.server.listSendMsg(['/u_cmd',this.synth.nodeID,this.synthIndex,msg].addAll(args)); this.server.listSendMsg(['/u_cmd',this.synth.nodeID,this.synthIndex,msg].addAll(args));
forkIfNeeded { c.wait };
} }
} }

Loading…
Cancel
Save