diff options
author | Kshitij Gupta <kgupta119@gmail.com> | 2018-06-16 15:34:51 +0530 |
---|---|---|
committer | Kshitij Gupta <kgupta119@gmail.com> | 2018-10-18 06:41:11 +0530 |
commit | 5502ecd5ff0f462049c18ff855e9299fd368438d (patch) | |
tree | 1b89de62577161ea48ffddbf769f60e2b44b4bb1 /src/effects/effectchainmanager.cpp | |
parent | 052fd744c53e167148fe12ef16c2c3b6b2dfc579 (diff) |
Removed EffectChainManager layer
- Removed the superfluous class `EffectChainManager` whose functionality is now shifted to `EffectsManager`
- Updated EffectProcessor to fix the circular include problem during compilation
NOTE: XML saving/loading of effects is broken and will be re-implemented in the new architecture
Diffstat (limited to 'src/effects/effectchainmanager.cpp')
-rw-r--r-- | src/effects/effectchainmanager.cpp | 237 |
1 files changed, 0 insertions, 237 deletions
diff --git a/src/effects/effectchainmanager.cpp b/src/effects/effectchainmanager.cpp deleted file mode 100644 index 682fc71f0a..0000000000 --- a/src/effects/effectchainmanager.cpp +++ /dev/null @@ -1,237 +0,0 @@ -#include "effects/effectchainmanager.h" -#include "effects/effectsmanager.h" -#include "effects/effectxmlelements.h" - -#include <QtDebug> -#include <QDomDocument> -#include <QFile> -#include <QDir> - -EffectChainManager::EffectChainManager(UserSettingsPointer pConfig, - EffectsManager* pEffectsManager) - : QObject(pEffectsManager), - m_pConfig(pConfig), - m_pEffectsManager(pEffectsManager) { -} - -EffectChainManager::~EffectChainManager() { - //qDebug() << debugString() << "destroyed"; -} - -void EffectChainManager::registerInputChannel(const ChannelHandleAndGroup& handle_group) { - VERIFY_OR_DEBUG_ASSERT(!m_registeredInputChannels.contains(handle_group)) { - return; - } - m_registeredInputChannels.insert(handle_group); - - for (auto& pRack : m_standardEffectRacks) { - pRack->registerInputChannel(handle_group); - } -} - -void EffectChainManager::registerOutputChannel(const ChannelHandleAndGroup& handle_group) { - VERIFY_OR_DEBUG_ASSERT(!m_registeredOutputChannels.contains(handle_group)) { - return; - } - m_registeredOutputChannels.insert(handle_group); -} - -StandardEffectRackPointer EffectChainManager::addStandardEffectRack() { - StandardEffectRackPointer pRack(new StandardEffectRack( - m_pEffectsManager, this, m_standardEffectRacks.size())); - m_standardEffectRacks.append(pRack); - m_effectRacksByGroup.insert(pRack->getGroup(), pRack); - return pRack; -} - -StandardEffectRackPointer EffectChainManager::getStandardEffectRack(int i) { - if (i < 0 || i >= m_standardEffectRacks.size()) { - return StandardEffectRackPointer(); - } - return m_standardEffectRacks[i]; -} - -EqualizerRackPointer EffectChainManager::addEqualizerRack() { - EqualizerRackPointer pRack(new EqualizerRack( - m_pEffectsManager, this, m_equalizerEffectRacks.size())); - m_equalizerEffectRacks.append(pRack); - m_effectRacksByGroup.insert(pRack->getGroup(), 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(), pRack); - return pRack; -} - -QuickEffectRackPointer EffectChainManager::getQuickEffectRack(int i) { - if (i < 0 || i >= m_quickEffectRacks.size()) { - return QuickEffectRackPointer(); - } - return m_quickEffectRacks[i]; -} - -OutputEffectRackPointer EffectChainManager::addOutputsEffectRack() { - OutputEffectRackPointer pRack(new OutputEffectRack( - m_pEffectsManager, this)); - m_pOutputEffectRack = pRack; - m_effectRacksByGroup.insert(pRack->getGroup(), pRack); - return m_pOutputEffectRack; -} - -OutputEffectRackPointer EffectChainManager::getMasterEffectRack() { - return m_pOutputEffectRack; -} - -EffectRackPointer EffectChainManager::getEffectRack(const QString& group) { - return m_effectRacksByGroup.value(group); -} - -void EffectChainManager::addEffectChain(EffectChainSlotPointer pEffectChainSlot) { - if (pEffectChainSlot) { - m_effectChainSlots.append(pEffectChainSlot); - } -} - -void EffectChainManager::removeEffectChain(EffectChainSlotPointer pEffectChainSlot) { - if (pEffectChainSlot) { - m_effectChainSlots.removeAll(pEffectChainSlot); - } -} - -EffectChainSlotPointer EffectChainManager::getNextEffectChain(EffectChainSlotPointer pEffectChainSlot) { - if (m_effectChainSlots.isEmpty()) - return EffectChainSlotPointer(); - - if (!pEffectChainSlot) { - return m_effectChainSlots[0]; - } - - int indexOf = m_effectChainSlots.lastIndexOf(pEffectChainSlot); - if (indexOf == -1) { - qWarning() << debugString() << "WARNING: getNextEffectChain called for an unmanaged EffectChain"; - return m_effectChainSlots[0]; - } - - return m_effectChainSlots[(indexOf + 1) % m_effectChainSlots.size()]; -} - -EffectChainSlotPointer EffectChainManager::getPrevEffectChain(EffectChainSlotPointer pEffectChainSlot) { - if (m_effectChainSlots.isEmpty()) - return EffectChainSlotPointer(); - - if (!pEffectChainSlot) { - return m_effectChainSlots[m_effectChainSlots.size()-1]; - } - - int indexOf = m_effectChainSlots.lastIndexOf(pEffectChainSlot); - if (indexOf == -1) { - qWarning() << debugString() << "WARNING: getPrevEffectChain called for an unmanaged EffectChain"; - return m_effectChainSlots[m_effectChainSlots.size()-1]; - } - - return m_effectChainSlots[(indexOf - 1 + m_effectChainSlots.size()) % m_effectChainSlots.size()]; -} - -void EffectChainManager::refeshAllRacks() { - for (const auto& pRack: m_standardEffectRacks) { - pRack->refresh(); - } - for (const auto& pRack: m_equalizerEffectRacks) { - pRack->refresh(); - } - for (const auto& pRack: m_quickEffectRacks) { - pRack->refresh(); - } -} - -// NOTE(Kshitij) : Use Effect Preset in constructor -// bool EffectChainManager::saveEffectChains() { -// QDomDocument doc("MixxxEffects"); - -// QString blank = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" -// "<" + EffectXml::Root + " schemaVersion=\"" + -// QString::number(EffectXml::kXmlSchemaVersion) + "\">\n" -// "</" + EffectXml::Root + ">\n"; -// doc.setContent(blank); - -// QDomElement rootNode = doc.documentElement(); - -// for (EffectRackPointer pRack : m_standardEffectRacks) { -// rootNode.appendChild(pRack->toXml(&doc)); -// } -// // TODO? Save QuickEffects in effects.xml too, or keep stored in ConfigObjects? -// // foreach(EffectRackPointer pRack, m_quickEffectRacks) { -// // rootNode.appendChild(pRack->toXML(&doc)); -// // } - -// QDir settingsPath(m_pConfig->getSettingsPath()); - -// if (!settingsPath.exists()) { -// return false; -// } - -// QFile file(settingsPath.absoluteFilePath("effects.xml")); - -// // TODO(rryan): overwrite the right way. -// if (!file.open(QIODevice::Truncate | QIODevice::WriteOnly)) { -// return false; -// } - -// QString effectsXml = doc.toString(); -// file.write(effectsXml.toUtf8()); -// file.close(); -// return true; -// } - -// NOTE(Kshitij) : Use EffectPreset to load effect chains -// void EffectChainManager::loadEffectChains() { -// QDir settingsPath(m_pConfig->getSettingsPath()); -// QFile file(settingsPath.absoluteFilePath("effects.xml")); -// QDomDocument doc; - -// QDomElement emptyChainElement = doc.createElement(EffectXml::Chain); -// // Check that XML file can be opened and is valid XML -// if (!file.open(QIODevice::ReadOnly) || !doc.setContent(&file)) { -// return; -// } - -// QDomElement root = doc.documentElement(); -// QDomElement rackElement = XmlParse::selectElement(root, EffectXml::Rack); -// QDomElement chainsElement = XmlParse::selectElement(rackElement, EffectXml::ChainsRoot); -// QDomNodeList chainsList = chainsElement.elementsByTagName(EffectXml::Chain); - -// for (int i = 0; i < chainsList.count(); ++i) { -// QDomNode chainNode = chainsList.at(i); - -// if (chainNode.isElement()) { -// QDomElement chainElement = chainNode.toElement(); -// EffectChainPointer pChain = EffectChain::createFromXml( -// m_pEffectsManager, chainElement); -// if (pChain) { // null = ejected chains. -// // Note(Kshitij) : Add the effect chain to standardEffectRack -// EffectChainSlotPointer pChainSlot = getStandardEffectRack(0)->getEffectChainSlot(i); -// if (pChainSlot) { -// pChainSlot->loadEffectChainToSlot(pChain); -// pChainSlot->loadChainSlotFromXml(chainElement); -// pChain->addToEngine(getStandardEffectRack(0)->getEngineEffectRack(), i); -// pChain->updateEngineState(); -// } -// } -// } -// } -// } - -bool EffectChainManager::isAdoptMetaknobValueEnabled() const { - return m_pConfig->getValue(ConfigKey("[Effects]", "AdoptMetaknobValue"), true); -} |