From e28a196fd9c1ef01699fc70a02d6da13b96e394e Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 27 Jul 2013 21:26:22 +0200 Subject: update meter marks and colors.. --- gtk2_ardour/level_meter.cc | 25 ++++++++----- gtk2_ardour/meter_patterns.cc | 81 +++++++++++++++++++++++-------------------- 2 files changed, 59 insertions(+), 47 deletions(-) diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc index 0736e387a6..f3c3e7b6fb 100644 --- a/gtk2_ardour/level_meter.cc +++ b/gtk2_ardour/level_meter.cc @@ -316,22 +316,29 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width) c[0] = c[1] = c[2] = c[3] = c[4] = c[5] = c[6] = c[7] = c[8] = c[9] = 0xaaaaaaff; break; case MeterIEC2EBU: - stp[0] = 115.0 * meter_deflect_ppm(-18); - stp[1] = 115.0 * meter_deflect_ppm(-14); - stp[2] = 115.0 * meter_deflect_ppm(-10); - stp[3] = 115.0 * meter_deflect_ppm( -8); + stp[0] = 115.0 * meter_deflect_ppm(-24); // ignored + stp[1] = 115.0 * meter_deflect_ppm(-18); + stp[2] = 115.0 * meter_deflect_ppm( -9); + stp[3] = 115.0 * meter_deflect_ppm( 0); // ignored + c[3] = c[2] = c[1]; + c[6] = c[7] = c[8] = c[9]; break; case MeterIEC1NOR: - stp[0] = 115.0 * meter_deflect_nordic(-18); - stp[1] = 115.0 * meter_deflect_nordic(-15); + stp[0] = 115.0 * meter_deflect_nordic(-30); // ignored + stp[1] = 115.0 * meter_deflect_nordic(-18); stp[2] = 115.0 * meter_deflect_nordic(-12); - stp[3] = 115.0 * meter_deflect_nordic( -9); + stp[3] = 115.0 * meter_deflect_nordic( -9); // ignored + c[1] = c[2] = c[3]; + c[6] = c[7] = c[8] = c[9]; break; case MeterIEC1DIN: - stp[0] = 115.0 * meter_deflect_din(-29); + stp[0] = 115.0 * meter_deflect_din(-29); // ignored stp[1] = 115.0 * meter_deflect_din(-18); - stp[2] = 115.0 * meter_deflect_din(-15); + stp[2] = 115.0 * meter_deflect_din(-15); // ignored stp[3] = 115.0 * meter_deflect_din( -9); + c[0] = c[1] = c[2] = c[3] = 0x00aa00ff; + c[4] = c[6]; + c[5] = c[7]; break; case MeterVU: stp[0] = 115.0 * meter_deflect_vu(-26); // -6 diff --git a/gtk2_ardour/meter_patterns.cc b/gtk2_ardour/meter_patterns.cc index cbe07cf1c8..dede422b2d 100644 --- a/gtk2_ardour/meter_patterns.cc +++ b/gtk2_ardour/meter_patterns.cc @@ -138,23 +138,14 @@ static inline float mtr_col_and_fract( } break; case MeterIEC2BBC: - fraction = meter_deflect_ppm(val); - cairo_set_source_rgb (cr, c->get_red_p(), c->get_green_p(), c->get_blue_p()); - break; case MeterIEC2EBU: fraction = meter_deflect_ppm(val); - if (val >= -10.0) { - cairo_set_source_rgb (cr, - UINT_RGBA_R_FLT(peakcolor), - UINT_RGBA_G_FLT(peakcolor), - UINT_RGBA_B_FLT(peakcolor)); - } else { - cairo_set_source_rgb (cr, c->get_red_p(), c->get_green_p(), c->get_blue_p()); - } + cairo_set_source_rgb (cr, c->get_red_p(), c->get_green_p(), c->get_blue_p()); break; case MeterIEC1NOR: fraction = meter_deflect_nordic(val); - if (val >= -12.0) { +#if 0 + if (val == -18.0) { cairo_set_source_rgb (cr, UINT_RGBA_R_FLT(peakcolor), UINT_RGBA_G_FLT(peakcolor), @@ -162,10 +153,13 @@ static inline float mtr_col_and_fract( } else { cairo_set_source_rgb (cr, c->get_red_p(), c->get_green_p(), c->get_blue_p()); } +#else + cairo_set_source_rgb (cr, c->get_red_p(), c->get_green_p(), c->get_blue_p()); +#endif break; case MeterIEC1DIN: fraction = meter_deflect_din(val); - if (val >= -9.0) { + if (val == -9.0 || val == -15 || val == -18) { cairo_set_source_rgb (cr, UINT_RGBA_R_FLT(peakcolor), UINT_RGBA_G_FLT(peakcolor), @@ -351,7 +345,7 @@ meter_render_ticks (Gtk::Widget& w, MeterType type, vector typ points.insert (std::pair(-14.0f, 1.0)); points.insert (std::pair(-12.0f, 0.5)); points.insert (std::pair(-10.0f, 1.0)); - points.insert (std::pair( -9.0f, 0.5)); + points.insert (std::pair( -9.0f, 0.8)); points.insert (std::pair( -8.0f, 0.5)); points.insert (std::pair( -6.0f, 1.0)); break; @@ -375,30 +369,41 @@ meter_render_ticks (Gtk::Widget& w, MeterType type, vector typ points.insert (std::pair(-39.0f, 0.5)); points.insert (std::pair(-36.0f, 1.0)); - points.insert (std::pair(-33.0f, 1.0)); + points.insert (std::pair(-33.0f, 0.5)); points.insert (std::pair(-30.0f, 1.0)); - points.insert (std::pair(-27.0f, 1.0)); + points.insert (std::pair(-27.0f, 0.5)); points.insert (std::pair(-24.0f, 1.0)); - points.insert (std::pair(-21.0f, 1.0)); + points.insert (std::pair(-21.0f, 0.5)); points.insert (std::pair(-18.0f, 1.0)); - points.insert (std::pair(-15.0f, 1.0)); - points.insert (std::pair(-12.0f, 1.0)); + points.insert (std::pair(-15.0f, 0.5)); + points.insert (std::pair(-12.0f, 0.5)); points.insert (std::pair( -9.0f, 1.0)); - points.insert (std::pair( -6.0f, 1.0)); + points.insert (std::pair( -6.0f, 0.5)); break; case MeterIEC1DIN: points.insert (std::pair( -3.0f, 0.5)); // "200%" - points.insert (std::pair( -4.0f, 1.0)); // "100%" - points.insert (std::pair( -9.0f, 1.0)); + points.insert (std::pair( -4.0f, 1.0)); + points.insert (std::pair( -5.0f, 0.5)); + points.insert (std::pair( -6.0f, 0.5)); + points.insert (std::pair( -7.0f, 0.5)); + points.insert (std::pair( -8.0f, 0.5)); + points.insert (std::pair( -9.0f, 1.0)); // "100%" + points.insert (std::pair(-10.0f, 0.5)); + points.insert (std::pair(-11.0f, 0.5)); + points.insert (std::pair(-12.0f, 0.5)); + points.insert (std::pair(-13.0f, 0.5)); points.insert (std::pair(-14.0f, 1.0)); - points.insert (std::pair(-15.0f, 0.5)); // "50%" - points.insert (std::pair(-18.0f, 0.5)); // "-9" - points.insert (std::pair(-19.0f, 1.0)); // "30%" - points.insert (std::pair(-29.0f, 1.0)); // "10%" - points.insert (std::pair(-35.0f, 0.5)); // "5%" " -20" - points.insert (std::pair(-39.0f, 1.0)); // "3%" - points.insert (std::pair(-49.0f, 0.5)); // "1%" + points.insert (std::pair(-15.0f, 0.8)); // "50%" + points.insert (std::pair(-18.0f, 0.8)); // "-9" + points.insert (std::pair(-19.0f, 1.0)); + points.insert (std::pair(-24.0f, 0.5)); + points.insert (std::pair(-29.0f, 1.0)); // "-20", "10%" + points.insert (std::pair(-34.0f, 0.5)); // -25 + //points.insert (std::pair(-35.0f, 0.5)); // "5%" " -20" + points.insert (std::pair(-39.0f, 1.0)); + points.insert (std::pair(-49.0f, 1.0)); + points.insert (std::pair(-54.0f, 0.5)); points.insert (std::pair(-59.0f, 1.0)); break; case MeterVU: @@ -685,31 +690,31 @@ meter_render_metrics (Gtk::Widget& w, MeterType type, vector types) points.insert (std::pair(-42.0f, "-24")); points.insert (std::pair(-36.0f, "-18")); - points.insert (std::pair(-33.0f, "-15")); + //points.insert (std::pair(-33.0f, "-15")); points.insert (std::pair(-30.0f, "-12")); - points.insert (std::pair(-27.0f, "-9")); + //points.insert (std::pair(-27.0f, "-9")); points.insert (std::pair(-24.0f, "-6")); - points.insert (std::pair(-21.0f, "-3")); + //points.insert (std::pair(-21.0f, "-3")); points.insert (std::pair(-18.0f, "TST")); - points.insert (std::pair(-15.0f, "+3")); + //points.insert (std::pair(-15.0f, "+3")); points.insert (std::pair(-12.0f, "+6")); points.insert (std::pair( -9.0f, "+9")); - points.insert (std::pair( -6.0f, "+12")); + //points.insert (std::pair( -6.0f, "+12")); break; case MeterIEC1DIN: overlay_midi = 2; //points.insert (std::pair( -3.0f, "200%")); - points.insert (std::pair( -4.0f, "+5")); // "100%" - points.insert (std::pair( -9.0f, "0")); + points.insert (std::pair( -4.0f, "+5")); + points.insert (std::pair( -9.0f, "0")); // "100%"; points.insert (std::pair(-14.0f, "-5")); //points.insert (std::pair(-15.0f, "50%")); //points.insert (std::pair(-18.0f, "-9")); points.insert (std::pair(-19.0f, "-10")); // "30%" points.insert (std::pair(-29.0f, "-20")); // "10%" - //points.insert (std::pair(-35.0f, "-20")); // "5%" - points.insert (std::pair(-39.0f, "-30")); // "3%" + //points.insert (std::pair(-35.0f, "5%")); // "5%" + points.insert (std::pair(-39.0f, "-30")); //points.insert (std::pair(-49.0f, "1%")); points.insert (std::pair(-59.0f, "-50")); break; -- cgit v1.2.3