summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui_ed.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-02-18 20:53:54 +0000
committerDavid Robillard <d@drobilla.net>2009-02-18 20:53:54 +0000
commit1f9c3f34d95ecc148b2e796e6361d1c16f533d6c (patch)
treed35cdfc92919533fe33ecea350e5469f6ce81c12 /gtk2_ardour/ardour_ui_ed.cc
parent22088e77a75c4eb2a7ed369ce3491b87f208329e (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.cc43
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);