diff options
author | be_ <be.0@gmx.com> | 2017-06-10 10:22:46 -0500 |
---|---|---|
committer | be_ <be.0@gmx.com> | 2017-06-10 11:16:33 -0500 |
commit | 423f778b1b00911b9ef1fd5d75df6ebc1cde0bca (patch) | |
tree | 354857969387eb7bc562b8058ec68e7659bff0fe /src/effects/effectchainmanager.cpp | |
parent | 3be271c1b15e9160838f31a21850c16d26668912 (diff) |
apply effects to both master output post-fader and headphones PFL
This required two major changes to the effects system:
1. Making effects track their internal state for each input
going to each output, instead of sharing a state only for each
input.
2. Splitting the single combined effects input/output buffer
into a separate input and output buffer.
TODO: fix signal path tests
Diffstat (limited to 'src/effects/effectchainmanager.cpp')
-rw-r--r-- | src/effects/effectchainmanager.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/effects/effectchainmanager.cpp b/src/effects/effectchainmanager.cpp index 28becd2841..d6ab631039 100644 --- a/src/effects/effectchainmanager.cpp +++ b/src/effects/effectchainmanager.cpp @@ -18,19 +18,28 @@ EffectChainManager::~EffectChainManager() { //qDebug() << debugString() << "destroyed"; } -void EffectChainManager::registerChannel(const ChannelHandleAndGroup& handle_group) { - if (m_registeredChannels.contains(handle_group)) { - qWarning() << debugString() << "WARNING: Channel already registered:" +void EffectChainManager::registerInputChannel(const ChannelHandleAndGroup& handle_group) { + if (m_registeredInputChannels.contains(handle_group)) { + qWarning() << debugString() << "WARNING: Input channel already registered:" << handle_group.name(); return; } - m_registeredChannels.insert(handle_group); + m_registeredInputChannels.insert(handle_group); foreach (StandardEffectRackPointer pRack, m_standardEffectRacks) { - pRack->registerChannel(handle_group); + pRack->registerInputChannel(handle_group); } } +void EffectChainManager::registerOutputChannel(const ChannelHandleAndGroup& handle_group) { + if (m_registeredOutputChannels.contains(handle_group)) { + qWarning() << debugString() << "WARNING: Output channel already registered:" + << handle_group.name(); + return; + } + m_registeredOutputChannels.insert(handle_group); +} + StandardEffectRackPointer EffectChainManager::addStandardEffectRack() { StandardEffectRackPointer pRack(new StandardEffectRack( m_pEffectsManager, this, m_standardEffectRacks.size())); |