From 7899c396dcd18df1ef474b051d645adc2a0d5bbd Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sun, 22 Nov 2020 10:25:04 +1100 Subject: [PATCH] nodeinputdragger: acknowledge min/max values if they're set --- app/node/inputdragger.cpp | 19 ++++++++++++++++++- app/node/inputdragger.h | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/app/node/inputdragger.cpp b/app/node/inputdragger.cpp index b6708d326..c0067c4fb 100644 --- a/app/node/inputdragger.cpp +++ b/app/node/inputdragger.cpp @@ -70,10 +70,27 @@ void NodeInputDragger::Start(NodeInput *input, const rational &time, int track) } } -void NodeInputDragger::Drag(const QVariant& value) +void NodeInputDragger::Drag(QVariant value) { Q_ASSERT(input_); + if (!input_->get_property(QStringLiteral("min")).isNull()) { + // Assumes the value is a double of some kind + double min = input_->get_property(QStringLiteral("min")).toDouble(); + double v = value.toDouble(); + if (v < min) { + value = min; + } + } + + if (!input_->get_property(QStringLiteral("max")).isNull()) { + double max = input_->get_property(QStringLiteral("max")).toDouble(); + double v = value.toDouble(); + if (v > max) { + value = max; + } + } + end_value_ = value; //input_->blockSignals(true); diff --git a/app/node/inputdragger.h b/app/node/inputdragger.h index f9f20d490..bd9f80eff 100644 --- a/app/node/inputdragger.h +++ b/app/node/inputdragger.h @@ -34,7 +34,7 @@ public: void Start(NodeInput* input, const rational& time, int track); - void Drag(const QVariant &value); + void Drag(QVariant value); void End();