Skip to content

Commit da65ee8

Browse files
authored
Add missing virtual overrides to reverbs (#808)
Corrects Issue #803
1 parent af7ecf2 commit da65ee8

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/AudioLibs/AudioSTK.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,14 @@ class STKEcho : public AudioEffect, public stk::Echo {
174174
class STKFreeVerb : public AudioEffect, public stk::FreeVerb {
175175
public:
176176
STKFreeVerb() = default;
177+
STKFreeVerb(const STKFreeVerb& copy) = default;
178+
AudioEffect* clone() override{
179+
return new STKFreeVerb(*this);
180+
}
181+
StkFloat tick (StkFloat input, unsigned int channel=0) override
182+
{
183+
return FreeVerb::tick(input, input, channel);
184+
}
177185
virtual effect_t process(effect_t in) {
178186
// just convert between int16 and float
179187
float value = static_cast<float>(in) / 32767.0;
@@ -190,6 +198,10 @@ class STKFreeVerb : public AudioEffect, public stk::FreeVerb {
190198
class STKChowningReverb : public AudioEffect, public stk::JCRev {
191199
public:
192200
STKChowningReverb() = default;
201+
STKChowningReverb(const STKChowningReverb& copy) = default;
202+
AudioEffect* clone() override{
203+
return new STKChowningReverb(*this);
204+
}
193205

194206
virtual effect_t process(effect_t in) {
195207
// just convert between int16 and float
@@ -207,6 +219,10 @@ class STKChowningReverb : public AudioEffect, public stk::JCRev {
207219
class STKNReverb : public AudioEffect, public stk::NRev {
208220
public:
209221
STKNReverb(float t60 = 1.0) : NRev(t60) {}
222+
STKNReverb(const STKNReverb& copy) = default;
223+
AudioEffect* clone() override{
224+
return new STKNReverb(*this);
225+
}
210226
virtual effect_t process(effect_t in) {
211227
// just convert between int16 and float
212228
float value = static_cast<float>(in) / 32767.0;
@@ -223,6 +239,10 @@ class STKNReverb : public AudioEffect, public stk::NRev {
223239
class STKPerryReverb : public AudioEffect, public stk::PRCRev {
224240
public:
225241
STKPerryReverb(float t60 = 1.0) : PRCRev(t60) {}
242+
STKPerryReverb(const STKPerryReverb& copy) = default;
243+
AudioEffect* clone() override{
244+
return new STKPerryReverb(*this);
245+
}
226246
virtual effect_t process(effect_t in) {
227247
// just convert between int16 and float
228248
float value = static_cast<float>(in) / 32767.0;

0 commit comments

Comments
 (0)