summaryrefslogtreecommitdiff
path: root/gtk2_ardour/group_tabs.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-05-21 07:49:51 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:44 -0400
commitf8f7894ad9306f1c7359d664020bc97b6bd39f17 (patch)
tree4ddb1178b988363447761168a4ca452e4304b94d /gtk2_ardour/group_tabs.cc
parentd09b466f056e0fb1c9809ce684c503f1e9963e29 (diff)
make create group with master actually create (and name) master
Diffstat (limited to 'gtk2_ardour/group_tabs.cc')
-rw-r--r--gtk2_ardour/group_tabs.cc14
1 files changed, 11 insertions, 3 deletions
diff --git a/gtk2_ardour/group_tabs.cc b/gtk2_ardour/group_tabs.cc
index 91e865069c..d0e1763d04 100644
--- a/gtk2_ardour/group_tabs.cc
+++ b/gtk2_ardour/group_tabs.cc
@@ -363,10 +363,10 @@ GroupTabs::get_menu (RouteGroup* g, bool in_tab_area)
vca_menu = new Menu;
MenuList& f (vca_menu->items());
- f.push_back (MenuElem ("New", sigc::bind (sigc::mem_fun (*this, &GroupTabs::assign_group_to_master), 0, g)));
+ f.push_back (MenuElem ("New", sigc::bind (sigc::mem_fun (*this, &GroupTabs::assign_group_to_master), 0, g, true)));
for (VCAList::const_iterator v = vcas.begin(); v != vcas.end(); ++v) {
- f.push_back (MenuElem (string_compose ("VCA %1", (*v)->number()), sigc::bind (sigc::mem_fun (*this, &GroupTabs::assign_group_to_master), (*v)->number(), g)));
+ f.push_back (MenuElem (string_compose ("VCA %1", (*v)->number()), sigc::bind (sigc::mem_fun (*this, &GroupTabs::assign_group_to_master), (*v)->number(), g, true)));
}
items.push_back (MenuElem (_("Assign Group to Control Master..."), *vca_menu));
@@ -436,7 +436,7 @@ GroupTabs::get_menu (RouteGroup* g, bool in_tab_area)
}
void
-GroupTabs::assign_group_to_master (uint32_t which, RouteGroup* group)
+GroupTabs::assign_group_to_master (uint32_t which, RouteGroup* group, bool rename_master)
{
if (!_session || !group) {
return;
@@ -465,6 +465,10 @@ GroupTabs::assign_group_to_master (uint32_t which, RouteGroup* group)
}
group->assign_master (master);
+
+ if (rename_master){
+ master->set_name (group->name());
+ }
}
void
@@ -597,6 +601,10 @@ GroupTabs::run_new_group_dialog (RouteList const & rl, bool with_master)
for (RouteList::const_iterator i = rl.begin(); i != rl.end(); ++i) {
g->add (*i);
}
+
+ if (with_master) {
+ assign_group_to_master (0, g, true); /* zero => new master */
+ }
}
}