summaryrefslogtreecommitdiffstats
path: root/src/effects/effectchainslot.cpp
diff options
context:
space:
mode:
authorBe <be@mixxx.org>2020-05-01 19:47:37 -0500
committerBe <be@mixxx.org>2020-05-01 19:47:37 -0500
commit42e6f287302597be75b1671f36c7c2e50b56ddce (patch)
tree7b87a99cd145aa1c1815262f11d364b24219511f /src/effects/effectchainslot.cpp
parentee3220d849a90ceff1c005f2484464019e6f658b (diff)
do not pass EffectProcessor around for effect loading process
Now that EffectsBackendManager can create EffectProcessors independently of EffectsManager, pass EffectsBackendManager to EngineEffect constructor so it can create the EffectProcessor at the place it is needed.
Diffstat (limited to 'src/effects/effectchainslot.cpp')
-rw-r--r--src/effects/effectchainslot.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/effects/effectchainslot.cpp b/src/effects/effectchainslot.cpp
index befca4e749..a4e61d54c6 100644
--- a/src/effects/effectchainslot.cpp
+++ b/src/effects/effectchainslot.cpp
@@ -198,12 +198,10 @@ void EffectChainSlot::setPresetName(const QString& name) {
void EffectChainSlot::loadEffect(const unsigned int iEffectSlotNumber,
const EffectManifestPointer pManifest,
- std::unique_ptr<EffectProcessor> pProcessor,
EffectPresetPointer pPreset,
bool adoptMetaknobFromPreset) {
m_effectSlots[iEffectSlotNumber]->loadEffect(
pManifest,
- std::move(pProcessor),
pPreset,
m_enabledInputChannels,
adoptMetaknobFromPreset);
@@ -215,18 +213,18 @@ void EffectChainSlot::loadChainPreset(EffectChainPresetPointer pPreset) {
}
slotControlClear(1);
- int effectSlot = 0;
+ int effectSlotIndex = 0;
for (const auto& pEffectPreset : pPreset->effectPresets()) {
+ EffectSlotPointer pEffectSlot = m_effectSlots.at(effectSlotIndex);
if (pEffectPreset->isEmpty()) {
- loadEffect(effectSlot, nullptr, nullptr, nullptr, true);
- effectSlot++;
+ loadEffect(effectSlotIndex, nullptr, nullptr, true);
+ effectSlotIndex++;
continue;
}
EffectManifestPointer pManifest = m_pBackendManager->getManifest(
pEffectPreset->id(), pEffectPreset->backendType());
- std::unique_ptr<EffectProcessor> pProcessor = m_pBackendManager->createProcessor(pManifest);
- loadEffect(effectSlot, pManifest, std::move(pProcessor), pEffectPreset, true);
- effectSlot++;
+ loadEffect(effectSlotIndex, pManifest, pEffectPreset, true);
+ effectSlotIndex++;
}
setMixMode(pPreset->mixMode());