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.

62 lines
1.3 KiB
Python

FluidLabelSet : FluidManipulationClient {
var <> synth, <> server, <>id;
*kr{ |name|
^this.multiNew('control',name);
}
*new { |server,name|
^super.new(server,name);
}
init { |name|
var ascii = name.ascii;
this.id = name;
inputs = [ascii.size].addAll(ascii)++Done.none++FluidManipulationClient.nonBlocking;
}
asString {
^id.asString;
}
*asUGenInput { |input|
var ascii = input.asString.ascii;
^[ascii.size].addAll(ascii)
}
addLabel{|id, label, action|
this.pr_sendMsg(\addLabel,[id.asString, label.asString],action);
}
getLabel{|id, action|
this.pr_sendMsg(\getLabel,[id.asString],action,[string(FluidMessageResponse,_,_)]);
}
deleteLabel{|id, action|
this.pr_sendMsg(\deleteLabel,[id.asString],action);
}
cols {|action|
this.pr_sendMsg(\cols,[],action,[number(FluidMessageResponse,_,_)]);
}
read{|filename,action|
this.pr_sendMsg(\read,[filename.asString],action);
}
write{|filename,action|
this.pr_sendMsg(\write,[filename.asString],action);
}
size { |action|
this.pr_sendMsg(\size,[],action,[number(FluidMessageResponse,_,_)]);
}
clear { |action|
this.pr_sendMsg(\clear,[],action);
}
}