Skip to content

Commit 701f470

Browse files
committed
finalized 0.5.3
1 parent 23c32af commit 701f470

File tree

9 files changed

+42
-8
lines changed

9 files changed

+42
-8
lines changed

Source/ConcertHallB.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,10 @@ ReverbProcessorParameters& LargeConcertHallB::getParameters() { return mParamete
397397
void LargeConcertHallB::setParameters(const ReverbProcessorParameters& params)
398398
{
399399
if (!(params == mParameters))
400+
{
400401
mParameters = params;
402+
mParameters.roomSize = scale(mParameters.roomSize, 0.0f, 1.0f, 0.25f, 1.75f);
403+
}
401404
}
402405

403406
////==============================================================================

Source/DattorroVerb.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,10 @@ ReverbProcessorParameters& DattorroPlate::getParameters() { return mParameters;
258258
void DattorroPlate::setParameters(const ReverbProcessorParameters& params)
259259
{
260260
if (!(params == mParameters))
261+
{
261262
mParameters = params;
263+
mParameters.roomSize = scale(mParameters.roomSize, 0.0f, 1.0f, 0.25f, 1.75f);
264+
}
262265
}
263266

264267
//DattorroPlate::DattorroPlate() {}

Source/EarlyReflections.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,5 +100,8 @@ ReverbProcessorParameters& EarlyReflections::getParameters() { return mParameter
100100
void EarlyReflections::setParameters(const ReverbProcessorParameters& params)
101101
{
102102
if (!(params == mParameters))
103+
{
103104
mParameters = params;
105+
mParameters.roomSize = scale(mParameters.roomSize, 0.0f, 1.0f, 0.25f, 1.75f);
106+
}
104107
}

Source/FDNs.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,10 @@ ReverbProcessorParameters& GeneralizedFDN::getParameters() { return mParameters;
246246
void GeneralizedFDN::setParameters(const ReverbProcessorParameters& params)
247247
{
248248
if (!(params == mParameters))
249+
{
249250
mParameters = params;
251+
mParameters.roomSize = scale(mParameters.roomSize, 0.0f, 1.0f, 0.25f, 1.75f);
252+
}
250253
}
251254

252255
//===================================================================

Source/Freeverb.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,10 @@ ReverbProcessorParameters& Freeverb::getParameters() { return mParameters; }
195195
void Freeverb::setParameters(const ReverbProcessorParameters& params)
196196
{
197197
if (!(params == mParameters))
198+
{
198199
mParameters = params;
200+
mParameters.roomSize = scale(mParameters.roomSize, 0.0f, 1.0f, 0.25f, 1.75f);
201+
}
199202
}
200203

201204
////==============================================================================

Source/GardnerRooms.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,10 @@ ReverbProcessorParameters& GardnerSmallRoom::getParameters() { return mParameter
146146
void GardnerSmallRoom::setParameters(const ReverbProcessorParameters &params)
147147
{
148148
if (!(params == mParameters))
149+
{
149150
mParameters = params;
151+
mParameters.roomSize = scale(mParameters.roomSize, 0.0f, 1.0f, 0.25f, 1.75f);
152+
}
150153
}
151154

152155

@@ -333,7 +336,10 @@ ReverbProcessorParameters& GardnerMediumRoom::getParameters() { return mParamete
333336
void GardnerMediumRoom::setParameters(const ReverbProcessorParameters& params)
334337
{
335338
if (!(params == mParameters))
339+
{
336340
mParameters = params;
341+
mParameters.roomSize = scale(mParameters.roomSize, 0.0f, 1.0f, 0.25f, 1.75f);
342+
}
337343
}
338344

339345
//==============================================================================
@@ -522,7 +528,10 @@ ReverbProcessorParameters& GardnerLargeRoom::getParameters() { return mParameter
522528
void GardnerLargeRoom::setParameters(const ReverbProcessorParameters &params)
523529
{
524530
if (!(params == mParameters))
531+
{
525532
mParameters = params;
533+
mParameters.roomSize = scale(mParameters.roomSize, 0.0f, 1.0f, 0.25f, 1.75f);
534+
}
526535
}
527536

528537
////==============================================================================

Source/PluginProcessor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ void RSAlgorithmicVerbAudioProcessor::processBlock (juce::AudioBuffer<float>& bu
323323
reverbParameters.diffusion = parameters.getRawParameterValue("diffusion")->load();
324324
reverbParameters.modDepth = parameters.getRawParameterValue("modDepth")->load();
325325
reverbParameters.modRate = parameters.getRawParameterValue("modRate")->load();
326-
reverbParameters.roomSize = scale(parameters.getRawParameterValue("roomSize")->load(), 0.0f, 1.0f, 0.25f, 1.75f);
326+
reverbParameters.roomSize = parameters.getRawParameterValue("roomSize")->load();
327327

328328
//============ set parameters ============
329329
reverbProcessor->setParameters(reverbParameters);

Source/SpecialFX.cpp

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ void Constellation::prepare(const juce::dsp::ProcessSpec& spec)
2121

2222
delay.prepare(spec);
2323
dampingFilter.prepare(spec);
24+
dcFilter.prepare(spec);
25+
26+
dcFilter.setType(juce::dsp::FirstOrderTPTFilterType::highpass);
27+
dcFilter.setCutoffFrequency(20.0f);
2428

2529
// prepare lfo
2630
lfoParameters.frequency_Hz = 0.25;
@@ -60,32 +64,34 @@ void Constellation::processBlock(juce::AudioBuffer<float>& buffer, juce::MidiBuf
6064
lfoOutput = lfo[channel].renderAudioOutput();
6165

6266
// input + damped feedback into delay
63-
delay.pushSample(channel, channelData[sample] + (dampingFilter.processSample(channel, channelFeedback[channel]) * mParameters.decayTime));
67+
delay.pushSample(channel, channelData[sample] + dcFilter.processSample(channel, dampingFilter.processSample(channel, channelFeedback[channel]) * mParameters.decayTime));
6468
dampingFilter.snapToZero();
69+
dcFilter.snapToZero();
6570

6671
// reset channelData, then sum outputs to channel
6772
channelData[sample] = 0.0f;
6873
for (int delOut = 0; delOut < 4; ++delOut)
6974
{
70-
channelData[sample] += delay.getSampleAtDelay(channel, channelOutDelayTimes[channel][delOut] * mSamplesPerMs) / 2.828f;
75+
channelData[sample] += delay.getSampleAtDelay(channel, channelOutDelayTimes[channel][delOut] * mSamplesPerMs) / 2.0f;
7176
}
7277

7378
// reset feedback, then add delay taps
7479
channelFeedback[channel] = 0.0f;
75-
for (int delFb = 0; delFb < 16; ++delFb)
80+
for (int delTime = 0; delTime < 16; ++delTime)
7681
{
7782
float selectedLfo { 0.0f };
7883

79-
if (delFb % 4 == 0)
84+
if (delTime % 4 == 0)
8085
selectedLfo = lfoOutput.quadPhaseOutput_neg;
81-
else if (delFb % 3 == 0)
86+
else if (delTime % 3 == 0)
8287
selectedLfo = lfoOutput.invertedOutput;
83-
else if (delFb % 2 == 0)
88+
else if (delTime % 2 == 0)
8489
selectedLfo = lfoOutput.quadPhaseOutput_pos;
8590
else
8691
selectedLfo = lfoOutput.normalOutput;
8792

88-
channelFeedback[channel] += delay.getSampleAtDelay(channel, (feedbackDelayTimes[delFb] * mSamplesPerMs * mParameters.roomSize) + (selectedLfo * 32.0f)) / 13.0f;
93+
// modulate from +/- 32 to +/- 64; does not turn fully off to allow for longer tails
94+
channelFeedback[channel] += delay.getSampleAtDelay(channel, (feedbackDelayTimes[delTime] * mSamplesPerMs * mParameters.roomSize) + (selectedLfo * (mParameters.modDepth * 32.0f + 32.0f))) / 7.0f;
8995
}
9096
}
9197
}
@@ -102,6 +108,9 @@ ReverbProcessorParameters& Constellation::getParameters() { return mParameters;
102108
void Constellation::setParameters(const ReverbProcessorParameters& params)
103109
{
104110
if (!(params == mParameters))
111+
{
105112
mParameters = params;
113+
mParameters.roomSize = scale(mParameters.roomSize, 0.0f, 1.0f, 0.25f, 4.0f);
114+
}
106115
}
107116

Source/SpecialFX.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ class Constellation : public ReverbProcessorBase
3838
DelayLineWithSampleAccess<float> delay { 22050 };
3939

4040
juce::dsp::FirstOrderTPTFilter<float> dampingFilter;
41+
juce::dsp::FirstOrderTPTFilter<float> dcFilter;
4142

4243
OscillatorParameters lfoParameters;
4344
SignalGenData lfoOutput;

0 commit comments

Comments
 (0)