diff --git a/release-packaging/Classes/FluidRobustScale.sc b/release-packaging/Classes/FluidRobustScale.sc index 963745b..3e7d34f 100644 --- a/release-packaging/Classes/FluidRobustScale.sc +++ b/release-packaging/Classes/FluidRobustScale.sc @@ -1,4 +1,4 @@ -FluidRobustScale : FluidRealTimeModel { +FluidRobustScale : FluidModelObject { var <>low, <>high, <>invert; @@ -8,7 +8,7 @@ FluidRobustScale : FluidRealTimeModel { } prGetParams{ - ^[this.low,this.high,this.invert,-1,-1]; + ^[this.id,this.low,this.high,this.invert]; } @@ -52,18 +52,27 @@ FluidRobustScale : FluidRealTimeModel { this.prSendMsg(this.transformPointMsg(sourceBuffer, destBuffer)); } - kr{|trig, inputBuffer,outputBuffer,low,high,invert| + kr{|trig, inputBuffer,outputBuffer,invert| - low = low ? this.low; - high = high ? this.high; invert = invert ? this.invert; - this.low_(low).high_(high).invert_(invert); + // this.invert_(invert); - ^FluidRobustScaleQuery.kr(K2A.ar(trig),this, this.low, this.high, this.invert, this.prEncodeBuffer(inputBuffer), this.prEncodeBuffer(outputBuffer)); + ^FluidRobustScaleQuery.kr(trig,this, this.prEncodeBuffer(inputBuffer), this.prEncodeBuffer(outputBuffer), invert,); } } -FluidRobustScaleQuery : FluidRTQuery {} +FluidRobustScaleQuery : FluidRTMultiOutUGen { + *kr{ |trig, model, inputBuffer,outputBuffer,invert| + ^this.multiNew('control',trig, model.asUGenInput, + invert, + 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 5237f30..c57a18a 100644 --- a/src/FluidManipulation/FluidManipulation.cpp +++ b/src/FluidManipulation/FluidManipulation.cpp @@ -45,8 +45,8 @@ PluginLoad(FluidSTFTUGen) makeSCWrapper("FluidNormalize",ft); makeSCWrapper("FluidNormalizeQuery",ft); - makeSCWrapper("FluidRobustScale",ft); - + makeSCWrapper("FluidRobustScale",ft); + makeSCWrapper("FluidRobustScaleQuery",ft); makeSCWrapper("FluidStandardize",ft); makeSCWrapper("FluidStandardizeQuery",ft);