diff --git a/release-packaging/Classes/FluidMLP.sc b/release-packaging/Classes/FluidMLP.sc index 23e5624..1de31a5 100644 --- a/release-packaging/Classes/FluidMLP.sc +++ b/release-packaging/Classes/FluidMLP.sc @@ -1,4 +1,4 @@ -FluidMLPRegressor : FluidRealTimeModel { +FluidMLPRegressor : FluidModelObject { const numDimensions; @@ -7,7 +7,7 @@ FluidPCA : FluidRealTimeModel{ } prGetParams{ - ^[numDimensions,-1,-1]; + ^[this.id, numDimensions]; } fitMsg{|dataSet| @@ -55,9 +55,20 @@ FluidPCA : FluidRealTimeModel{ numDimensions = numDimensions ? this.numDimensions; this.numDimensions_(numDimensions); - ^FluidPCAQuery.kr(K2A.ar(trig),this, this.numDimensions, this.prEncodeBuffer(inputBuffer), this.prEncodeBuffer(outputBuffer)); + ^FluidPCAQuery.kr(trig ,this, this.prEncodeBuffer(inputBuffer), this.prEncodeBuffer(outputBuffer), this.numDimensions); } } -FluidPCAQuery : FluidRTQuery {} +FluidPCAQuery : FluidRTMultiOutUGen { + *kr{ |trig, model, inputBuffer,outputBuffer,numDimensions| + ^this.multiNew('control',trig, model.asUGenInput, + numDimensions, + inputBuffer.asUGenInput, outputBuffer.asUGenInput) + } + + init { arg ... theInputs; + inputs = theInputs; + ^this.initOutputs(1, rate); + } +} \ No newline at end of file diff --git a/release-packaging/Classes/FluidUMAP.sc b/release-packaging/Classes/FluidUMAP.sc index 5b183f9..878ee99 100644 --- a/release-packaging/Classes/FluidUMAP.sc +++ b/release-packaging/Classes/FluidUMAP.sc @@ -1,4 +1,4 @@ -FluidUMAP : FluidRealTimeModel { +FluidUMAP : FluidModelObject { var <>numDimensions, <>numNeighbours, <>minDist, <>iterations, <>learnRate; @@ -13,12 +13,12 @@ FluidUMAP : FluidRealTimeModel { prGetParams{ ^[ + this.id, this.numDimensions, this.numNeighbours, this.minDist, this.iterations, this.learnRate, - -1,-1 ] } @@ -68,13 +68,8 @@ FluidUMAP : FluidRealTimeModel { numDimensions = numDimensions ? this.numDimensions; this.numDimensions_(numDimensions); - ^FluidUMAPQuery.kr(K2A.ar(trig), + ^FluidUMAPQuery.kr(trig, this, - this.numDimensions, - this.numNeighbours, - this.minDist, - this.iterations, - this.learnRate, this.prEncodeBuffer(inputBuffer), this.prEncodeBuffer(outputBuffer)); } @@ -84,4 +79,14 @@ FluidUMAP : FluidRealTimeModel { size { |action|} } -FluidUMAPQuery : FluidRTQuery {} +FluidUMAPQuery : 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 c57a18a..241a2aa 100644 --- a/src/FluidManipulation/FluidManipulation.cpp +++ b/src/FluidManipulation/FluidManipulation.cpp @@ -47,14 +47,25 @@ PluginLoad(FluidSTFTUGen) makeSCWrapper("FluidRobustScale",ft); makeSCWrapper("FluidRobustScaleQuery",ft); + makeSCWrapper("FluidStandardize",ft); makeSCWrapper("FluidStandardizeQuery",ft); - makeSCWrapper("FluidPCA",ft); + makeSCWrapper("FluidPCA",ft); + makeSCWrapper("FluidPCAQuery",ft); + makeSCWrapper("FluidMDS",ft); - makeSCWrapper("FluidUMAP",ft); + + makeSCWrapper("FluidUMAP",ft); + makeSCWrapper("FluidUMAPQuery",ft); + makeSCWrapper("FluidDataSetWr", ft); - makeSCWrapper("FluidMLPRegressor",ft); - makeSCWrapper("FluidMLPClassifier",ft); + + makeSCWrapper("FluidMLPRegressor",ft); + makeSCWrapper("FluidMLPRegressorQuery",ft); + + makeSCWrapper("FluidMLPClassifier",ft); + makeSCWrapper("FluidMLPClassifierQuery",ft); + makeSCWrapper("FluidGrid",ft); }