summaryrefslogtreecommitdiffstats
path: root/src/effects/effectchainmanager.cpp
diff options
context:
space:
mode:
authorRJ Ryan <rryan@mixxx.org>2013-06-19 01:12:50 -0400
committerRJ Ryan <rryan@mixxx.org>2013-06-19 01:12:50 -0400
commit52d6c28ded7b3d7e9ae3874fc893c6b306147931 (patch)
treea2729bd5686b5c13684510d0196862a76c8aedab /src/effects/effectchainmanager.cpp
parentf62fd9ee125cbd22be97ce5f837f30b8ef443842 (diff)
parent25d57b59dff3947212909634864dd82365c9606b (diff)
Merge branch 'master' into features_effects
Conflicts: res/skins/Outline1024x600-Netbook/keylock-off-Ch1.png res/skins/Outline1024x600-Netbook/keylock-off-Ch2.png res/skins/Outline1024x600-Netbook/keylock-on-Ch1.png res/skins/Outline1024x600-Netbook/keylock-on-Ch2.png
Diffstat (limited to 'src/effects/effectchainmanager.cpp')
-rw-r--r--src/effects/effectchainmanager.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/effects/effectchainmanager.cpp b/src/effects/effectchainmanager.cpp
new file mode 100644
index 0000000000..a77f1fa0dd
--- /dev/null
+++ b/src/effects/effectchainmanager.cpp
@@ -0,0 +1,61 @@
+
+#include "effects/effectchainmanager.h"
+
+#include "effects/effectsmanager.h"
+
+EffectChainManager::EffectChainManager(EffectsManager* pEffectsManager)
+ : QObject(pEffectsManager),
+ m_pEffectsManager(pEffectsManager) {
+}
+
+EffectChainManager::~EffectChainManager() {
+ qDebug() << debugString() << "destroyed";
+}
+
+void EffectChainManager::addEffectChain(EffectChainPointer pEffectChain) {
+ if (pEffectChain) {
+ m_effectChains.append(pEffectChain);
+ }
+}
+
+EffectChainPointer EffectChainManager::getNextEffectChain(EffectChainPointer pEffectChain) {
+ if (m_effectChains.size() == 0)
+ return EffectChainPointer();
+
+ if (!pEffectChain) {
+ return m_effectChains[0];
+ }
+
+ int indexOf = m_effectChains.lastIndexOf(pEffectChain);
+ if (indexOf == -1) {
+ qDebug() << debugString() << "WARNING: getNextEffectChain called for an unmanaged EffectChain";
+ return m_effectChains[0];
+ }
+
+ return m_effectChains[(indexOf + 1) % m_effectChains.size()];
+}
+
+EffectChainPointer EffectChainManager::getPrevEffectChain(EffectChainPointer pEffectChain) {
+ if (m_effectChains.size() == 0)
+ return EffectChainPointer();
+
+ if (!pEffectChain) {
+ return m_effectChains[m_effectChains.size()-1];
+ }
+
+ int indexOf = m_effectChains.lastIndexOf(pEffectChain);
+ if (indexOf == -1) {
+ qDebug() << debugString() << "WARNING: getPrevEffectChain called for an unmanaged EffectChain";
+ return m_effectChains[m_effectChains.size()-1];
+ }
+
+ return m_effectChains[(indexOf - 1 + m_effectChains.size()) % m_effectChains.size()];
+}
+
+void EffectChainManager::saveEffectChains() {
+ qDebug() << debugString() << "saveEffectChains";
+}
+
+void EffectChainManager::loadEffectChains() {
+ qDebug() << debugString() << "loadEffectChains";
+}