Skip to content

Commit 4959070

Browse files
committed
Move tone stack params to OnParamChange()
1 parent 85d63b8 commit 4959070

File tree

2 files changed

+41
-24
lines changed

2 files changed

+41
-24
lines changed

NeuralAmpModeler/NeuralAmpModeler.cpp

Lines changed: 40 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -326,30 +326,6 @@ void NeuralAmpModeler::ProcessBlock(iplug::sample** inputs, iplug::sample** outp
326326
sample** toneStackOutPointers = gateGainOutput;
327327
if (toneStackActive)
328328
{
329-
// Translate params from knob 0-10 to dB.
330-
// Tuned ranges based on my ear. E.g. seems treble doesn't need nearly as
331-
// much swing as bass can use.
332-
const double bassGainDB = 4.0 * (GetParam(kToneBass)->Value() - 5.0); // +/- 20
333-
const double midGainDB = 3.0 * (GetParam(kToneMid)->Value() - 5.0); // +/- 15
334-
const double trebleGainDB = 2.0 * (GetParam(kToneTreble)->Value() - 5.0); // +/- 10
335-
336-
const double bassFrequency = 150.0;
337-
const double midFrequency = 425.0;
338-
const double trebleFrequency = 1800.0;
339-
const double bassQuality = 0.707;
340-
// Wider EQ on mid bump up to sound less honky.
341-
const double midQuality = midGainDB < 0.0 ? 1.5 : 0.7;
342-
const double trebleQuality = 0.707;
343-
344-
// Define filter parameters
345-
recursive_linear_filter::BiquadParams bassParams(sampleRate, bassFrequency, bassQuality, bassGainDB);
346-
recursive_linear_filter::BiquadParams midParams(sampleRate, midFrequency, midQuality, midGainDB);
347-
recursive_linear_filter::BiquadParams trebleParams(sampleRate, trebleFrequency, trebleQuality, trebleGainDB);
348-
// Apply tone stack
349-
// Set parameters
350-
mToneBass.SetParams(bassParams);
351-
mToneMid.SetParams(midParams);
352-
mToneTreble.SetParams(trebleParams);
353329
sample** bassPointers = mToneBass.Process(gateGainOutput, numChannelsInternal, numFrames);
354330
sample** midPointers = mToneMid.Process(bassPointers, numChannelsInternal, numFrames);
355331
sample** treblePointers = mToneTreble.Process(midPointers, numChannelsInternal, numFrames);
@@ -462,6 +438,46 @@ void NeuralAmpModeler::OnUIOpen()
462438
mCheckSampleRateWarning = true;
463439
}
464440

441+
void NeuralAmpModeler::OnParamChange(int paramIdx)
442+
{
443+
switch (paramIdx)
444+
{
445+
case kToneBass:
446+
{
447+
const double sampleRate = GetSampleRate();
448+
const double bassGainDB = 4.0 * (GetParam(kToneBass)->Value() - 5.0); // +/- 20
449+
const double bassFrequency = 150.0;
450+
const double bassQuality = 0.707;
451+
recursive_linear_filter::BiquadParams bassParams(sampleRate, bassFrequency, bassQuality, bassGainDB);
452+
mToneBass.SetParams(bassParams);
453+
}
454+
455+
break;
456+
case kToneMid:
457+
{
458+
const double sampleRate = GetSampleRate();
459+
const double midGainDB = 3.0 * (GetParam(kToneMid)->Value() - 5.0); // +/- 15
460+
const double midFrequency = 425.0;
461+
// Wider EQ on mid bump up to sound less honky.
462+
const double midQuality = midGainDB < 0.0 ? 1.5 : 0.7;
463+
recursive_linear_filter::BiquadParams midParams(sampleRate, midFrequency, midQuality, midGainDB);
464+
mToneMid.SetParams(midParams);
465+
}
466+
break;
467+
case kToneTreble:
468+
{
469+
const double sampleRate = GetSampleRate();
470+
const double trebleGainDB = 2.0 * (GetParam(kToneTreble)->Value() - 5.0); // +/- 10
471+
const double trebleFrequency = 1800.0;
472+
const double trebleQuality = 0.707;
473+
recursive_linear_filter::BiquadParams trebleParams(sampleRate, trebleFrequency, trebleQuality, trebleGainDB);
474+
mToneTreble.SetParams(trebleParams);
475+
}
476+
break;
477+
default: break;
478+
}
479+
}
480+
465481
void NeuralAmpModeler::OnParamChangeUI(int paramIdx, EParamSource source)
466482
{
467483
if (auto pGraphics = GetUI())

NeuralAmpModeler/NeuralAmpModeler.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ class NeuralAmpModeler final : public iplug::Plugin
216216
void OnUIOpen() override;
217217
bool OnHostRequestingSupportedViewConfiguration(int width, int height) override { return true; }
218218

219+
void OnParamChange(int paramIdx) override;
219220
void OnParamChangeUI(int paramIdx, iplug::EParamSource source) override;
220221
bool OnMessage(int msgTag, int ctrlTag, int dataSize, const void* pData) override;
221222

0 commit comments

Comments
 (0)