You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.2 KiB
Python

FluidSubscriberTest : FluidModelObject {
var <> providerName;
var <> nodeID;
// *kr { |provider|
// ^this.multiNew('control',provider);
// }
//
// *new1 { |rate, provider|
// var ascii = provider.ascii;
// ^super.new1(*[rate, ascii.size].addAll(ascii));
// }
//
// init { |size...chars|
// //Send the number of inputs (size of provider string) as specialIndex,
// //so server plugin knows what's going on
// specialIndex = -1;
// inputs = [size].addAll(chars);
// providerName = chars.collectAs({|x|x.asInteger.asAscii}, String);
// }
providerLookup { |server, nodeID, label, action|
this.prSendMsg(server, nodeID, 'providerLookup', label, action,
[string(FluidMessageResponse,_,_),numbers(FluidMessageResponse,_,2,_)] );
}
prSendMsg { |server, nodeID, msg, args, action,parser|
server = server ? Server.default;
server.listSendMsg(['/u_cmd',nodeID.nodeID,this.synthIndex,msg].addAll(args));
OSCFunc(
{ |msg|
var result = FluidMessageResponse.collectArgs(parser,msg.drop(3));
if(action.notNil){action.value(result)}{action.value};
},'/'++msg).oneShot;
}
}