Skip to content

Commit f0e2593

Browse files
committed
Fix for MVerb
1 parent 2d19311 commit f0e2593

File tree

2 files changed

+33
-31
lines changed

2 files changed

+33
-31
lines changed

src/effect_audio/effect_mverb.cpp

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,24 @@
99

1010
AudioEffectMVerb::AudioEffectMVerb(float32_t samplerate) : AudioEffect(samplerate)
1111
{
12-
fVerb.setSampleRate(samplerate);
12+
fVerb = new MVerb<float>();
13+
fVerb->setSampleRate(samplerate);
1314

14-
fVerb.setParameter(MVerb<float>::DAMPINGFREQ, 0.5f);
15-
fVerb.setParameter(MVerb<float>::DENSITY, 0.5f);
16-
fVerb.setParameter(MVerb<float>::BANDWIDTHFREQ, 0.5f);
17-
fVerb.setParameter(MVerb<float>::DECAY, 0.5f);
18-
fVerb.setParameter(MVerb<float>::PREDELAY, 0.5f);
19-
fVerb.setParameter(MVerb<float>::SIZE, 0.75f);
20-
fVerb.setParameter(MVerb<float>::GAIN, 1.0f);
21-
fVerb.setParameter(MVerb<float>::MIX, 0.5f);
22-
fVerb.setParameter(MVerb<float>::EARLYMIX, 0.5f);
23-
fVerb.reset();
15+
fVerb->setParameter(MVerb<float>::DAMPINGFREQ, 0.5f);
16+
fVerb->setParameter(MVerb<float>::DENSITY, 0.5f);
17+
fVerb->setParameter(MVerb<float>::BANDWIDTHFREQ, 0.5f);
18+
fVerb->setParameter(MVerb<float>::DECAY, 0.5f);
19+
fVerb->setParameter(MVerb<float>::PREDELAY, 0.5f);
20+
fVerb->setParameter(MVerb<float>::SIZE, 0.75f);
21+
fVerb->setParameter(MVerb<float>::GAIN, 1.0f);
22+
fVerb->setParameter(MVerb<float>::MIX, 0.5f);
23+
fVerb->setParameter(MVerb<float>::EARLYMIX, 0.5f);
24+
fVerb->reset();
2425
}
2526

2627
AudioEffectMVerb::~AudioEffectMVerb()
2728
{
29+
delete fVerb;
2830
}
2931

3032
void AudioEffectMVerb::initializeSendFX()
@@ -40,31 +42,31 @@ void AudioEffectMVerb::setParameter(unsigned param, unsigned value)
4042
this->setBypass(value == 1);
4143
break;
4244
case AudioEffectMVerb::Param::DAMPINGFREQ:
43-
fVerb.setParameter(MVerb<float>::DAMPINGFREQ, (float) value / 100.0f);
45+
fVerb->setParameter(MVerb<float>::DAMPINGFREQ, (float) value / 100.0f);
4446
break;
4547
case AudioEffectMVerb::Param::DENSITY:
46-
fVerb.setParameter(MVerb<float>::DENSITY, (float) value / 100.0f);
48+
fVerb->setParameter(MVerb<float>::DENSITY, (float) value / 100.0f);
4749
break;
4850
case AudioEffectMVerb::Param::BANDWIDTHFREQ:
49-
fVerb.setParameter(MVerb<float>::BANDWIDTHFREQ, (float) value / 100.0f);
51+
fVerb->setParameter(MVerb<float>::BANDWIDTHFREQ, (float) value / 100.0f);
5052
break;
5153
case AudioEffectMVerb::Param::DECAY:
52-
fVerb.setParameter(MVerb<float>::DECAY, (float) value / 100.0f);
54+
fVerb->setParameter(MVerb<float>::DECAY, (float) value / 100.0f);
5355
break;
5456
case AudioEffectMVerb::Param::PREDELAY:
55-
fVerb.setParameter(MVerb<float>::PREDELAY, (float) value / 100.0f);
57+
fVerb->setParameter(MVerb<float>::PREDELAY, (float) value / 100.0f);
5658
break;
5759
case AudioEffectMVerb::Param::SIZE:
58-
fVerb.setParameter(MVerb<float>::SIZE, (float) value / 100.0f);
60+
fVerb->setParameter(MVerb<float>::SIZE, (float) value / 100.0f);
5961
break;
6062
case AudioEffectMVerb::Param::GAIN:
61-
fVerb.setParameter(MVerb<float>::GAIN, (float) value / 100.0f);
63+
fVerb->setParameter(MVerb<float>::GAIN, (float) value / 100.0f);
6264
break;
6365
case AudioEffectMVerb::Param::MIX:
64-
fVerb.setParameter(MVerb<float>::MIX, (float) value / 100.0f);
66+
fVerb->setParameter(MVerb<float>::MIX, (float) value / 100.0f);
6567
break;
6668
case AudioEffectMVerb::Param::EARLYMIX:
67-
fVerb.setParameter(MVerb<float>::EARLYMIX, (float) value / 100.0f);
69+
fVerb->setParameter(MVerb<float>::EARLYMIX, (float) value / 100.0f);
6870
break;
6971
default:
7072
break;
@@ -78,23 +80,23 @@ unsigned AudioEffectMVerb::getParameter(unsigned param)
7880
case AudioEffectMVerb::Param::BYPASS:
7981
return this->getBypass() ? 1 : 0;
8082
case AudioEffectMVerb::Param::DAMPINGFREQ:
81-
return roundf(fVerb.getParameter(MVerb<float>::DAMPINGFREQ) * 100);
83+
return roundf(fVerb->getParameter(MVerb<float>::DAMPINGFREQ) * 100);
8284
case AudioEffectMVerb::Param::DENSITY:
83-
return roundf(fVerb.getParameter(MVerb<float>::DENSITY) * 100);
85+
return roundf(fVerb->getParameter(MVerb<float>::DENSITY) * 100);
8486
case AudioEffectMVerb::Param::BANDWIDTHFREQ:
85-
return roundf(fVerb.getParameter(MVerb<float>::BANDWIDTHFREQ) * 100);
87+
return roundf(fVerb->getParameter(MVerb<float>::BANDWIDTHFREQ) * 100);
8688
case AudioEffectMVerb::Param::DECAY:
87-
return roundf(fVerb.getParameter(MVerb<float>::DECAY) * 100);
89+
return roundf(fVerb->getParameter(MVerb<float>::DECAY) * 100);
8890
case AudioEffectMVerb::Param::PREDELAY:
89-
return roundf(fVerb.getParameter(MVerb<float>::PREDELAY) * 100);
91+
return roundf(fVerb->getParameter(MVerb<float>::PREDELAY) * 100);
9092
case AudioEffectMVerb::Param::SIZE:
91-
return roundf(fVerb.getParameter(MVerb<float>::SIZE) * 100);
93+
return roundf(fVerb->getParameter(MVerb<float>::SIZE) * 100);
9294
case AudioEffectMVerb::Param::GAIN:
93-
return roundf(fVerb.getParameter(MVerb<float>::GAIN) * 100);
95+
return roundf(fVerb->getParameter(MVerb<float>::GAIN) * 100);
9496
case AudioEffectMVerb::Param::MIX:
95-
return roundf(fVerb.getParameter(MVerb<float>::MIX) * 100);
97+
return roundf(fVerb->getParameter(MVerb<float>::MIX) * 100);
9698
case AudioEffectMVerb::Param::EARLYMIX:
97-
return roundf(fVerb.getParameter(MVerb<float>::EARLYMIX) * 100);
99+
return roundf(fVerb->getParameter(MVerb<float>::EARLYMIX) * 100);
98100
default:
99101
return 0;
100102
}
@@ -111,6 +113,6 @@ void AudioEffectMVerb::doProcess(const float32_t* inblockL, const float32_t* inb
111113
outputs[0] = outblockL;
112114
outputs[1] = outblockR;
113115

114-
fVerb.process(inputs, outputs, static_cast<int>(len));
116+
fVerb->process(inputs, outputs, static_cast<int>(len));
115117
}
116118

src/effect_audio/effect_mverb.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class AudioEffectMVerb : public AudioEffect
4848
virtual void doProcess(const float32_t* inblockL, const float32_t* inblockR, float32_t* outblockL, float32_t* outblockR, uint16_t len);
4949

5050
private:
51-
MVerb<float> fVerb;
51+
MVerb<float>* fVerb;
5252
};
5353

5454
#endif // _EFFECT_MVERB_H

0 commit comments

Comments
 (0)