From: Paul Davis Date: Sat, 21 May 2016 11:49:51 +0000 (-0400) Subject: make create group with master actually create (and name) master X-Git-Tag: 5.0-pre0~74 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=f8f7894ad9306f1c7359d664020bc97b6bd39f17;p=ardour.git make create group with master actually create (and name) master --- 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 */ + } } } diff --git a/gtk2_ardour/group_tabs.h b/gtk2_ardour/group_tabs.h index cdd0844845..f718128e5f 100644 --- a/gtk2_ardour/group_tabs.h +++ b/gtk2_ardour/group_tabs.h @@ -122,7 +122,7 @@ private: void route_added_to_route_group (ARDOUR::RouteGroup *, boost::weak_ptr); void route_removed_from_route_group (ARDOUR::RouteGroup *, boost::weak_ptr); - void assign_group_to_master (uint32_t which, ARDOUR::RouteGroup*); + void assign_group_to_master (uint32_t which, ARDOUR::RouteGroup*, bool rename_master); void assign_selection_to_master (uint32_t which); void assign_recenabled_to_master (uint32_t which); void assign_soloed_to_master (uint32_t which);