X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Fgeneric_pluginui.cc;h=4267d30a43362b4ae7338599d6a381dff7e9bf28;hb=555fcb89e541a8aaf1beb3df234e60569a667876;hp=a655203920743c9cb4f04bbed673e1ce55718d3a;hpb=fe83e1e2ed450814dfec0ffed7a2c2559c6fa8b6;p=ardour.git diff --git a/gtk2_ardour/generic_pluginui.cc b/gtk2_ardour/generic_pluginui.cc index a655203920..4267d30a43 100644 --- a/gtk2_ardour/generic_pluginui.cc +++ b/gtk2_ardour/generic_pluginui.cc @@ -902,12 +902,6 @@ GenericPluginUI::build_control_ui (const Evoral::Parameter& param, UIConfiguration::instance().color ("meter background top") ); - info->min_unbound = desc.min_unbound; - info->max_unbound = desc.max_unbound; - - info->min = desc.lower; - info->max = desc.upper; - control_ui->label.set_angle(90); HBox* center = manage (new HBox); @@ -1094,27 +1088,12 @@ GenericPluginUI::output_update () buf[len] = '\0'; (*i)->display_label->set_text (buf); - /* autoscaling for the meter */ if ((*i)->meterinfo && (*i)->meterinfo->packed) { - - if (val < (*i)->meterinfo->min) { - if ((*i)->meterinfo->min_unbound) - (*i)->meterinfo->min = val; - else - val = (*i)->meterinfo->min; - } - - if (val > (*i)->meterinfo->max) { - if ((*i)->meterinfo->max_unbound) - (*i)->meterinfo->max = val; - else - val = (*i)->meterinfo->max; - } - - if ((*i)->meterinfo->max > (*i)->meterinfo->min ) { - float lval = (val - (*i)->meterinfo->min) / ((*i)->meterinfo->max - (*i)->meterinfo->min) ; - (*i)->meterinfo->meter->set (lval ); - } + const float upper = c->desc().upper; + const float lower = c->desc().lower; + val = std::min (upper, std::max (lower, val)); + float lval = (val - lower / (upper - lower)); + (*i)->meterinfo->meter->set (lval); } } }