summaryrefslogtreecommitdiffstats
path: root/src/effects/effectchainmanager.cpp
diff options
context:
space:
mode:
authorRJ Ryan <rryan@mixxx.org>2013-12-02 16:41:04 -0500
committerRJ Ryan <rryan@mixxx.org>2013-12-02 16:41:04 -0500
commit359b21e29bc3981e8dc0cee42ef3b2de53e9da4c (patch)
treedf9b88e9cb141e02508b572a27e998906ddce5de /src/effects/effectchainmanager.cpp
parent470ed719c5a117c988990cead10f0fb7164814da (diff)
Add EffectRack to wrap EffectChainSlots and contain logic related to effect racks.
Diffstat (limited to 'src/effects/effectchainmanager.cpp')
-rw-r--r--src/effects/effectchainmanager.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/effects/effectchainmanager.cpp b/src/effects/effectchainmanager.cpp
index 2ff4e09543..6d0c9b0c01 100644
--- a/src/effects/effectchainmanager.cpp
+++ b/src/effects/effectchainmanager.cpp
@@ -12,6 +12,33 @@ EffectChainManager::~EffectChainManager() {
qDebug() << debugString() << "destroyed";
}
+void EffectChainManager::registerGroup(const QString& group) {
+ if (m_registeredGroups.contains(group)) {
+ qDebug() << debugString() << "WARNING: Group already registered:"
+ << group;
+ return;
+ }
+ m_registeredGroups.insert(group);
+
+ foreach (EffectRackPointer pRack, m_effectRacks) {
+ pRack->registerGroup(group);
+ }
+}
+
+EffectRackPointer EffectChainManager::addEffectRack() {
+ EffectRackPointer pRack = EffectRackPointer(new EffectRack(
+ this, m_effectRacks.size()));
+ m_effectRacks.append(pRack);
+ return pRack;
+}
+
+EffectRackPointer EffectChainManager::getEffectRack(int i) {
+ if (i < 0 || i >= m_effectRacks.size()) {
+ return EffectRackPointer();
+ }
+ return m_effectRacks[i];
+}
+
void EffectChainManager::addEffectChain(EffectChainPointer pEffectChain) {
if (pEffectChain) {
m_effectChains.append(pEffectChain);