diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-05-19 20:10:35 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-05-19 20:10:35 +0000 |
commit | 9c6984dbbb5583147788876dba80e203c2d38d1a (patch) | |
tree | 4db0a08b1049f8ddd8f237c85474568e8a62e099 /gtk2_ardour/ardour_ui_ed.cc | |
parent | 50ee09e80ff91bf0146e89728578d5e31aba23b7 (diff) |
allow for mandatory control protocols, plus some ongoing work on automation control point selection (unfinished)
git-svn-id: svn://localhost/trunk/ardour2@516 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui_ed.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui_ed.cc | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index 70031b102a..f8d4943fd7 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -34,6 +34,7 @@ #include <ardour/session.h> #include <ardour/control_protocol_manager.h> +#include <ardour/control_protocol.h> #include "i18n.h" @@ -472,24 +473,27 @@ ARDOUR_UI::build_control_surface_menu () for (i = ControlProtocolManager::instance().control_protocol_info.begin(); i != ControlProtocolManager::instance().control_protocol_info.end(); ++i) { - string action_name = "Toggle"; - action_name += legalize_for_path ((*i)->name); - action_name += "Surface"; - - string action_label = (*i)->name; - - Glib::RefPtr<Action> act = ActionManager::register_toggle_action (editor->editor_actions, action_name.c_str(), action_label.c_str(), - (bind (mem_fun (*this, &ARDOUR_UI::toggle_control_protocol), *i))); - - Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act); - - if ((*i)->protocol || (*i)->requested) { - tact->set_active (); + if (!(*i)->mandatory) { + + string action_name = "Toggle"; + action_name += legalize_for_path ((*i)->name); + action_name += "Surface"; + + string action_label = (*i)->name; + + Glib::RefPtr<Action> act = ActionManager::register_toggle_action (editor->editor_actions, action_name.c_str(), action_label.c_str(), + (bind (mem_fun (*this, &ARDOUR_UI::toggle_control_protocol), *i))); + + Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act); + + if ((*i)->protocol || (*i)->requested) { + tact->set_active (); + } + + ui += "<menuitem action='"; + ui += action_name; + ui += "'/>\n"; } - - ui += "<menuitem action='"; - ui += action_name; - ui += "'/>\n"; } ui += "</menu>\n</menu>\n</menubar>\n"; |