Tidy up region gain line drawing slightly so that it doesn't overhang its region...
[ardour.git] / gtk2_ardour / level_meter.cc
index 601f4c45dcfb16f0b669bf38fbe03b3933101833..f6680db79c725791817650aebec3ac0a0aca25b3 100644 (file)
@@ -57,9 +57,8 @@ using namespace std;
 //sigc::signal<void,RouteGroup*> LevelMeter::ResetGroupPeakDisplays;
 
 
-LevelMeter::LevelMeter (boost::shared_ptr<IO> io, Session& s)
-       : _io (io),
-         _session (s)
+LevelMeter::LevelMeter (Session& s)
+       : _session (s)
        
 {
        set_spacing (1);
@@ -84,6 +83,12 @@ LevelMeter::~LevelMeter ()
        }
 }
 
+void
+LevelMeter::set_io (boost::shared_ptr<IO> io)
+{
+       _io = io;
+}
+
 float
 LevelMeter::update_meters ()
 {
@@ -140,6 +145,10 @@ LevelMeter::hide_all_meters ()
 void
 LevelMeter::setup_meters (int len, int initial_width)
 {
+       if (!_io) {
+               return; /* do it later */
+       }
+
        regular_meter_width = initial_width;
        uint32_t nmeters = _io->n_outputs();
        guint16 width;