fix computation of rectangle bounding box
[ardour.git] / gtk2_ardour / meter_strip.cc
index db2f03c349d702ef00e45ced5875beef0d93aad7..703870ecefef2770dcda03bd3f0c61813654ee61 100644 (file)
@@ -65,6 +65,8 @@ MeterStrip::MeterStrip (int metricmode, MeterType mt)
        level_meter = 0;
        _strip_type = 0;
        _tick_bar = 0;
+       _metricmode = -1;
+       metric_type = MeterPeak;
        mtr_vbox.set_spacing(2);
        nfo_vbox.set_spacing(2);
        peakbx.set_size_request(-1, 14);
@@ -123,6 +125,8 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
 
        _has_midi = false;
        _tick_bar = 0;
+       _metricmode = -1;
+       metric_type = MeterPeak;
 
        int meter_width = 6;
        if (_route->shared_peak_meter()->input_streams().n_total() == 1) {
@@ -168,6 +172,7 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
        name_label.set_size_request(18, 50);
        name_label.set_alignment(-1.0, .5);
        ARDOUR_UI::instance()->set_tip (name_label, _route->name());
+       ARDOUR_UI::instance()->set_tip (*level_meter, _route->name());
 
        namebx.set_size_request(18, 52);
        namebx.pack_start(name_label, true, false, 3);
@@ -275,8 +280,10 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
 
 MeterStrip::~MeterStrip ()
 {
-       delete level_meter;
-       CatchDeletion (this);
+       if (level_meter) {
+               delete level_meter;
+               CatchDeletion (this);
+       }
 }
 
 void
@@ -343,6 +350,9 @@ MeterStrip::strip_property_changed (const PropertyChange& what_changed)
        ENSURE_GUI_THREAD (*this, &MeterStrip::strip_name_changed, what_changed)
        name_label.set_text(_route->name());
        ARDOUR_UI::instance()->set_tip (name_label, _route->name());
+       if (level_meter) {
+               ARDOUR_UI::instance()->set_tip (*level_meter, _route->name());
+       }
 }
 
 void
@@ -467,13 +477,13 @@ MeterStrip::on_size_allocate (Gtk::Allocation& a)
                        nh = 52;
                        break;
                case 2:
-                       nh = 106;
+                       nh = 88;
                        break;
                case 3:
-                       nh = 148;
+                       nh = 106;
                        break;
                case 4:
-                       nh = 254;
+                       nh = 148;
                        break;
        }
        namebx.set_size_request(18, nh);