summaryrefslogtreecommitdiff
path: root/gtk2_ardour/mixer_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/mixer_ui.cc')
-rw-r--r--gtk2_ardour/mixer_ui.cc62
1 files changed, 32 insertions, 30 deletions
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index c2eb588b2f..84fade5472 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -251,38 +251,42 @@ Mixer_UI::show_window ()
}
void
-Mixer_UI::add_strip (boost::shared_ptr<Route> route)
+Mixer_UI::add_strip (Session::RouteList& routes)
{
- ENSURE_GUI_THREAD(bind (mem_fun(*this, &Mixer_UI::add_strip), route));
+ ENSURE_GUI_THREAD(bind (mem_fun(*this, &Mixer_UI::add_strip), routes));
MixerStrip* strip;
- if (route->hidden()) {
- return;
- }
-
- strip = new MixerStrip (*this, *session, route);
- strips.push_back (strip);
-
- strip->set_width (_strip_width);
- show_strip (strip);
-
- no_track_list_redisplay = true;
-
- TreeModel::Row row = *(track_model->append());
- row[track_columns.text] = route->name();
-
- row[track_columns.visible] = true;
- row[track_columns.route] = route;
- row[track_columns.strip] = strip;
-
- no_track_list_redisplay = false;
- redisplay_track_list ();
-
- route->name_changed.connect (bind (mem_fun(*this, &Mixer_UI::strip_name_changed), strip));
- strip->GoingAway.connect (bind (mem_fun(*this, &Mixer_UI::remove_strip), strip));
+ for (Session::RouteList::iterator x = routes.begin(); x != routes.end(); ++x) {
+ boost::shared_ptr<Route> route = (*x);
- strip->signal_button_release_event().connect (bind (mem_fun(*this, &Mixer_UI::strip_button_release_event), strip));
+ if (route->hidden()) {
+ return;
+ }
+
+ strip = new MixerStrip (*this, *session, route);
+ strips.push_back (strip);
+
+ strip->set_width (_strip_width);
+ show_strip (strip);
+
+ no_track_list_redisplay = true;
+
+ TreeModel::Row row = *(track_model->append());
+ row[track_columns.text] = route->name();
+
+ row[track_columns.visible] = true;
+ row[track_columns.route] = route;
+ row[track_columns.strip] = strip;
+
+ no_track_list_redisplay = false;
+ redisplay_track_list ();
+
+ route->name_changed.connect (bind (mem_fun(*this, &Mixer_UI::strip_name_changed), strip));
+ strip->GoingAway.connect (bind (mem_fun(*this, &Mixer_UI::remove_strip), strip));
+
+ strip->signal_button_release_event().connect (bind (mem_fun(*this, &Mixer_UI::strip_button_release_event), strip));
+ }
}
void
@@ -623,9 +627,7 @@ Mixer_UI::initial_track_display ()
track_model->clear ();
- for (Session::RouteList::iterator i = copy.begin(); i != copy.end(); ++i) {
- add_strip (*i);
- }
+ add_strip (copy);
no_track_list_redisplay = false;