#include <gtkmm/menuitem.h>
#include <gtkmm2ext/gtk_ui.h>
#include <gtkmm2ext/selector.h>
-#include <gtkmm2ext/stop_signal.h>
#include <gtkmm2ext/bindable_button.h>
#include <gtkmm2ext/utils.h>
update_diskstream_display ();
+ _subplugin_menu_map.clear ();
subplugin_menu.items().clear ();
_route->foreach_processor (sigc::mem_fun (*this, &RouteTimeAxisView::add_processor_to_subplugin_menu));
_route->foreach_processor (sigc::mem_fun (*this, &RouteTimeAxisView::add_existing_processor_automation_curves));
detach_menu (subplugin_menu);
+ _main_automation_menu_map.clear ();
delete automation_action_menu;
automation_action_menu = new Menu;
items.push_back (MenuElem (_("Hide All Automation"),
sigc::mem_fun(*this, &RouteTimeAxisView::hide_all_automation)));
+
+ items.push_back (SeparatorElem ());
/* Attach the plugin submenu. It may have previously been used elsewhere,
so it was detached above */
- items.push_back (MenuElem (_("Plugins"), subplugin_menu));
+ items.push_back (MenuElem (_("Plugins"), subplugin_menu));
items.back().set_sensitive (!subplugin_menu.items().empty());
}
MenuList& items = display_menu->items();
display_menu->set_name ("ArdourContextMenu");
- items.push_back (MenuElem (_("Color"), sigc::mem_fun(*this, &RouteTimeAxisView::select_track_color)));
+ items.push_back (MenuElem (_("Color..."), sigc::mem_fun(*this, &RouteTimeAxisView::select_track_color)));
items.push_back (SeparatorElem());
i->second->get_state_node()->add_property ("shown", X_("yes"));
Gtk::CheckMenuItem* menu = automation_child_menu_item (i->first);
- assert (menu);
- menu->set_active(true);
+ if (menu) {
+ menu->set_active(true);
+ }
}
}
items.push_back (CheckMenuElem (name));
mitem = dynamic_cast<CheckMenuItem*> (&items.back());
+ _subplugin_menu_map[*i] = mitem;
+
if (has_visible_automation.find((*i)) != has_visible_automation.end()) {
mitem->set_active(true);
}
(*i)->valid = false;
}
+ _subplugin_menu_map.clear ();
subplugin_menu.items().clear ();
_route->foreach_processor (sigc::mem_fun (*this, &RouteTimeAxisView::add_processor_to_subplugin_menu));
Gtk::CheckMenuItem*
RouteTimeAxisView::automation_child_menu_item (Evoral::Parameter param)
{
- ParameterMenuMap::iterator i = _parameter_menu_map.find (param);
- if (i == _parameter_menu_map.end()) {
- return 0;
+ ParameterMenuMap::iterator i = _main_automation_menu_map.find (param);
+ if (i != _main_automation_menu_map.end()) {
+ return i->second;
+ }
+
+ i = _subplugin_menu_map.find (param);
+ if (i != _subplugin_menu_map.end()) {
+ return i->second;
}
- return i->second;
+ return 0;
}