From a1fad500082741dfab2285ef8e413688c15d6995 Mon Sep 17 00:00:00 2001 From: Owen Green Date: Thu, 16 Sep 2021 15:08:56 +0100 Subject: [PATCH] Names KMeans --- release-packaging/Classes/FluidKMeans.sc | 24 +++++++++++++++------ src/FluidManipulation/FluidManipulation.cpp | 5 ++++- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/release-packaging/Classes/FluidKMeans.sc b/release-packaging/Classes/FluidKMeans.sc index 31fda02..ca0a828 100644 --- a/release-packaging/Classes/FluidKMeans.sc +++ b/release-packaging/Classes/FluidKMeans.sc @@ -1,4 +1,4 @@ -FluidKMeans : FluidRealTimeModel { +FluidKMeans : FluidModelObject { var clusters, maxiter; @@ -14,7 +14,7 @@ FluidKMeans : FluidRealTimeModel { maxIter_{|i| maxiter = i.asInteger} maxIter{ ^maxiter } - prGetParams{^[this.numClusters,this.maxIter,-1,-1];} + prGetParams{^[this.id,this.numClusters,this.maxIter];} fitMsg{ |dataSet| ^this.prMakeMsg(\fit,id,dataSet.id);} @@ -111,11 +111,21 @@ FluidKMeans : FluidRealTimeModel { } kr{|trig, inputBuffer,outputBuffer| - ^FluidKMeansQuery.kr(K2A.ar(trig), - this, clusters, maxiter, - this.prEncodeBuffer(inputBuffer), - this.prEncodeBuffer(outputBuffer)); + ^FluidKMeansQuery.kr(trig, + this, + this.prEncodeBuffer(inputBuffer), + this.prEncodeBuffer(outputBuffer)); } } -FluidKMeansQuery : FluidRTQuery {} +FluidKMeansQuery : FluidRTMultiOutUGen { + + *kr{ |trig, model,inputBuffer, outputBuffer | + ^this.multiNew('control',trig, model.asUGenInput,inputBuffer.asUGenInput, outputBuffer.asUGenInput) + } + + init { arg ... theInputs; + inputs = theInputs; + ^this.initOutputs(1, rate); + } +} diff --git a/src/FluidManipulation/FluidManipulation.cpp b/src/FluidManipulation/FluidManipulation.cpp index 4915b05..a43b168 100644 --- a/src/FluidManipulation/FluidManipulation.cpp +++ b/src/FluidManipulation/FluidManipulation.cpp @@ -33,7 +33,10 @@ PluginLoad(FluidSTFTUGen) makeSCWrapper("FluidKDTree",ft); makeSCWrapper("FluidKDTreeQuery",ft); - makeSCWrapper("FluidKMeans",ft); + makeSCWrapper("FluidKMeans",ft); + makeSCWrapper("FluidKMeansQuery",ft); + + makeSCWrapper("FluidKNNClassifier",ft); makeSCWrapper("FluidKNNRegressor",ft); makeSCWrapper("FluidNormalize",ft);