1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#include "effects/chains/equalizereffectchain.h"
#include "effects/effectslot.h"
EqualizerEffectChain::EqualizerEffectChain(
const ChannelHandleAndGroup& handleAndGroup,
EffectsManager* pEffectsManager,
EffectsMessengerPointer pEffectsMessenger)
: PerGroupEffectChain(
handleAndGroup,
formatEffectChainGroup(handleAndGroup.name()),
SignalProcessingStage::Prefader,
pEffectsManager,
pEffectsMessenger),
m_pCOFilterWaveform(
new ControlObject(ConfigKey(handleAndGroup.name(), "filterWaveformEnable"))) {
// Add a single effect slot
addEffectSlot(formatEffectSlotGroup(handleAndGroup.name()));
enableForInputChannel(handleAndGroup);
m_effectSlots[0]->setEnabled(true);
QObject::connect(this,
&EffectChain::chainPresetChanged,
this,
[this](const QString& presetname) {
Q_UNUSED(presetname);
setFilterWaveform(
m_effectSlots.at(0)->getManifest()->isMixingEQ());
});
// DlgPrefEq loads the Effect with loadEffectToGroup
setupLegacyAliasesForGroup(handleAndGroup.name());
}
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"));
}
}
|