fix display-type of editor-mixer level-meter
authorRobin Gareus <robin@gareus.org>
Wed, 24 Jul 2013 14:15:06 +0000 (16:15 +0200)
committerRobin Gareus <robin@gareus.org>
Wed, 24 Jul 2013 14:15:06 +0000 (16:15 +0200)
gtk2_ardour/level_meter.cc
gtk2_ardour/level_meter.h

index d57481b701939e28fc18edf2fe4b9f75e6f50823..f0562ea716d88f64114f4c2503acbb54d3a121b4 100644 (file)
@@ -361,7 +361,7 @@ LevelMeter::setup_meters (int len, int initial_width, int thin_width)
                                }
                        }
                }
-               if (meters[n].width != width || meters[n].length != len || color_changed) {
+               if (meters[n].width != width || meters[n].length != len || color_changed || meter_type != visible_meter_type) {
                        delete meters[n].meter;
                        meters[n].meter = new FastMeter ((uint32_t) floor (Config->get_meter_hold()), width, FastMeter::Vertical, len,
                                        c[0], c[1], c[2], c[3], c[4],
@@ -383,6 +383,7 @@ LevelMeter::setup_meters (int len, int initial_width, int thin_width)
        }
        show();
        color_changed = false;
+       visible_meter_type = meter_type;
 }
 
 void
index ead63aa50b8f090517a8744fc7bed53a9eab1aa7..d3fd4f9bbdbefdf8cf37b0591ca152c6def288b5 100644 (file)
@@ -101,6 +101,7 @@ class LevelMeter : public Gtk::HBox, public ARDOUR::SessionHandlePtr
        std::vector<MeterInfo> meters;
        float                  max_peak;
        ARDOUR::MeterType      meter_type;
+       ARDOUR::MeterType      visible_meter_type;
 
        PBD::ScopedConnection _configuration_connection;
        PBD::ScopedConnection _meter_type_connection;