fix alignment of meter tick
authorRobin Gareus <robin@gareus.org>
Fri, 5 Jul 2013 02:26:35 +0000 (04:26 +0200)
committerRobin Gareus <robin@gareus.org>
Wed, 10 Jul 2013 13:27:08 +0000 (15:27 +0200)
gtk2_ardour/gain_meter.cc
gtk2_ardour/meter_strip.cc

index c1a2b3e0dc9a1131e24d2ca871b35c397d1e1a62..fc458cb66d795d836eb3e2550fe81b1acc900a8c 100644 (file)
@@ -1054,17 +1054,20 @@ GainMeter::render_metrics (Gtk::Widget& w, vector<DataType> types)
 
                for (vector<int>::const_iterator j = points.begin(); j != points.end(); ++j) {
 
+                       gint pos;
+
                        float fraction = 0;
                        switch (*i) {
                        case DataType::AUDIO:
                                fraction = log_meter (*j);
+                               pos = height - (gint) floor (height * fraction);
                                break;
                        case DataType::MIDI:
                                fraction = *j / 127.0;
+                               pos = 1 + height - (gint) floor (height * fraction);
                                break;
                        }
 
-                       gint const pos = 1 + height - (gint) floor (height * fraction);
                        float const linepos = min((float) height, (float)(pos + .5f));
 
                        cairo_set_line_width (cr, 1.0);
index 3d3e8edeb6b9b54ba8aaed2274e96c1e22c7e82d..2de25983b0029b61f13d66bb9b4d24aa1e3a47f5 100644 (file)
@@ -490,7 +490,7 @@ MeterStrip::render_metrics (Gtk::Widget& w, vector<DataType> types)
                                }
                                fraction = log_meter (j->first);
                                snprintf (buf, sizeof (buf), "%+2d", j->first);
-                               pos = 1 + height - (gint) floor (height * fraction);
+                               pos = height - (gint) floor (height * fraction);
                                cairo_move_to(cr, width-2.5, pos + .5);
                                cairo_line_to(cr, width, pos + .5);
                                cairo_stroke (cr);
@@ -717,7 +717,7 @@ MeterStrip::render_ticks (Gtk::Widget& w, vector<DataType> types)
                                        cairo_set_source_rgb (cr, c.get_red_p(), c.get_green_p(), c.get_blue_p());
                                }
                                fraction = log_meter (j->first);
-                               pos = 1 + height - (gint) floor (height * fraction);
+                               pos = height - (gint) floor (height * fraction);
                                cairo_move_to(cr, 0, pos + .5);
                                cairo_line_to(cr, 3, pos + .5);
                                cairo_stroke (cr);