summaryrefslogtreecommitdiffstats
path: root/src/effects/effectchainmanager.cpp
diff options
context:
space:
mode:
authorRJ Ryan <rryan@mixxx.org>2014-11-21 02:14:25 -0500
committerRJ Ryan <rryan@mixxx.org>2014-11-21 13:57:05 -0500
commit6456a315d00592f8ede6bc077f80bd10a840d3af (patch)
tree74649b784d8f9b8a8ee1977c91eb6862d6149057 /src/effects/effectchainmanager.cpp
parentc631ab52641bcdd7fec0c6caba54f7d5d2c66d0b (diff)
Refactor equalizer rack and quick effect rack.
* Create dedicated EqualizerRack, QuickEffectRack, and StandardEffectRack classes. * Move all per-rack initialization into a method of the sub-class. * Share common code between EqualizerRack and QuickEffectRack with a PerGroupRack parent class. * Move group formatting methods for rack, chain, and effect to the rack sub-type class. * Keep a strong reference to racks in DlgPrefEq to protect pointer usage and eliminate assumptions that the pointer exists. * Remove filterDepth / filter CO aliases.
Diffstat (limited to 'src/effects/effectchainmanager.cpp')
-rw-r--r--src/effects/effectchainmanager.cpp57
1 files changed, 43 insertions, 14 deletions
diff --git a/src/effects/effectchainmanager.cpp b/src/effects/effectchainmanager.cpp
index 8e7d8e8444..02821fec4e 100644
--- a/src/effects/effectchainmanager.cpp
+++ b/src/effects/effectchainmanager.cpp
@@ -27,32 +27,61 @@ void EffectChainManager::registerGroup(const QString& group) {
}
m_registeredGroups.insert(group);
- foreach (EffectRackPointer pRack, m_effectRacks) {
+ foreach (StandardEffectRackPointer pRack, m_standardEffectRacks) {
pRack->registerGroup(group);
}
}
-EffectRackPointer EffectChainManager::addEffectRack(const QString& group) {
- EffectRackPointer pRack = EffectRackPointer(new EffectRack(
- m_pEffectsManager, this, m_effectRacks.size(), group));
- m_effectRacks.append(pRack);
- m_effectRacksHash.insert(pRack->getGroup(), pRack);
+StandardEffectRackPointer EffectChainManager::addStandardEffectRack() {
+ StandardEffectRackPointer pRack(new StandardEffectRack(
+ m_pEffectsManager, this, m_standardEffectRacks.size()));
+ m_standardEffectRacks.append(pRack);
+ m_effectRacksByGroup.insert(pRack->getGroup(),
+ qSharedPointerDynamicCast<EffectRack>(pRack));
return pRack;
}
-EffectRackPointer EffectChainManager::getEffectRack(int i) {
- if (i < 0 || i >= m_effectRacks.size()) {
- return EffectRackPointer();
+StandardEffectRackPointer EffectChainManager::getStandardEffectRack(int i) {
+ if (i < 0 || i >= m_standardEffectRacks.size()) {
+ return StandardEffectRackPointer();
}
- return m_effectRacks[i];
+ return m_standardEffectRacks[i];
}
-EffectRackPointer EffectChainManager::getEffectRack(const QString& group) {
- return m_effectRacksHash.value(group);
+EqualizerRackPointer EffectChainManager::addEqualizerRack() {
+ EqualizerRackPointer pRack(new EqualizerRack(
+ m_pEffectsManager, this, m_equalizerEffectRacks.size()));
+ m_equalizerEffectRacks.append(pRack);
+ m_effectRacksByGroup.insert(pRack->getGroup(),
+ qSharedPointerDynamicCast<EffectRack>(pRack));
+ return pRack;
+}
+
+EqualizerRackPointer EffectChainManager::getEqualizerRack(int i) {
+ if (i < 0 || i >= m_equalizerEffectRacks.size()) {
+ return EqualizerRackPointer();
+ }
+ return m_equalizerEffectRacks[i];
+}
+
+QuickEffectRackPointer EffectChainManager::addQuickEffectRack() {
+ QuickEffectRackPointer pRack(new QuickEffectRack(
+ m_pEffectsManager, this, m_quickEffectRacks.size()));
+ m_quickEffectRacks.append(pRack);
+ m_effectRacksByGroup.insert(pRack->getGroup(),
+ qSharedPointerDynamicCast<EffectRack>(pRack));
+ return pRack;
+}
+
+QuickEffectRackPointer EffectChainManager::getQuickEffectRack(int i) {
+ if (i < 0 || i >= m_quickEffectRacks.size()) {
+ return QuickEffectRackPointer();
+ }
+ return m_quickEffectRacks[i];
}
-int EffectChainManager::getEffectRacksSize() {
- return m_effectRacks.size();
+EffectRackPointer EffectChainManager::getEffectRack(const QString& group) {
+ return m_effectRacksByGroup.value(group);
}
void EffectChainManager::addEffectChain(EffectChainPointer pEffectChain) {