diff options
author | Jan Holthuis <jan.holthuis@ruhr-uni-bochum.de> | 2020-03-01 21:42:49 +0100 |
---|---|---|
committer | Jan Holthuis <jan.holthuis@ruhr-uni-bochum.de> | 2020-03-01 21:42:49 +0100 |
commit | 99bfeef3020ce6469f79c7a377965244d15add35 (patch) | |
tree | f7ed27c88e69095bfc0e9f70b76ea0476c7dbe5f /src/engine/channels | |
parent | 4ffe4ea50eb14d2fe790a86977f13826d1b6c746 (diff) | |
parent | adb2c3c8e2d1b59f92e357035c577fd0dae8ae85 (diff) |
Merge branch '2.2' of github.com:mixxxdj/mixxx
Diffstat (limited to 'src/engine/channels')
-rw-r--r-- | src/engine/channels/enginedeck.cpp | 14 | ||||
-rw-r--r-- | src/engine/channels/enginedeck.h | 4 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/engine/channels/enginedeck.cpp b/src/engine/channels/enginedeck.cpp index 2d0e34aeee..c78badec17 100644 --- a/src/engine/channels/enginedeck.cpp +++ b/src/engine/channels/enginedeck.cpp @@ -44,6 +44,12 @@ EngineDeck::EngineDeck(const ChannelHandleAndGroup& handle_group, m_bPassthroughIsActive = false; m_bPassthroughWasActive = false; + // Ensure that input is configured before enabling passthrough + m_pPassing->connectValueChangeRequest( + this, + &EngineDeck::slotPassthroughChangeRequest, + Qt::DirectConnection); + // Set up passthrough toggle button connect(m_pPassing, &ControlObject::valueChanged, this, &EngineDeck::slotPassingToggle, @@ -163,3 +169,11 @@ bool EngineDeck::isPassthroughActive() const { void EngineDeck::slotPassingToggle(double v) { m_bPassthroughIsActive = v > 0; } + +void EngineDeck::slotPassthroughChangeRequest(double v) { + if (v <= 0 || m_pInputConfigured->get() > 0) { + m_pPassing->setAndConfirm(v); + } else { + emit noPassthroughInputConfigured(); + } +} diff --git a/src/engine/channels/enginedeck.h b/src/engine/channels/enginedeck.h index 2e68486429..293100bae5 100644 --- a/src/engine/channels/enginedeck.h +++ b/src/engine/channels/enginedeck.h @@ -73,8 +73,12 @@ class EngineDeck : public EngineChannel, public AudioDestination { // Return whether or not passthrough is active bool isPassthroughActive() const; + signals: + void noPassthroughInputConfigured(); + public slots: void slotPassingToggle(double v); + void slotPassthroughChangeRequest(double v); private: UserSettingsPointer m_pConfig; |