X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fgroup_tabs.cc;h=1332d4ba10d7d81039a9ecd45a10cb187cd49277;hb=63b02a265a6d5e821198b5e3fcc1f6ba6d83a129;hp=d53b90584695111dcb528107d4f353beea3c7570;hpb=97d920593ffc796986107e16d7bbf88cc3184043;p=ardour.git diff --git a/gtk2_ardour/group_tabs.cc b/gtk2_ardour/group_tabs.cc index d53b905846..1332d4ba10 100644 --- a/gtk2_ardour/group_tabs.cc +++ b/gtk2_ardour/group_tabs.cc @@ -319,7 +319,11 @@ GroupTabs::get_menu (RouteGroup* g) items.push_back (MenuElem (_("Collect Group"), sigc::bind (sigc::mem_fun (*this, &GroupTabs::collect), g))); items.push_back (MenuElem (_("Remove Group"), sigc::bind (sigc::mem_fun (*this, &GroupTabs::remove_group), g))); items.push_back (SeparatorElem()); - items.push_back (MenuElem (_("Add New Subgroup Bus"), sigc::bind (sigc::mem_fun (*this, &GroupTabs::subgroup), g, false, PreFader))); + if (g->has_subgroup()) { + items.push_back (MenuElem (_("Remove Subgroup Bus"), sigc::bind (sigc::mem_fun (*this, &GroupTabs::un_subgroup), g))); + } else { + items.push_back (MenuElem (_("Add New Subgroup Bus"), sigc::bind (sigc::mem_fun (*this, &GroupTabs::subgroup), g, false, PreFader))); + } items.push_back (MenuElem (_("Add New Aux Bus (pre-fader)"), sigc::bind (sigc::mem_fun (*this, &GroupTabs::subgroup), g, true, PreFader))); items.push_back (MenuElem (_("Add New Aux Bus (post-fader)"), sigc::bind (sigc::mem_fun (*this, &GroupTabs::subgroup), g, true, PostFader))); } @@ -434,6 +438,12 @@ GroupTabs::subgroup (RouteGroup* g, bool aux, Placement placement) g->make_subgroup (aux, placement); } +void +GroupTabs::un_subgroup (RouteGroup* g) +{ + g->destroy_subgroup (); +} + struct CollectSorter { CollectSorter (RouteSortOrderKey key) : _key (key) {}