diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-06-10 14:44:57 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-06-10 14:49:35 -0400 |
commit | fbc51c03ef1907e0869bb31b7262c533769b25bb (patch) | |
tree | 930083449c3cd7cbf361f31139610807cb3c2d7d /gtk2_ardour | |
parent | 3127eeb97d23b2b7ff948f0c7afe91aaeb2079ca (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.cc | 39 |
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); } |