Skip to content

Commit

Permalink
ZamNoise: Try again
Browse files Browse the repository at this point in the history
  • Loading branch information
zamaudio committed Apr 27, 2024
1 parent 6a533f5 commit 410d600
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions plugins/ZamNoise/ZamNoisePlugin.cpp
Expand Up @@ -24,9 +24,9 @@ START_NAMESPACE_DISTRHO
ZamNoisePlugin::ZamNoisePlugin()
: Plugin(paramCount, 1, 0) // 1 program, 0 states
{

ZamNoisePlugin::init();
buffer.cbsize = 0;
zamnoise = new Denoise(getSampleRate());
ZamNoisePlugin::init();

// set default values
loadProgram(0);
Expand All @@ -37,6 +37,7 @@ ZamNoisePlugin::ZamNoisePlugin()

ZamNoisePlugin::~ZamNoisePlugin()
{
buffer.cbsize = 0;
delete zamnoise;
free(buffer.cbi);
}
Expand Down Expand Up @@ -104,7 +105,8 @@ void ZamNoisePlugin::setParameterValue(uint32_t index, float value)
{
case paramNoiseToggle:
if (value == 1.f) {
memset(buffer.cbi, 0, buffer.cbsize*sizeof(float));
if (buffer.cbsize > 0)
memset(buffer.cbi, 0, buffer.cbsize*sizeof(float));
}
noisetoggle = value;
break;
Expand All @@ -126,9 +128,9 @@ void ZamNoisePlugin::loadProgram(uint32_t index)
}


void ZamNoisePlugin::InstantiateCircularBuffer(CircularBuffer* buffer) {
buffer->cbsize = DENOISE_MAX_FFT;
buffer->cbi = (float*) calloc(buffer->cbsize, sizeof(float));
void ZamNoisePlugin::InstantiateCircularBuffer(CircularBuffer* buf) {
buf->cbi = (float*) calloc(DENOISE_MAX_FFT, sizeof(float));
buf->cbsize = DENOISE_MAX_FFT;
}

void ZamNoisePlugin::init (void)
Expand All @@ -150,7 +152,7 @@ void ZamNoisePlugin::deactivate()

void ZamNoisePlugin::run(const float** inputs, float** outputs, uint32_t frames)
{
if (zamnoise) {
if (buffer.cbsize > 0) {
zamnoise->process(inputs[0], outputs[0], buffer.cbi, frames, (int)noisetoggle, amount / 100.);
} else {
uint32_t i;
Expand All @@ -162,10 +164,11 @@ void ZamNoisePlugin::run(const float** inputs, float** outputs, uint32_t frames)

void ZamNoisePlugin::sampleRateChanged(double newSampleRate)
{
buffer.cbsize = 0;
delete zamnoise;
free(buffer.cbi);
ZamNoisePlugin::init();
zamnoise = new Denoise(newSampleRate);
ZamNoisePlugin::init();
}

// -----------------------------------------------------------------------
Expand Down

0 comments on commit 410d600

Please sign in to comment.