summaryrefslogtreecommitdiffstats
path: root/src/effects/effectchainslot.cpp
diff options
context:
space:
mode:
authorKshitij Gupta <kgupta119@gmail.com>2018-06-18 20:20:26 +0530
committerKshitij Gupta <kgupta119@gmail.com>2018-10-18 06:41:11 +0530
commita7cd3a7266cd97e27e976aec74bfd0d4affb6f92 (patch)
tree12e969a6ebb6eda32f746d575b6fa9d6af9f6ac6 /src/effects/effectchainslot.cpp
parent5502ecd5ff0f462049c18ff855e9299fd368438d (diff)
Removed EngineEffectRack layer
- Removed the superfluous layer `EngineEffectRack` above all the effect chains in the engine NOTE: XML saving/loading of effects is broken and will be re-implemented in the new architecture
Diffstat (limited to 'src/effects/effectchainslot.cpp')
-rw-r--r--src/effects/effectchainslot.cpp25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/effects/effectchainslot.cpp b/src/effects/effectchainslot.cpp
index bd2ce029fc..62b9e8c243 100644
--- a/src/effects/effectchainslot.cpp
+++ b/src/effects/effectchainslot.cpp
@@ -9,7 +9,6 @@
#include "effects/effectsmanager.h"
#include "effects/effectxmlelements.h"
#include "engine/effects/engineeffectchain.h"
-#include "engine/effects/engineeffectrack.h"
#include "engine/effects/message.h"
#include "engine/engine.h"
#include "mixer/playermanager.h"
@@ -108,7 +107,7 @@ EffectChainSlot::EffectChainSlot(EffectRack* pRack, const QString& group,
true);
m_pControlChainFocusedEffect->setButtonMode(ControlPushButton::TOGGLE);
- addToEngine(m_pEffectRack->getEngineEffectRack(), m_iChainSlotNumber);
+ addToEngine(m_iChainSlotNumber);
}
EffectChainSlot::~EffectChainSlot() {
@@ -136,18 +135,18 @@ EffectChainSlot::~EffectChainSlot() {
}
m_slots.clear();
- removeFromEngine(m_pEffectRack->getEngineEffectRack(), m_iChainSlotNumber);
+ removeFromEngine(m_iChainSlotNumber);
}
-void EffectChainSlot::addToEngine(EngineEffectRack* pRack, int iIndex) {
+void EffectChainSlot::addToEngine(int iIndex) {
m_pEngineEffectChain = new EngineEffectChain(m_id,
m_pEffectsManager->registeredInputChannels(),
m_pEffectsManager->registeredOutputChannels());
EffectsRequest* pRequest = new EffectsRequest();
- pRequest->type = EffectsRequest::ADD_CHAIN_TO_RACK;
- pRequest->pTargetRack = pRack;
- pRequest->AddChainToRack.pChain = m_pEngineEffectChain;
- pRequest->AddChainToRack.iIndex = iIndex;
+ pRequest->type = EffectsRequest::ADD_EFFECT_CHAIN;
+ pRequest->AddEffectChain.signalProcessingStage = m_pEffectRack->getSignalProcessingStage();
+ pRequest->AddEffectChain.pChain = m_pEngineEffectChain;
+ pRequest->AddEffectChain.iIndex = iIndex;
m_pEffectsManager->writeRequest(pRequest);
// Add all effects.
@@ -161,7 +160,7 @@ void EffectChainSlot::addToEngine(EngineEffectRack* pRack, int iIndex) {
sendParameterUpdate();
}
-void EffectChainSlot::removeFromEngine(EngineEffectRack* pRack, int iIndex) {
+void EffectChainSlot::removeFromEngine(int iIndex) {
// Order doesn't matter when removing.
for (int i = 0; i < m_effects.size(); ++i) {
EffectPointer pEffect = m_effects[i];
@@ -171,10 +170,10 @@ void EffectChainSlot::removeFromEngine(EngineEffectRack* pRack, int iIndex) {
}
EffectsRequest* pRequest = new EffectsRequest();
- pRequest->type = EffectsRequest::REMOVE_CHAIN_FROM_RACK;
- pRequest->pTargetRack = pRack;
- pRequest->RemoveChainFromRack.pChain = m_pEngineEffectChain;
- pRequest->RemoveChainFromRack.iIndex = iIndex;
+ pRequest->type = EffectsRequest::REMOVE_EFFECT_CHAIN;
+ pRequest->RemoveEffectChain.signalProcessingStage = m_pEffectRack->getSignalProcessingStage();
+ pRequest->RemoveEffectChain.pChain = m_pEngineEffectChain;
+ pRequest->RemoveEffectChain.iIndex = iIndex;
m_pEffectsManager->writeRequest(pRequest);
m_pEngineEffectChain = nullptr;