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 = ""|
var env;

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

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

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

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

@ -1,4 +1,4 @@
FluidMLPRegressor : FluidManipulationClient {
FluidMLPRegressor : FluidDataClient {
const <identity = 0;
const <sigmoid = 1;
@ -6,9 +6,8 @@ FluidMLPRegressor : FluidManipulationClient {
const <tanh = 3;
*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;
^super.new(server,uid, *[
^super.new1(server,[
\hidden,hidden,
\activation,activation,
\maxIter, maxIter,
@ -16,11 +15,7 @@ FluidMLPRegressor : FluidManipulationClient {
\momentum, momentum,
\batchsize,batchSize,
\validation,validation,
])!?{|inst|inst.init(uid);inst}
}
init {|uid|
id = uid;
])
}
fit{|sourceDataSet, targetDataSet, action|

@ -13,7 +13,7 @@ FluidProxyUgen : UGen {
.asSymbol
.asClass
.superclasses
.indexOf(FluidDataClient) ??{inputs= inputs ++ [Done.none,0]};
.indexOf(FluidRTDataClient) ??{inputs= inputs ++ [Done.none,0]};
rate = inputs.rate;
}
@ -148,8 +148,7 @@ FluidDataClient : FluidManipulationClient {
*new1{ |server, params|
var uid = UniqueID.next;
params = params ?? {[]};
if(params.size > 0) {synthControls = params.unlace[0]};
params = params ++ [\inBus,Bus.control,\outBus,Bus.control,\inBuffer,-1,\outBuffer,-1];
if(params.size > 0 and: synthControls.size == 0) {synthControls = params.unlace[0]};
^super.new(server, uid, *params) !? { |inst| inst.init(uid, params) }
}
@ -180,6 +179,17 @@ FluidDataClient : FluidManipulationClient {
updateSynthControls{
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|
var defControls = [\inBus, \outBus] ++ synthControls ++ [\inBuffer,\outBuffer];

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

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

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

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

Loading…
Cancel
Save