Extend the dubious benefits of generated properties to nonrealtime DataClients

nix
Owen Green 6 years ago
parent 79f58097dc
commit 5b0771597d

@ -1,4 +1,4 @@
FluidKDTree : FluidDataClient { FluidKDTree : FluidRTDataClient {
*new {|server,numNeighbours = 1,lookupDataSet = ""| *new {|server,numNeighbours = 1,lookupDataSet = ""|
var env; var env;

@ -1,4 +1,4 @@
FluidKMeans : FluidDataClient { FluidKMeans : FluidRTDataClient {
*new {|server, numClusters = 4, maxIter = 100| *new {|server, numClusters = 4, maxIter = 100|
^super.new1(server,[\numClusters,numClusters,\maxIter,maxIter]); ^super.new1(server,[\numClusters,numClusters,\maxIter,maxIter]);

@ -1,4 +1,4 @@
FluidKNNClassifier : FluidDataClient { FluidKNNClassifier : FluidRTDataClient {
*new {|server, numNeighbours = 3, weight = 1| *new {|server, numNeighbours = 3, weight = 1|
^super.new1(server,[\numNeighbours,numNeighbours,\weight,weight]); ^super.new1(server,[\numNeighbours,numNeighbours,\weight,weight]);

@ -1,4 +1,4 @@
FluidKNNRegressor : FluidDataClient { FluidKNNRegressor : FluidRTDataClient {
*new {|server, numNeighbours = 3, weight = 1| *new {|server, numNeighbours = 3, weight = 1|
^super.new1(server,[\numNeighbours,numNeighbours,\weight,weight]); ^super.new1(server,[\numNeighbours,numNeighbours,\weight,weight]);

@ -1,4 +1,4 @@
FluidMDS : FluidManipulationClient { FluidMDS : FluidDataClient {
classvar < manhattan = 0; classvar < manhattan = 0;
classvar < euclidean = 1; classvar < euclidean = 1;
classvar < sqeuclidean = 2; classvar < sqeuclidean = 2;
@ -8,16 +8,12 @@ FluidMDS : FluidManipulationClient {
classvar < cosine = 5; classvar < cosine = 5;
*new {|server,numDimensions = 2, distanceMetric = 1| *new {|server,numDimensions = 2, distanceMetric = 1|
var uid = UniqueID.next; ^super.new1(server,[
^super.new(server,uid,*[
\numDimensions,numDimensions, \numDimensions,numDimensions,
\distanceMetric, distanceMetric \distanceMetric, distanceMetric
])!?{|inst|inst.init(uid);inst} ])
} }
init {|uid|
id = uid;
}
fitTransform{|sourceDataSet, destDataSet, action| fitTransform{|sourceDataSet, destDataSet, action|
this.prSendMsg(\fitTransform, this.prSendMsg(\fitTransform,

@ -1,4 +1,4 @@
FluidMLPRegressor : FluidManipulationClient { FluidMLPRegressor : FluidDataClient {
const <identity = 0; const <identity = 0;
const <sigmoid = 1; const <sigmoid = 1;
@ -6,9 +6,8 @@ FluidMLPRegressor : FluidManipulationClient {
const <tanh = 3; const <tanh = 3;
*new {|server, hidden = #[3,3] , activation = 0, maxIter = 100, learnRate = 0.0001, momentum = 0.9, batchSize = 50, validation = 0.2| *new {|server, hidden = #[3,3] , activation = 0, maxIter = 100, learnRate = 0.0001, momentum = 0.9, batchSize = 50, validation = 0.2|
var uid = UniqueID.next;
hidden = [hidden.size]++hidden; hidden = [hidden.size]++hidden;
^super.new(server,uid, *[ ^super.new1(server,[
\hidden,hidden, \hidden,hidden,
\activation,activation, \activation,activation,
\maxIter, maxIter, \maxIter, maxIter,
@ -16,11 +15,7 @@ FluidMLPRegressor : FluidManipulationClient {
\momentum, momentum, \momentum, momentum,
\batchsize,batchSize, \batchsize,batchSize,
\validation,validation, \validation,validation,
])!?{|inst|inst.init(uid);inst} ])
}
init {|uid|
id = uid;
} }
fit{|sourceDataSet, targetDataSet, action| fit{|sourceDataSet, targetDataSet, action|

@ -13,7 +13,7 @@ FluidProxyUgen : UGen {
.asSymbol .asSymbol
.asClass .asClass
.superclasses .superclasses
.indexOf(FluidDataClient) ??{inputs= inputs ++ [Done.none,0]}; .indexOf(FluidRTDataClient) ??{inputs= inputs ++ [Done.none,0]};
rate = inputs.rate; rate = inputs.rate;
} }
@ -148,8 +148,7 @@ FluidDataClient : FluidManipulationClient {
*new1{ |server, params| *new1{ |server, params|
var uid = UniqueID.next; var uid = UniqueID.next;
params = params ?? {[]}; params = params ?? {[]};
if(params.size > 0) {synthControls = params.unlace[0]}; if(params.size > 0 and: synthControls.size == 0) {synthControls = params.unlace[0]};
params = params ++ [\inBus,Bus.control,\outBus,Bus.control,\inBuffer,-1,\outBuffer,-1];
^super.new(server, uid, *params) !? { |inst| inst.init(uid, params) } ^super.new(server, uid, *params) !? { |inst| inst.init(uid, params) }
} }
@ -180,8 +179,19 @@ FluidDataClient : FluidManipulationClient {
updateSynthControls{ updateSynthControls{
synth !? { synth.set(*parameters.asKeyValuePairs); }; synth !? { synth.set(*parameters.asKeyValuePairs); };
} }
}
FluidRTDataClient : FluidDataClient
{
*new1{|server, params|
params = params ?? {[]};
if(params.size > 0) {synthControls = params.unlace[0]};
params = params ++ [\inBus,Bus.control,\outBus,Bus.control,\inBuffer,-1,\outBuffer,-1];
^super.new1(server,params)
}
makeDef{|defName,uid,args| makeDef {|defName,uid,args|
var defControls = [\inBus, \outBus] ++ synthControls ++ [\inBuffer,\outBuffer]; var defControls = [\inBus, \outBus] ++ synthControls ++ [\inBuffer,\outBuffer];
var ugenControls = [this.class.name,"T2A.ar(In.kr(inBus))"] ++ synthControls ++ [\inBuffer,\outBuffer,uid]; var ugenControls = [this.class.name,"T2A.ar(In.kr(inBus))"] ++ synthControls ++ [\inBuffer,\outBuffer,uid];
var f = ( var f = (

@ -1,4 +1,4 @@
FluidNormalize : FluidDataClient { FluidNormalize : FluidRTDataClient {
*new {|server, min = 0, max = 1| *new {|server, min = 0, max = 1|
^super.new1(server,[\min,min,\max,max]); ^super.new1(server,[\min,min,\max,max]);

@ -1,4 +1,4 @@
FluidPCA : FluidDataClient { FluidPCA : FluidRTDataClient {
*new {|server, numDimensions = 2| *new {|server, numDimensions = 2|
^super.new1(server,[\numDimensions,numDimensions]); ^super.new1(server,[\numDimensions,numDimensions]);

@ -9,21 +9,24 @@ FluidProviderTest : UGen {
}*/ }*/
*kr{ |name| *kr{ |name,vals|
^this.multiNew('control',name); ^this.new1('control',name,vals);
} }
*new1 { |rate, name| *new1 { |rate, name,vals|
var ascii = name.ascii; var ascii = name.ascii;
^super.new1(*[rate, ascii.size].addAll(ascii)); var args;
vals ?? {vals = []};
if(vals.isArray.not) {vals = [vals]};
args = ([rate, ascii.size].addAll(ascii) ++ vals.size).addAll(vals).addAll([1,1]);
args.postln;
^super.new1(*args);
} }
init { |size...chars| /* init { |size...chars|
//Send the number of inputs (size of provider string) as specialIndex,
//so server plugin knows what's going onnode
specialIndex = -1; specialIndex = -1;
inputs = [size].addAll(chars); inputs = [size].addAll(chars);
} }*/
addPoint{|server, nodeID, args, action| addPoint{|server, nodeID, args, action|
this.prSendMsg(server, nodeID, 'addPoint',args,action); this.prSendMsg(server, nodeID, 'addPoint',args,action);

@ -1,4 +1,4 @@
FluidStandardize : FluidDataClient { FluidStandardize : FluidRTDataClient {
fit{|dataSet, action| fit{|dataSet, action|
this.prSendMsg(\fit, [dataSet.asSymbol], action); this.prSendMsg(\fit, [dataSet.asSymbol], action);
} }

Loading…
Cancel
Save