From 7b0a0d524db99e2b3511e1c196dd15a68ca92371 Mon Sep 17 00:00:00 2001 From: Be Date: Fri, 12 Mar 2021 14:21:03 -0600 Subject: split EffectChain subclasses into separate files --- src/effects/chains/equalizereffectchain.cpp | 77 +++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 src/effects/chains/equalizereffectchain.cpp (limited to 'src/effects/chains/equalizereffectchain.cpp') diff --git a/src/effects/chains/equalizereffectchain.cpp b/src/effects/chains/equalizereffectchain.cpp new file mode 100644 index 0000000000..4b5e7ce347 --- /dev/null +++ b/src/effects/chains/equalizereffectchain.cpp @@ -0,0 +1,77 @@ +#include "effects/chains/equalizereffectchain.h" + +#include "effects/effectslot.h" + +EqualizerEffectChain::EqualizerEffectChain(const QString& group, + EffectsManager* pEffectsManager, + EffectsMessengerPointer pEffectsMessenger) + : PerGroupEffectChain(group, + formatEffectChainGroup(group), + SignalProcessingStage::Prefader, + pEffectsManager, + pEffectsMessenger), + m_pCOFilterWaveform( + new ControlObject(ConfigKey(group, "filterWaveformEnable"))) { + // Add a single effect slot + addEffectSlot(formatEffectSlotGroup(group)); + m_effectSlots[0]->setEnabled(true); + // DlgPrefEq loads the Effect with loadEffectToGroup + + setupLegacyAliasesForGroup(group); +} + +void EqualizerEffectChain::setFilterWaveform(bool state) { + m_pCOFilterWaveform->set(state); +} + +QString EqualizerEffectChain::formatEffectChainGroup(const QString& group) { + return QString("[EqualizerRack1_%1]").arg(group); +} + +QString EqualizerEffectChain::formatEffectSlotGroup(const QString& group) { + return QString("[EqualizerRack1_%1_Effect1]") + .arg(group); +} + +void EqualizerEffectChain::setupLegacyAliasesForGroup(const QString& group) { + // Create aliases for legacy EQ controls. + EffectSlotPointer pEffectSlot = getEffectSlot(0); + if (pEffectSlot) { + const QString& effectSlotGroup = pEffectSlot->getGroup(); + ControlDoublePrivate::insertAlias(ConfigKey(group, "filterLow"), + ConfigKey(effectSlotGroup, "parameter1")); + + ControlDoublePrivate::insertAlias(ConfigKey(group, "filterMid"), + ConfigKey(effectSlotGroup, "parameter2")); + + ControlDoublePrivate::insertAlias(ConfigKey(group, "filterHigh"), + ConfigKey(effectSlotGroup, "parameter3")); + + ControlDoublePrivate::insertAlias(ConfigKey(group, "filterLowKill"), + ConfigKey(effectSlotGroup, "button_parameter1")); + + ControlDoublePrivate::insertAlias(ConfigKey(group, "filterMidKill"), + ConfigKey(effectSlotGroup, "button_parameter2")); + + ControlDoublePrivate::insertAlias(ConfigKey(group, "filterHighKill"), + ConfigKey(effectSlotGroup, "button_parameter3")); + + ControlDoublePrivate::insertAlias(ConfigKey(group, "filterLow_loaded"), + ConfigKey(effectSlotGroup, "parameter1_loaded")); + + ControlDoublePrivate::insertAlias(ConfigKey(group, "filterMid_loaded"), + ConfigKey(effectSlotGroup, "parameter2_loaded")); + + ControlDoublePrivate::insertAlias(ConfigKey(group, "filterHigh_loaded"), + ConfigKey(effectSlotGroup, "parameter3_loaded")); + + ControlDoublePrivate::insertAlias(ConfigKey(group, "filterLowKill_loaded"), + ConfigKey(effectSlotGroup, "button_parameter1_loaded")); + + ControlDoublePrivate::insertAlias(ConfigKey(group, "filterMidKill_loaded"), + ConfigKey(effectSlotGroup, "button_parameter2_loaded")); + + ControlDoublePrivate::insertAlias(ConfigKey(group, "filterHighKill_loaded"), + ConfigKey(effectSlotGroup, "button_parameter3_loaded")); + } +} -- cgit v1.2.3