From 43fdf6dee3090fddb5a9c7aa1b19d10b44b5903d Mon Sep 17 00:00:00 2001 From: Pierre Alexandre Tremblay Date: Thu, 28 Mar 2019 15:34:00 +0000 Subject: [PATCH] now all Buf* class def have a buffer object checking (plus typos and consistent parameter naming --- release-packaging/Classes/FluidBufCompose.sc | 3 +++ release-packaging/Classes/FluidBufHPSS.sc | 5 +++++ release-packaging/Classes/FluidBufNMF.sc | 6 ++++++ release-packaging/Classes/FluidBufNoveltySlice.sc | 3 +++ release-packaging/Classes/FluidBufOnsetSlice.sc | 14 +++++++++----- release-packaging/Classes/FluidBufSines.sc | 4 ++++ .../Classes/FluidBufTransientSlice.sc | 9 ++++++--- release-packaging/Classes/FluidBufTransients.sc | 4 ++++ .../Classes/FluidBufTransientSlice.schelp | 2 +- 9 files changed, 41 insertions(+), 9 deletions(-) diff --git a/release-packaging/Classes/FluidBufCompose.sc b/release-packaging/Classes/FluidBufCompose.sc index 869f569..47fe4cb 100644 --- a/release-packaging/Classes/FluidBufCompose.sc +++ b/release-packaging/Classes/FluidBufCompose.sc @@ -1,6 +1,9 @@ FluidBufCompose{ *process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, srcGain = 1, dstBufNum, dstStartAt = 0, dstStartChan = 0, dstGain = 0; + srcBufNum = srcBufNum.asUGenInput; + dstBufNum = dstBufNum.asUGenInput; + if(srcBufNum.isNil) {Error("Invalid Buffer").format(thisMethod.name, this.class.name).throw}; if(dstBufNum.isNil) {Error("Invalid Buffer").format(thisMethod.name, this.class.name).throw}; diff --git a/release-packaging/Classes/FluidBufHPSS.sc b/release-packaging/Classes/FluidBufHPSS.sc index 8a29fad..b28f343 100644 --- a/release-packaging/Classes/FluidBufHPSS.sc +++ b/release-packaging/Classes/FluidBufHPSS.sc @@ -3,6 +3,11 @@ FluidBufHPSS{ var maxFFTSize = if (fftSize == -1) {winSize.nextPowerOfTwo} {fftSize}; + srcBufNum = srcBufNum.asUGenInput; + harmBufNum = harmBufNum.asUGenInput; + percBufNum = percBufNum.asUGenInput; + resBufNum = resBufNum.asUGenInput; + if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; server = server ? Server.default; diff --git a/release-packaging/Classes/FluidBufNMF.sc b/release-packaging/Classes/FluidBufNMF.sc index 0a5c05d..48a4168 100644 --- a/release-packaging/Classes/FluidBufNMF.sc +++ b/release-packaging/Classes/FluidBufNMF.sc @@ -1,6 +1,12 @@ FluidBufNMF { *process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, dstBufNum, dictBufNum, dictFlag = 0, actBufNum, actFlag = 0, rank = 1, nIter = 100, sortFlag = 0, winSize = 1024, hopSize = -1, fftSize = -1, winType = 0, randSeed = -1; + + srcBufNum = srcBufNum.asUGenInput; + dstBufNum = dstBufNum.asUGenInput; + dictBufNum = dictBufNum.asUGenInput; + actBufNum = actBufNum.asUGenInput; + if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; server = server ? Server.default; diff --git a/release-packaging/Classes/FluidBufNoveltySlice.sc b/release-packaging/Classes/FluidBufNoveltySlice.sc index a0861f0..49ae3cd 100644 --- a/release-packaging/Classes/FluidBufNoveltySlice.sc +++ b/release-packaging/Classes/FluidBufNoveltySlice.sc @@ -3,6 +3,9 @@ FluidBufNoveltySlice{ //var maxFFTSize = if (fftSize == -1) {winSize.nextPowerOfTwo} {fftSize}; //ready for when we need it from the RT wrapper + srcBufNum = srcBufNum.asUGenInput; + indBufNum = indBufNum.asUGenInput; + if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; if(indBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; diff --git a/release-packaging/Classes/FluidBufOnsetSlice.sc b/release-packaging/Classes/FluidBufOnsetSlice.sc index d038576..9d45cc0 100644 --- a/release-packaging/Classes/FluidBufOnsetSlice.sc +++ b/release-packaging/Classes/FluidBufOnsetSlice.sc @@ -1,15 +1,19 @@ FluidBufOnsetSlice{ - *process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, idxBufNum, function = 0, threshold = 0.1, debounce = 2, filterSize = 5, frameDelta = 0, winSize = 1024, hopSize = 256, fftSize = 1024, maxFFTSize = 16384; + *process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, indBufNum, function = 0, threshold = 0.1, debounce = 2, filterSize = 5, frameDelta = 0, winSize = 1024, hopSize = -1, fftSize = -1; - if(srcBufNum.isNil) {Error("Invalid Buffer % %".format(this.class.name, thisMethod.name)).throw}; + var maxFFTSize = if (fftSize == -1) {winSize.nextPowerOfTwo} {fftSize}; - server = server ? Server.default; - idxBufNum = idxBufNum ? -1; + srcBufNum = srcBufNum.asUGenInput; + indBufNum = indBufNum.asUGenInput; + + if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; + if(indBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; + server = server ? Server.default; //NB For wrapped versions of NRT classes, we set the params for maxima to //whatever has been passed in language-side (e.g maxFFTSize still exists as a parameter for the server plugin, but makes less sense here: it just needs to be set to a legal value) - server.sendMsg(\cmd, \BufOnsetSlice, srcBufNum, startAt, nFrames, startChan, nChans, idxBufNum, function, threshold, debounce, filterSize, frameDelta, winSize, hopSize, fftSize, maxFFTSize); + server.sendMsg(\cmd, \BufOnsetSlice, srcBufNum, startAt, nFrames, startChan, nChans, indBufNum, function, threshold, debounce, filterSize, frameDelta, winSize, hopSize, fftSize, maxFFTSize); } } diff --git a/release-packaging/Classes/FluidBufSines.sc b/release-packaging/Classes/FluidBufSines.sc index 7fbc1d4..d3e6f5e 100644 --- a/release-packaging/Classes/FluidBufSines.sc +++ b/release-packaging/Classes/FluidBufSines.sc @@ -3,6 +3,10 @@ FluidBufSines{ var maxFFTSize = if (fftSize == -1) {winSize.nextPowerOfTwo} {fftSize}; + srcBufNum = srcBufNum.asUGenInput; + sineBufNum = sineBufNum.asUGenInput; + resBufNum = resBufNum.asUGenInput; + if(srcBufNum.isNil) {Error("Invalid Buffer").format(thisMethod.name, this.class.name).throw}; server = server ? Server.default; diff --git a/release-packaging/Classes/FluidBufTransientSlice.sc b/release-packaging/Classes/FluidBufTransientSlice.sc index e02265e..e7879b9 100644 --- a/release-packaging/Classes/FluidBufTransientSlice.sc +++ b/release-packaging/Classes/FluidBufTransientSlice.sc @@ -1,11 +1,14 @@ FluidBufTransientSlice{ - *process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, transBufNum, order = 20, blockSize = 256, padSize = 128, skew = 0, threshFwd = 2, threshBack = 1.1, winSize = 14, debounce = 25, minSlice = 1000; + *process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, indBufNum, order = 20, blockSize = 256, padSize = 128, skew = 0, threshFwd = 2, threshBack = 1.1, winSize = 14, debounce = 25, minSlice = 1000; + + srcBufNum = srcBufNum.asUGenInput; + indBufNum = indBufNum.asUGenInput; if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; - if(transBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; + if(indBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; server = server ? Server.default; - server.sendMsg(\cmd, \BufTransientSlice, srcBufNum, startAt, nFrames, startChan, nChans, transBufNum, order, blockSize, padSize, skew, threshFwd, threshBack, winSize, debounce, minSlice); + server.sendMsg(\cmd, \BufTransientSlice, srcBufNum, startAt, nFrames, startChan, nChans, indBufNum, order, blockSize, padSize, skew, threshFwd, threshBack, winSize, debounce, minSlice); } } diff --git a/release-packaging/Classes/FluidBufTransients.sc b/release-packaging/Classes/FluidBufTransients.sc index fa2a5a9..37dfbad 100644 --- a/release-packaging/Classes/FluidBufTransients.sc +++ b/release-packaging/Classes/FluidBufTransients.sc @@ -1,6 +1,10 @@ FluidBufTransients { *process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, transBufNum, resBufNum, order = 20, blockSize = 256, padSize = 128, skew = 0, threshFwd = 2, threshBack = 1.1, winSize = 14, debounce = 25; + srcBufNum = srcBufNum.asUGenInput; + transBufNum = transBufNum.asUGenInput; + resBufNum = resBufNum.asUGenInput; + if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; server = server ? Server.default; diff --git a/release-packaging/HelpSource/Classes/FluidBufTransientSlice.schelp b/release-packaging/HelpSource/Classes/FluidBufTransientSlice.schelp index 2230a1e..87a4a51 100644 --- a/release-packaging/HelpSource/Classes/FluidBufTransientSlice.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufTransientSlice.schelp @@ -33,7 +33,7 @@ ARGUMENT:: startChan ARGUMENT:: nChans For multichannel srcBuf, how many channel should be summed. -ARGUMENT:: transBufNum +ARGUMENT:: indBufNum The index of the buffer where the indices (in sample) of the estimated starting points of slices will be written. The first and last points are always the boundary points of the analysis. ARGUMENT:: order