void
GainMeter::setup_meters (int len)
{
+ switch (_width) {
+ case Wide:
+ hbox.set_homogeneous(true);
+ break;
+ case Narrow:
+ hbox.set_homogeneous(false);
+ break;
+ }
GainMeterBase::setup_meters (len);
}
GainMeter::get_gm_width ()
{
Gtk::Requisition sz;
- hbox.size_request (sz);
- return sz.width;
+ int min_w = 0;
+ meter_metric_area.size_request (sz);
+ min_w += sz.width;
+ level_meter->size_request (sz);
+ min_w += sz.width;
+
+ fader_alignment.size_request (sz);
+ if (_width == Wide)
+ return max(sz.width * 2, min_w * 2) + 6;
+ else
+ return sz.width + min_w + 6;
+
}
gint