- ENSURE_GUI_THREAD (bind (mem_fun(*this, &Mixer_UI::session_state_saved), snap_name));
- redisplay_snapshots ();
+ ENSURE_GUI_THREAD(bind (mem_fun(*this, &Mixer_UI::add_mix_group), group));
+ bool focus = false;
+
+ in_group_row_change = true;
+
+ TreeModel::Row row = *(group_model->append());
+ row[group_columns.active] = group->is_active();
+ row[group_columns.visible] = true;
+ row[group_columns.group] = group;
+ if (!group->name().empty()) {
+ row[group_columns.text] = group->name();
+ } else {
+ row[group_columns.text] = _("unnamed");
+ focus = true;
+ }
+
+ group->FlagsChanged.connect (bind (mem_fun(*this, &Mixer_UI::group_flags_changed), group));
+
+ if (focus) {
+ TreeViewColumn* col = group_display.get_column (0);
+ CellRendererText* name_cell = dynamic_cast<CellRendererText*>(group_display.get_column_cell_renderer (0));
+ group_display.set_cursor (group_model->get_path (row), *col, *name_cell, true);
+ }
+
+ in_group_row_change = false;