summaryrefslogtreecommitdiffstats
path: root/src/effects/effectchainmanager.cpp
diff options
context:
space:
mode:
authorbe_ <be.0@gmx.com>2017-06-10 10:22:46 -0500
committerbe_ <be.0@gmx.com>2017-06-10 11:16:33 -0500
commit423f778b1b00911b9ef1fd5d75df6ebc1cde0bca (patch)
tree354857969387eb7bc562b8058ec68e7659bff0fe /src/effects/effectchainmanager.cpp
parent3be271c1b15e9160838f31a21850c16d26668912 (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.cpp19
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()));