summaryrefslogtreecommitdiffstats
path: root/src/engine/channels
diff options
context:
space:
mode:
authorJan Holthuis <jan.holthuis@ruhr-uni-bochum.de>2020-03-01 21:42:49 +0100
committerJan Holthuis <jan.holthuis@ruhr-uni-bochum.de>2020-03-01 21:42:49 +0100
commit99bfeef3020ce6469f79c7a377965244d15add35 (patch)
treef7ed27c88e69095bfc0e9f70b76ea0476c7dbe5f /src/engine/channels
parent4ffe4ea50eb14d2fe790a86977f13826d1b6c746 (diff)
parentadb2c3c8e2d1b59f92e357035c577fd0dae8ae85 (diff)
Merge branch '2.2' of github.com:mixxxdj/mixxx
Diffstat (limited to 'src/engine/channels')
-rw-r--r--src/engine/channels/enginedeck.cpp14
-rw-r--r--src/engine/channels/enginedeck.h4
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;