revert to right-side mixer metric-labels

This commit is contained in:
Robin Gareus 2013-07-17 23:33:23 +02:00
parent 3475ea4b22
commit 55c5a76e8b
2 changed files with 11 additions and 10 deletions

View File

@ -278,12 +278,16 @@ GainMeterBase::setup_meters (int len)
switch (_width) {
case Wide:
meter_ticks1_area.show();
meter_ticks2_area.show();
if (_route && _route->shared_peak_meter()->input_streams().n_total() == 1) {
meter_width = 10;
}
break;
case Narrow:
meter_width = 2;
meter_ticks1_area.hide();
meter_ticks2_area.hide();
break;
}
level_meter->setup_meters(len, meter_width);
@ -940,10 +944,10 @@ GainMeter::GainMeter (Session* s, int fader_length)
meter_ticks2_area.signal_expose_event().connect (
sigc::mem_fun(*this, &GainMeter::meter_ticks2_expose));
meter_hbox.pack_start (meter_metric_area, false, false);
meter_hbox.pack_start (meter_ticks1_area, false, false);
meter_hbox.pack_start (meter_alignment, false, false);
meter_hbox.pack_start (meter_ticks2_area, false, false);
meter_hbox.pack_start (meter_metric_area, false, false);
}
void
@ -1002,7 +1006,7 @@ GainMeter::get_gm_width ()
if (_width == Wide)
return max(sz.width * 2, min_w * 2) + 6;
else
return sz.width + min_w + 12;
return sz.width + min_w + 6;
}

View File

@ -233,6 +233,10 @@ meter_render_metrics (Gtk::Widget& w, vector<DataType> types)
tickright = w.get_name().substr(w.get_name().length() - 5) == "Right";
background = types.size() == 0 || tickleft || tickright;
if (!tickleft && !tickright) {
tickright = true;
}
cairo_surface_t* surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, width, height);
cairo_t* cr = cairo_create (surface);
Glib::RefPtr<Pango::Layout> layout = Pango::Layout::create(w.get_pango_context());
@ -296,11 +300,6 @@ meter_render_metrics (Gtk::Widget& w, vector<DataType> types)
} else {
c = w.get_style()->get_fg (Gtk::STATE_NORMAL);
cairo_set_source_rgb (cr, c.get_red_p(), c.get_green_p(), c.get_blue_p());
if (!tickleft && !tickright && (*i) == DataType::AUDIO) {
tickleft = true;
}
}
std::map<int,float> points;
@ -384,7 +383,6 @@ meter_render_metrics (Gtk::Widget& w, vector<DataType> types)
snprintf (buf, sizeof (buf), "%3d", j->first);
pos = 1 + height - (gint) rintf (height * fraction);
pos = min (pos, height);
#if 0
if (tickleft) {
cairo_arc(cr, width - 2.0, pos + .5, 1.0, 0, 2 * M_PI);
cairo_fill(cr);
@ -392,7 +390,6 @@ meter_render_metrics (Gtk::Widget& w, vector<DataType> types)
cairo_arc(cr, 3, pos + .5, 1.0, 0, 2 * M_PI);
cairo_fill(cr);
}
#endif
break;
}
@ -403,7 +400,7 @@ meter_render_metrics (Gtk::Widget& w, vector<DataType> types)
int tw, th;
layout->get_pixel_size(tw, th);
int p = pos - (th / 2);
int p = pos - (th / 2) - 1;
p = min (p, height - th);
p = max (p, 0);