aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/effects/modulator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/effects/modulator.cpp')
-rw-r--r--Alc/effects/modulator.cpp17
1 files changed, 4 insertions, 13 deletions
diff --git a/Alc/effects/modulator.cpp b/Alc/effects/modulator.cpp
index 9790af79..e96859f7 100644
--- a/Alc/effects/modulator.cpp
+++ b/Alc/effects/modulator.cpp
@@ -197,29 +197,20 @@ static ALvoid ALmodulatorState_process(ALmodulatorState *state, ALsizei SamplesT
struct ModulatorStateFactory final : public EffectStateFactory {
- ModulatorStateFactory() noexcept;
+ ALeffectState *create() override;
};
-static ALeffectState *ModulatorStateFactory_create(ModulatorStateFactory *UNUSED(factory))
+ALeffectState *ModulatorStateFactory::create()
{
ALmodulatorState *state;
-
NEW_OBJ0(state, ALmodulatorState)();
- if(!state) return NULL;
-
- return STATIC_CAST(ALeffectState, state);
+ return state;
}
-DEFINE_EFFECTSTATEFACTORY_VTABLE(ModulatorStateFactory);
-
-ModulatorStateFactory::ModulatorStateFactory() noexcept
- : EffectStateFactory{GET_VTABLE2(ModulatorStateFactory, EffectStateFactory)}
-{ }
-
EffectStateFactory *ModulatorStateFactory_getFactory(void)
{
static ModulatorStateFactory ModulatorFactory{};
- return STATIC_CAST(EffectStateFactory, &ModulatorFactory);
+ return &ModulatorFactory;
}