diff options
Diffstat (limited to 'al/effects/modulator.cpp')
-rw-r--r-- | al/effects/modulator.cpp | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/al/effects/modulator.cpp b/al/effects/modulator.cpp index 070b0998..a6a443f8 100644 --- a/al/effects/modulator.cpp +++ b/al/effects/modulator.cpp @@ -153,7 +153,7 @@ public: {} }; // EaxRingModulatorEffectException -class EaxRingModulatorEffect final : public EaxEffect4<EaxRingModulatorEffectException, EAXRINGMODULATORPROPERTIES> +class EaxRingModulatorEffect final : public EaxEffect4<EaxRingModulatorEffectException> { public: EaxRingModulatorEffect(int eax_version); @@ -193,7 +193,7 @@ private: }; // WaveformValidator struct AllValidator { - void operator()(const Props& all) const + void operator()(const EAXRINGMODULATORPROPERTIES& all) const { FrequencyValidator{}(all.flFrequency); HighPassCutOffValidator{}(all.flHighPassCutOff); @@ -201,33 +201,33 @@ private: } }; // AllValidator - void set_defaults(Props& props) override; + void set_defaults(Props4& props) override; void set_efx_frequency() noexcept; void set_efx_high_pass_cutoff() noexcept; void set_efx_waveform(); void set_efx_defaults() override; - void get(const EaxCall& call, const Props& props) override; - void set(const EaxCall& call, Props& props) override; - bool commit_props(const Props& props) override; + void get(const EaxCall& call, const Props4& props) override; + void set(const EaxCall& call, Props4& props) override; + bool commit_props(const Props4& props) override; }; // EaxRingModulatorEffect EaxRingModulatorEffect::EaxRingModulatorEffect(int eax_version) : EaxEffect4{AL_EFFECT_RING_MODULATOR, eax_version} {} -void EaxRingModulatorEffect::set_defaults(Props& props) +void EaxRingModulatorEffect::set_defaults(Props4& props) { - props.flFrequency = EAXRINGMODULATOR_DEFAULTFREQUENCY; - props.flHighPassCutOff = EAXRINGMODULATOR_DEFAULTHIGHPASSCUTOFF; - props.ulWaveform = EAXRINGMODULATOR_DEFAULTWAVEFORM; + props.mModulator.flFrequency = EAXRINGMODULATOR_DEFAULTFREQUENCY; + props.mModulator.flHighPassCutOff = EAXRINGMODULATOR_DEFAULTHIGHPASSCUTOFF; + props.mModulator.ulWaveform = EAXRINGMODULATOR_DEFAULTWAVEFORM; } void EaxRingModulatorEffect::set_efx_frequency() noexcept { al_effect_props_.Modulator.Frequency = clamp( - props_.flFrequency, + props_.mModulator.flFrequency, AL_RING_MODULATOR_MIN_FREQUENCY, AL_RING_MODULATOR_MAX_FREQUENCY); } @@ -235,7 +235,7 @@ void EaxRingModulatorEffect::set_efx_frequency() noexcept void EaxRingModulatorEffect::set_efx_high_pass_cutoff() noexcept { al_effect_props_.Modulator.HighPassCutoff = clamp( - props_.flHighPassCutOff, + props_.mModulator.flHighPassCutOff, AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF, AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF); } @@ -243,7 +243,7 @@ void EaxRingModulatorEffect::set_efx_high_pass_cutoff() noexcept void EaxRingModulatorEffect::set_efx_waveform() { const auto waveform = clamp( - static_cast<ALint>(props_.ulWaveform), + static_cast<ALint>(props_.mModulator.ulWaveform), AL_RING_MODULATOR_MIN_WAVEFORM, AL_RING_MODULATOR_MAX_WAVEFORM); const auto efx_waveform = WaveformFromEmum(waveform); @@ -258,49 +258,49 @@ void EaxRingModulatorEffect::set_efx_defaults() set_efx_waveform(); } -void EaxRingModulatorEffect::get(const EaxCall& call, const Props& props) +void EaxRingModulatorEffect::get(const EaxCall& call, const Props4& props) { switch(call.get_property_id()) { case EAXRINGMODULATOR_NONE: break; - case EAXRINGMODULATOR_ALLPARAMETERS: call.set_value<Exception>(props); break; - case EAXRINGMODULATOR_FREQUENCY: call.set_value<Exception>(props.flFrequency); break; - case EAXRINGMODULATOR_HIGHPASSCUTOFF: call.set_value<Exception>(props.flHighPassCutOff); break; - case EAXRINGMODULATOR_WAVEFORM: call.set_value<Exception>(props.ulWaveform); break; + case EAXRINGMODULATOR_ALLPARAMETERS: call.set_value<Exception>(props.mModulator); break; + case EAXRINGMODULATOR_FREQUENCY: call.set_value<Exception>(props.mModulator.flFrequency); break; + case EAXRINGMODULATOR_HIGHPASSCUTOFF: call.set_value<Exception>(props.mModulator.flHighPassCutOff); break; + case EAXRINGMODULATOR_WAVEFORM: call.set_value<Exception>(props.mModulator.ulWaveform); break; default: fail_unknown_property_id(); } } -void EaxRingModulatorEffect::set(const EaxCall& call, Props& props) +void EaxRingModulatorEffect::set(const EaxCall& call, Props4& props) { switch (call.get_property_id()) { case EAXRINGMODULATOR_NONE: break; - case EAXRINGMODULATOR_ALLPARAMETERS: defer<AllValidator>(call, props); break; - case EAXRINGMODULATOR_FREQUENCY: defer<FrequencyValidator>(call, props.flFrequency); break; - case EAXRINGMODULATOR_HIGHPASSCUTOFF: defer<HighPassCutOffValidator>(call, props.flHighPassCutOff); break; - case EAXRINGMODULATOR_WAVEFORM: defer<WaveformValidator>(call, props.ulWaveform); break; + case EAXRINGMODULATOR_ALLPARAMETERS: defer<AllValidator>(call, props.mModulator); break; + case EAXRINGMODULATOR_FREQUENCY: defer<FrequencyValidator>(call, props.mModulator.flFrequency); break; + case EAXRINGMODULATOR_HIGHPASSCUTOFF: defer<HighPassCutOffValidator>(call, props.mModulator.flHighPassCutOff); break; + case EAXRINGMODULATOR_WAVEFORM: defer<WaveformValidator>(call, props.mModulator.ulWaveform); break; default: fail_unknown_property_id(); } } -bool EaxRingModulatorEffect::commit_props(const Props& props) +bool EaxRingModulatorEffect::commit_props(const Props4& props) { auto is_dirty = false; - if (props_.flFrequency != props.flFrequency) + if (props_.mModulator.flFrequency != props.mModulator.flFrequency) { is_dirty = true; set_efx_frequency(); } - if (props_.flHighPassCutOff != props.flHighPassCutOff) + if (props_.mModulator.flHighPassCutOff != props.mModulator.flHighPassCutOff) { is_dirty = true; set_efx_high_pass_cutoff(); } - if (props_.ulWaveform != props.ulWaveform) + if (props_.mModulator.ulWaveform != props.mModulator.ulWaveform) { is_dirty = true; set_efx_waveform(); |