mirror of https://github.com/probonopd/MiniDexed
parent
17f6fc9ccf
commit
38f9f5f05c
@ -1,113 +0,0 @@ |
|||||||
/*
|
|
||||||
* Base AudioEffect interface |
|
||||||
* Javier Nonis (https://github.com/jnonis) - 2024
|
|
||||||
*/ |
|
||||||
#include <circle/logger.h> |
|
||||||
#include "effect_base.h" |
|
||||||
|
|
||||||
LOGMODULE ("AudioEffect"); |
|
||||||
|
|
||||||
AudioEffect::AudioEffect(float32_t samplerate) |
|
||||||
{ |
|
||||||
this->samplerate = samplerate; |
|
||||||
} |
|
||||||
|
|
||||||
AudioEffect::~AudioEffect() |
|
||||||
{ |
|
||||||
} |
|
||||||
|
|
||||||
void AudioEffect::setBypass(bool bypass) |
|
||||||
{ |
|
||||||
this->bypass = bypass; |
|
||||||
} |
|
||||||
|
|
||||||
bool AudioEffect::getBypass() |
|
||||||
{ |
|
||||||
return bypass; |
|
||||||
} |
|
||||||
|
|
||||||
unsigned AudioEffect::getId() |
|
||||||
{ |
|
||||||
return EFFECT_NONE; |
|
||||||
} |
|
||||||
|
|
||||||
void AudioEffect::setParameters(std::vector<unsigned> params) |
|
||||||
{ |
|
||||||
for (size_t i = 0; i < params.size(); i++) |
|
||||||
{ |
|
||||||
this->setParameter(i, params[i]); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
std::vector<unsigned> AudioEffect::getParameters() |
|
||||||
{ |
|
||||||
size_t len = this->getParametersSize(); |
|
||||||
std::vector<unsigned> params; |
|
||||||
for (size_t i = 0; i < len; i++) |
|
||||||
{ |
|
||||||
params.push_back(getParameter(i)); |
|
||||||
} |
|
||||||
return params; |
|
||||||
} |
|
||||||
|
|
||||||
void AudioEffect::process(const float32_t* inblock, float32_t* outblock, uint16_t len) |
|
||||||
{ |
|
||||||
// Mono process
|
|
||||||
// Dummy buffer for right channel
|
|
||||||
float32_t dummyBuffer[len]; |
|
||||||
memset(dummyBuffer, 0, len * sizeof(float32_t)); |
|
||||||
process(inblock, dummyBuffer, outblock, dummyBuffer, len); |
|
||||||
} |
|
||||||
|
|
||||||
void AudioEffect::process(const float32_t* inblockL, const float32_t* inblockR, float32_t* outblockL, float32_t* outblockR, uint16_t len) |
|
||||||
{ |
|
||||||
if (bypass) { |
|
||||||
if (inblockL != outblockL) |
|
||||||
{ |
|
||||||
memcpy(outblockL, inblockL, len * sizeof(float32_t)); |
|
||||||
} |
|
||||||
if (inblockR != outblockR) { |
|
||||||
memcpy(outblockR, inblockR, len * sizeof(float32_t)); |
|
||||||
} |
|
||||||
/*
|
|
||||||
if (inblockL != outblockL || inblockR != outblockR) { |
|
||||||
// if input and output buffers are different we should copy the content
|
|
||||||
for (uint16_t i=0; i < len; i++)
|
|
||||||
{ |
|
||||||
outblockL[i] = inblockL[i]; |
|
||||||
if (inblockL == inblockR) { |
|
||||||
outblockR[i] = inblockL[i]; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
outblockR[i] = inblockR[i]; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
||||||
*/ |
|
||||||
return; |
|
||||||
} |
|
||||||
doProcess(inblockL, inblockR, outblockL, outblockR, len); |
|
||||||
} |
|
||||||
|
|
||||||
void AudioEffect::doProcess(const float32_t* inblockL, const float32_t* inblockR, float32_t* outblockL, float32_t* outblockR, uint16_t len) { |
|
||||||
} |
|
||||||
|
|
||||||
AudioEffectNone::AudioEffectNone(float32_t samplerate) : AudioEffect(samplerate) |
|
||||||
{ |
|
||||||
setBypass(true); |
|
||||||
} |
|
||||||
|
|
||||||
AudioEffectNone::~AudioEffectNone() |
|
||||||
{ |
|
||||||
} |
|
||||||
|
|
||||||
void AudioEffectNone::doProcess(const float32_t* inblockL, const float32_t* inblockR, float32_t* outblockL, float32_t* outblockR, uint16_t len) |
|
||||||
{ |
|
||||||
} |
|
||||||
|
|
||||||
unsigned AudioEffectNone::getId() |
|
||||||
{ |
|
||||||
return EFFECT_NONE; |
|
||||||
} |
|
Loading…
Reference in new issue