X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Flevel_meter.cc;h=94b8d63d7f3290f7cf6c622815d684ac614209c0;hb=5399425f534e2d96d07cf29f427bfa0f39d904b7;hp=194e4461154748a316bf44d9fa19f0a921960e70;hpb=fe6c5612a2c46d6dbad32517d487b120bb8b65c4;p=ardour.git diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc index 194e446115..94b8d63d7f 100644 --- a/gtk2_ardour/level_meter.cc +++ b/gtk2_ardour/level_meter.cc @@ -78,6 +78,7 @@ LevelMeterBase::set_meter (PeakMeter* meter) _meter_type_connection.disconnect(); _meter = meter; + color_changed = true; if (_meter) { _meter->ConfigurationChanged.connect (_configuration_connection, parent_invalidator, boost::bind (&LevelMeterBase::configuration_changed, this, _1, _2), gui_context()); @@ -157,6 +158,8 @@ LevelMeterBase::update_meters () (*i).meter->set (meter_deflect_ppm (peak + meter_lineup(0))); } else if (meter_type == MeterVU) { (*i).meter->set (meter_deflect_vu (peak + vu_standard() + meter_lineup(0))); + } else if (meter_type == MeterK12) { + (*i).meter->set (meter_deflect_k (peak, 12), meter_deflect_k(_meter->meter_level(n, MeterPeak), 12)); } else if (meter_type == MeterK14) { (*i).meter->set (meter_deflect_k (peak, 14), meter_deflect_k(_meter->meter_level(n, MeterPeak), 14)); } else if (meter_type == MeterK20) { @@ -320,6 +323,17 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width) c[6] = c[7] = 0xffff00ff; c[8] = c[9] = 0xff0000ff; break; + case MeterK12: + stp[0] = 115.0 * meter_deflect_k(-32, 12); //-20 + stp[1] = 115.0 * meter_deflect_k(-12, 12); // 0 + stp[2] = 115.0 * meter_deflect_k(-10, 12); // +2 + stp[3] = 115.0 * meter_deflect_k( -8, 12); // +4 + c[0] = c[1] = 0x008800ff; + c[2] = c[3] = 0x00ff00ff; + c[4] = c[5] = 0xffff00ff; + c[6] = c[7] = 0xffff00ff; + c[8] = c[9] = 0xff0000ff; + break; case MeterIEC2BBC: c[0] = c[1] = c[2] = c[3] = c[4] = c[5] = c[6] = c[7] = c[8] = c[9] = ARDOUR_UI::config()->color_by_name ("meter color BBC");