summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2020-03-23 06:14:27 +0100
committerRobin Gareus <robin@gareus.org>2020-03-23 06:14:39 +0100
commitce088f1f44ff8baa607159df6c2728b5237c949f (patch)
tree7504b48b08ad3fd904ecc370f5ab252b26ab0c9e /libs
parent7aa4d6a91f8560308d97ddf9539e9d976f36977c (diff)
Constrain panner value to valid range
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/pan_controllable.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/ardour/pan_controllable.cc b/libs/ardour/pan_controllable.cc
index 2f9ca3e6a6..3037ccf706 100644
--- a/libs/ardour/pan_controllable.cc
+++ b/libs/ardour/pan_controllable.cc
@@ -26,14 +26,16 @@ using namespace ARDOUR;
void
PanControllable::actually_set_value (double v, Controllable::GroupControlDisposition group_override)
{
- boost::shared_ptr<Panner> p = owner->panner();
+ v = std::min (upper (), std::max (lower (), v));
- if (!p) {
+ if (!owner || !owner->panner()) {
/* no panner: just do it */
AutomationControl::actually_set_value (v, group_override);
return;
}
+ boost::shared_ptr<Panner> p = owner->panner();
+
bool can_set = false;
switch (parameter().type()) {