Compare commits

...

2 Commits

Author SHA1 Message Date
Robin Gareus b8c474ff32
Add support for splash screen image transparency 2024-04-11 19:42:14 +02:00
Robin Gareus a69ca86944
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.
2024-04-11 19:41:14 +02:00
2 changed files with 11 additions and 7 deletions

View File

@ -1036,11 +1036,11 @@ ProcessorEntry::Control::Control (ProcessorEntry& e,std::shared_ptr<AutomationCo
_slider.show ();
const ARDOUR::ParameterDescriptor& desc = c->desc();
double const lo = c->internal_to_interface (desc.lower);
double const up = c->internal_to_interface (desc.upper);
double const normal = c->internal_to_interface (desc.normal);
double const smallstep = c->internal_to_interface (desc.lower + desc.smallstep);
double const largestep = c->internal_to_interface (desc.lower + desc.largestep);
double const lo = c->internal_to_interface (desc.lower, true);
double const up = c->internal_to_interface (desc.upper, true);
double const normal = c->internal_to_interface (desc.normal, true);
double const smallstep = fabs (c->internal_to_interface (desc.lower + desc.smallstep, true) - lo);
double const largestep = fabs (c->internal_to_interface (desc.lower + desc.largestep, true) - lo);
_adjustment.set_lower (lo);
_adjustment.set_upper (up);
@ -1099,7 +1099,7 @@ ProcessorEntry::Control::slider_adjusted ()
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 ();
}
@ -1186,7 +1186,7 @@ ProcessorEntry::Control::control_changed ()
_button.set_active (c->get_value() > 0.5);
} else {
// 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) {
_adjustment.set_value (nval);
set_tooltip ();

View File

@ -238,6 +238,10 @@ Splash::expose (GdkEventExpose* ev)
{
RefPtr<Gdk::Window> window = darea.get_window();
/* clear background (for transparent splash images */
Glib::RefPtr<Gdk::GC> bg = get_style()->get_bg_gc (STATE_NORMAL);
window->draw_rectangle(bg, true, ev->area.x, ev->area.y, ev->area.width, ev->area.height)
/* note: height & width need to be constrained to the pixbuf size
in case a WM provides us with a screwy allocation
*/