diff options
author | RJ Ryan <rryan@mixxx.org> | 2014-11-21 02:14:25 -0500 |
---|---|---|
committer | RJ Ryan <rryan@mixxx.org> | 2014-11-21 13:57:05 -0500 |
commit | 6456a315d00592f8ede6bc077f80bd10a840d3af (patch) | |
tree | 74649b784d8f9b8a8ee1977c91eb6862d6149057 /src/effects/effectchainmanager.cpp | |
parent | c631ab52641bcdd7fec0c6caba54f7d5d2c66d0b (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.cpp | 57 |
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) { |