Add info structures for holding effect parameters

This commit is contained in:
Jack Andersen
2017-01-22 21:21:50 -10:00
parent ecd990e94e
commit 2e7345f11d
10 changed files with 178 additions and 0 deletions

View File

@@ -10,22 +10,42 @@ EffectChorus& Submix::makeChorus(uint32_t baseDelay, uint32_t variation, uint32_
return makeEffect<EffectChorus>(baseDelay, variation, period);
}
EffectChorus& Submix::makeChorus(const EffectChorusInfo& info)
{
return makeEffect<EffectChorus>(info);
}
EffectDelay& Submix::makeDelay(uint32_t initDelay, uint32_t initFeedback, uint32_t initOutput)
{
return makeEffect<EffectDelay>(initDelay, initFeedback, initOutput);
}
EffectDelay& Submix::makeDelay(const EffectDelayInfo& info)
{
return makeEffect<EffectDelay>(info);
}
EffectReverbStd& Submix::makeReverbStd(float coloration, float mix, float time, float damping, float preDelay)
{
return makeEffect<EffectReverbStd>(coloration, mix, time, damping, preDelay);
}
EffectReverbStd& Submix::makeReverbStd(const EffectReverbStdInfo& info)
{
return makeEffect<EffectReverbStd>(info);
}
EffectReverbHi& Submix::makeReverbHi(float coloration, float mix, float time, float damping, float preDelay,
float crosstalk)
{
return makeEffect<EffectReverbHi>(coloration, mix, time, damping, preDelay, crosstalk);
}
EffectReverbHi& Submix::makeReverbHi(const EffectReverbHiInfo& info)
{
return makeEffect<EffectReverbHi>(info);
}
void Submix::applyEffect(int16_t* audio, size_t frameCount, const ChannelMap& chanMap) const
{
for (const std::unique_ptr<EffectBaseTypeless>& effect : m_effectStack)