mirror of
https://codeberg.org/armin/rmx-19.git
synced 2026-10-11 16:51:55 +02:00
Revert per-sample parameter smoothing; caused filter hiss/edginess and broke MIDI CC mapping
This commit is contained in:
parent
51a6944326
commit
43e90ca448
4 changed files with 18 additions and 77 deletions
|
|
@ -175,23 +175,6 @@ void RMX19AudioProcessor::processMidi (juce::MidiBuffer& midi, const VParams& p)
|
|||
}
|
||||
}
|
||||
|
||||
void RMX19AudioProcessor::smoothGain (juce::AudioBuffer<float>& buffer, float targetVol)
|
||||
{
|
||||
const int num = buffer.getNumSamples();
|
||||
const int ch = buffer.getNumChannels();
|
||||
if (num <= 0 || ch <= 0) { volSmooth = targetVol; return; }
|
||||
|
||||
const float k = 0.03f; // per-sample glide so volume doesn't step between blocks
|
||||
for (int s = 0; s < num; ++s)
|
||||
{
|
||||
volSmooth += (targetVol - volSmooth) * k;
|
||||
const float g = volSmooth;
|
||||
for (int c = 0; c < ch; ++c)
|
||||
*buffer.getWritePointer (c, s) *= g;
|
||||
}
|
||||
volSmooth = targetVol;
|
||||
}
|
||||
|
||||
void RMX19AudioProcessor::processBlock (juce::AudioBuffer<float>& buffer, juce::MidiBuffer& midi)
|
||||
{
|
||||
juce::ScopedNoDenormals noDenormals;
|
||||
|
|
@ -266,7 +249,7 @@ void RMX19AudioProcessor::processBlock (juce::AudioBuffer<float>& buffer, juce::
|
|||
L[s] = oL;
|
||||
R[s] = oR;
|
||||
}
|
||||
smoothGain (buffer, p.vol);
|
||||
if (p.vol != 1.0f) buffer.applyGain (p.vol);
|
||||
}
|
||||
else if (L != nullptr)
|
||||
{
|
||||
|
|
@ -296,7 +279,7 @@ void RMX19AudioProcessor::processBlock (juce::AudioBuffer<float>& buffer, juce::
|
|||
}
|
||||
for (int c = 0; c < numChannels; ++c)
|
||||
buffer.copyFrom (c, 0, dummy, 0, 0, numSamples);
|
||||
smoothGain (buffer, p.vol);
|
||||
buffer.applyGain (p.vol);
|
||||
}
|
||||
|
||||
cpu = 0.7f * cpu + 0.3f * (float) (juce::Time::getMillisecondCounter() - start);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue