summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-06-10 14:44:57 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-06-10 14:49:35 -0400
commitfbc51c03ef1907e0869bb31b7262c533769b25bb (patch)
tree930083449c3cd7cbf361f31139610807cb3c2d7d /gtk2_ardour
parent3127eeb97d23b2b7ff948f0c7afe91aaeb2079ca (diff)
do not add master to Mixer_UI's TreeModel - explicitly pack it and never unpack it
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/mixer_ui.cc39
1 files changed, 17 insertions, 22 deletions
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index a188b4a12b..d88a7b9b16 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -587,18 +587,25 @@ Mixer_UI::add_stripables (StripableList& slist)
strip->set_width_enum (_strip_width, this);
}
-
show_strip (strip);
- TreeModel::Row row = *(track_model->insert (insert_iter));
+ if (!route->is_master()) {
+
+ TreeModel::Row row = *(track_model->insert (insert_iter));
- row[stripable_columns.text] = route->name();
- row[stripable_columns.visible] = route->is_master() ? true : strip->marked_for_display();
- row[stripable_columns.stripable] = route;
- row[stripable_columns.strip] = strip;
+ row[stripable_columns.text] = route->name();
+ row[stripable_columns.visible] = strip->marked_for_display();
+ row[stripable_columns.stripable] = route;
+ row[stripable_columns.strip] = strip;
- if (nroutes != 0) {
- _selection.add (strip);
+ if (nroutes != 0) {
+ _selection.add (strip);
+ }
+
+ } else {
+
+ out_packer.pack_start (*strip, false, false);
+ strip->set_packed (true);
}
strip->WidthChanged.connect (sigc::mem_fun(*this, &Mixer_UI::strip_width_changed));
@@ -1328,21 +1335,9 @@ Mixer_UI::redisplay_track_list ()
if (visible) {
if (strip->packed()) {
-
- if (stripable->is_master() || stripable->is_monitor()) {
- out_packer.reorder_child (*strip, -1);
-
- } else {
- strip_packer.reorder_child (*strip, -1); /* put at end */
- }
-
+ strip_packer.reorder_child (*strip, -1); /* put at end */
} else {
-
- if (stripable->is_master() || stripable->is_monitor()) {
- out_packer.pack_start (*strip, false, false);
- } else {
- strip_packer.pack_start (*strip, false, false);
- }
+ strip_packer.pack_start (*strip, false, false);
strip->set_packed (true);
}