diff options
author | David Robillard <d@drobilla.net> | 2009-02-18 20:53:54 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-02-18 20:53:54 +0000 |
commit | 1f9c3f34d95ecc148b2e796e6361d1c16f533d6c (patch) | |
tree | d35cdfc92919533fe33ecea350e5469f6ce81c12 /gtk2_ardour/ardour_ui_ed.cc | |
parent | 22088e77a75c4eb2a7ed369ce3491b87f208329e (diff) |
Fix MIDI controller feedback.
Make control surfaces menu less weird.
git-svn-id: svn://localhost/ardour2/branches/3.0@4625 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui_ed.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui_ed.cc | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index 703b7ed06a..1b4d434c15 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -715,20 +715,27 @@ ARDOUR_UI::build_control_surface_menu () /* !!! this has to match the top level entry from ardour.menus */ - string ui = "<menubar name='Main' action='MainMenu'>\n<menu name='Options' action='Options'>\n<menu action='ControlSurfaces'><separator/>\n"; + string ui = "<menubar name='Main' action='MainMenu'>\n" + "<menu name='Options' action='Options'>\n" + "<menu action='ControlSurfaces'><separator/>\n"; - for (i = ControlProtocolManager::instance().control_protocol_info.begin(); i != ControlProtocolManager::instance().control_protocol_info.end(); ++i) { + for (i = ControlProtocolManager::instance().control_protocol_info.begin(); + i != ControlProtocolManager::instance().control_protocol_info.end(); ++i) { if (!(*i)->mandatory) { + // Enable surface + 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<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); @@ -742,27 +749,21 @@ ARDOUR_UI::build_control_surface_menu () ui += action_name; ui += "'/>\n"; - if ((*i)->supports_feedback) { - - string submenu_name = action_name; - - submenu_name += "SubMenu"; + // Enable feedback - ActionManager::register_action (editor->editor_actions, submenu_name.c_str(), _("Controls")); + if ((*i)->supports_feedback) { action_name += "Feedback"; - - Glib::RefPtr<Action> act = ActionManager::register_toggle_action (editor->editor_actions, action_name.c_str(), _("Feedback"), - (bind (mem_fun (*this, &ARDOUR_UI::toggle_control_protocol_feedback), - *i, - "Editor", - action_name))); - - ui += "<menu action='"; - ui += submenu_name; - ui += "'>\n<menuitem action='"; + string feedback_label = action_label + " " + _("Feedback"); + + Glib::RefPtr<Action> act = ActionManager::register_toggle_action ( + editor->editor_actions, action_name.c_str(), feedback_label.c_str(), (bind ( + mem_fun (*this, &ARDOUR_UI::toggle_control_protocol_feedback), + *i, "Editor", action_name))); + + ui += "<menuitem action='"; ui += action_name; - ui += "'/>\n</menu>\n"; + ui += "'/>\n"; if ((*i)->protocol) { Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act); |