mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 14:54:56 +01:00
Fix inline controls allow for inverted range
Some controls (notably pan azimuth) have reversed range 1..0.
Support for this was added years ago in 647103c825
but inline controls were not updated.
This commit is contained in:
parent
fe7fd146aa
commit
a69ca86944
1 changed files with 7 additions and 7 deletions
|
|
@ -1036,11 +1036,11 @@ ProcessorEntry::Control::Control (ProcessorEntry& e,std::shared_ptr<AutomationCo
|
||||||
_slider.show ();
|
_slider.show ();
|
||||||
|
|
||||||
const ARDOUR::ParameterDescriptor& desc = c->desc();
|
const ARDOUR::ParameterDescriptor& desc = c->desc();
|
||||||
double const lo = c->internal_to_interface (desc.lower);
|
double const lo = c->internal_to_interface (desc.lower, true);
|
||||||
double const up = c->internal_to_interface (desc.upper);
|
double const up = c->internal_to_interface (desc.upper, true);
|
||||||
double const normal = c->internal_to_interface (desc.normal);
|
double const normal = c->internal_to_interface (desc.normal, true);
|
||||||
double const smallstep = c->internal_to_interface (desc.lower + desc.smallstep);
|
double const smallstep = fabs (c->internal_to_interface (desc.lower + desc.smallstep, true) - lo);
|
||||||
double const largestep = c->internal_to_interface (desc.lower + desc.largestep);
|
double const largestep = fabs (c->internal_to_interface (desc.lower + desc.largestep, true) - lo);
|
||||||
|
|
||||||
_adjustment.set_lower (lo);
|
_adjustment.set_lower (lo);
|
||||||
_adjustment.set_upper (up);
|
_adjustment.set_upper (up);
|
||||||
|
|
@ -1099,7 +1099,7 @@ ProcessorEntry::Control::slider_adjusted ()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
c->set_value ( c->interface_to_internal(_adjustment.get_value ()) , Controllable::NoGroup);
|
c->set_value ( c->interface_to_internal(_adjustment.get_value (), true) , Controllable::NoGroup);
|
||||||
set_tooltip ();
|
set_tooltip ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1186,7 +1186,7 @@ ProcessorEntry::Control::control_changed ()
|
||||||
_button.set_active (c->get_value() > 0.5);
|
_button.set_active (c->get_value() > 0.5);
|
||||||
} else {
|
} else {
|
||||||
// Note: the _slider watches the controllable by itself
|
// Note: the _slider watches the controllable by itself
|
||||||
const double nval = c->internal_to_interface (c->get_value ());
|
const double nval = c->internal_to_interface (c->get_value (), true);
|
||||||
if (_adjustment.get_value() != nval) {
|
if (_adjustment.get_value() != nval) {
|
||||||
_adjustment.set_value (nval);
|
_adjustment.set_value (nval);
|
||||||
set_tooltip ();
|
set_tooltip ();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue