X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fgain_meter.cc;h=7e781cafd93cd1d6724f33f68dfd89264a229c2b;hb=ecb92f474f8f39e04f2aee02dabab7fa03af6c19;hp=53dd0062245bfae345a98da944f1afdafa41fc2c;hpb=6acdfc69b785841ac10a324484ddd0208612a213;p=ardour.git diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index 53dd006224..7e781cafd9 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -274,18 +274,24 @@ void GainMeterBase::setup_meters (int len) { int meter_width = 5; + uint32_t meter_channels = 0; + if (_meter) { + meter_channels = _meter->input_streams().n_total(); + } else if (_route) { + meter_channels = _route->shared_peak_meter()->input_streams().n_total(); + } switch (_width) { case Wide: //meter_ticks1_area.show(); //meter_ticks2_area.show(); meter_metric_area.show(); - if (_route && _route->shared_peak_meter()->input_streams().n_total() == 1) { + if (meter_channels == 1) { meter_width = 10; } break; case Narrow: - if (_route && _route->shared_peak_meter()->input_streams().n_total() > 1) { + if (meter_channels > 1) { meter_width = 4; } //meter_ticks1_area.hide(); @@ -1014,6 +1020,7 @@ GainMeter::get_gm_width () { Gtk::Requisition sz; int min_w = 0; + sz.width = 0; meter_metric_area.size_request (sz); min_w += sz.width; level_meter->size_request (sz);