- fixed mix down
This commit is contained in:
2025-11-11 19:52:35 +01:00
parent 3dda1ec2f9
commit 9948682d03
2 changed files with 12 additions and 13 deletions
+11 -12
View File
@@ -15,18 +15,14 @@ class Delay
uint m_delaySize;
public:
Delay(uint delayCapacity, int delayOffset=0)
Delay(uint delayCapacity, int delayOffset)
: m_buf(delayCapacity)
{
setDelay(delayCapacity-delayOffset, delayOffset);
setDelay(delayCapacity, delayOffset);
}
void setDelay(uint delaySize, int delayOffset=0)
void setDelay(uint delaySize, int delayOffset)
{
if ((delaySize + delayOffset) > m_buf.capacity())
{
return;
}
float delayRagePerWindow = (float)(delaySize-delayOffset)/(float)numCh;
if (delayRagePerWindow < 0)
@@ -81,7 +77,7 @@ class Diffusor
public:
Diffusor(uint maxDelaySize)
: m_dly(maxDelaySize)
: m_dly(maxDelaySize, 0)
{
// Shuffle spec
for (int i=0; i < numCh; i++)
@@ -113,7 +109,7 @@ class Diffusor
void setDelay(uint delay)
{
m_dly.setDelay(delay);
m_dly.setDelay(delay, 0);
}
uint getDelay()
@@ -161,9 +157,9 @@ class Reverb
T fb_gain;
public:
Reverb(std::initializer_list<Diffusor<T, numCh>> maxDelay, uint fb_maxDelay)
Reverb(std::initializer_list<Diffusor<T, numCh>> maxDelay, uint fb_maxDelay, uint fb_minDelay)
: m_diffusors(maxDelay)
, m_feedbackDly(fb_maxDelay, 0)
, m_feedbackDly(fb_maxDelay, fb_minDelay)
, fb_gain(0)
{
for (int c=0; c < numCh; c++)
@@ -217,7 +213,10 @@ class Reverb
m_feedbackDly.process(temp, fb_dly_out);
// Mix
out[i] = fb_dly_out[0];
for (int c=0; c < numCh; c++)
{
out[i] += fb_dly_out[c];
}
}
}