diff options
author | Robin Gareus <robin@gareus.org> | 2020-03-23 06:14:27 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2020-03-23 06:14:39 +0100 |
commit | ce088f1f44ff8baa607159df6c2728b5237c949f (patch) | |
tree | 7504b48b08ad3fd904ecc370f5ab252b26ab0c9e /libs | |
parent | 7aa4d6a91f8560308d97ddf9539e9d976f36977c (diff) |
Constrain panner value to valid range
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/pan_controllable.cc | 6 |
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()) { |