summaryrefslogtreecommitdiff
path: root/gtk2_ardour/level_meter.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-10-05 15:36:45 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-10-05 15:36:45 +0000
commitb462493f44d9004853a6d242ae295496af12478c (patch)
tree66f8a04b9fcc9c7083d33ecfb4915b94dfbfc770 /gtk2_ardour/level_meter.cc
parentf138091f7e6413623390cd2168aaac7d0a7d71c2 (diff)
make RouteUI and its children and relations able to switch the Route/IO object they refer to (significant architectural changes)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3869 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/level_meter.cc')
-rw-r--r--gtk2_ardour/level_meter.cc15
1 files changed, 12 insertions, 3 deletions
diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc
index 601f4c45dc..f6680db79c 100644
--- a/gtk2_ardour/level_meter.cc
+++ b/gtk2_ardour/level_meter.cc
@@ -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;