You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
FluidNoveltyFeature : FluidRTUGen {
|
|
*kr { arg in = 0, algorithm = 0, kernelSize = 3, filterSize = 1, windowSize = 1024, hopSize = -1, fftSize = -1, maxFFTSize = -1, maxKernelSize, maxFilterSize;
|
|
|
|
maxKernelSize = maxKernelSize ? kernelSize;
|
|
maxFilterSize = maxFilterSize ? filterSize;
|
|
algorithm = FluidNoveltySlice.prSelectAlgorithm(algorithm) ?? {
|
|
("FluidNoveltySlice: % is not a recognised algorithm").format(algorithm);
|
|
};
|
|
|
|
^this.multiNew('control', in.asAudioRateInput(this), algorithm, kernelSize, maxKernelSize, filterSize, maxFilterSize, windowSize, hopSize, fftSize, maxFFTSize)
|
|
}
|
|
|
|
checkInputs {
|
|
if([\scalar, \control].includes(inputs.at(1).rate).not) {
|
|
^(": invalid algorithm");
|
|
};
|
|
if(inputs.at(9).rate != 'scalar') {
|
|
^(": maxFFTSize cannot be modulated.");
|
|
};
|
|
if(inputs.at(3).rate != 'scalar') {
|
|
^(": maxKernelSize cannot be modulated.");
|
|
};
|
|
if(inputs.at(5).rate != 'scalar') {
|
|
^(": maxFilterSize cannot be modulated.");
|
|
};
|
|
^this.checkValidInputs;
|
|
}
|
|
}
|