diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-09-12 17:49:57 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-09-12 17:49:57 +0000 |
commit | 265cf739b5c40839a66aa53e06b31d6a256af03a (patch) | |
tree | d3ab6c3e09037a9dfec6ff0afec3902b28105642 /gtk2_ardour | |
parent | 93bc6e5b58e321cd76b069d744a6f68acf530a9f (diff) |
add MIDI panic action (which has to be on a menu, sigh ... stupid GTK)
git-svn-id: svn://localhost/ardour2/branches/3.0@5658 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour.menus.in | 1 | ||||
-rw-r--r-- | gtk2_ardour/editor.cc | 34 | ||||
-rw-r--r-- | gtk2_ardour/editor.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor_actions.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/mnemonic-us.bindings.in | 3 |
5 files changed, 21 insertions, 25 deletions
diff --git a/gtk2_ardour/ardour.menus.in b/gtk2_ardour/ardour.menus.in index 51d55b132d..1378234d9a 100644 --- a/gtk2_ardour/ardour.menus.in +++ b/gtk2_ardour/ardour.menus.in @@ -136,6 +136,7 @@ <menuitem action='ToggleAutoReturn'/> <menuitem action='ToggleClick'/> <menuitem action='toggle-follow-playhead'/> + <menuitem action='panic'/> <separator/> </menu> diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 674f1077f8..fb917ac19e 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -470,8 +470,6 @@ Editor::Editor () edit_hscrollbar.set_name ("EditorHScrollbar"); build_cursors (); - setup_toolbar (); - setup_midi_toolbar (); edit_point_clock.ValueChanged.connect (mem_fun(*this, &Editor::edit_point_clock_changed)); @@ -605,6 +603,9 @@ Editor::Editor () register_actions (); + setup_toolbar (); + setup_midi_toolbar (); + snap_type = SnapToBeat; set_snap_to (snap_type); snap_mode = SnapOff; @@ -2995,8 +2996,10 @@ Editor::setup_toolbar () } void -Editor::midi_panic_button_pressed () +Editor::midi_panic () { + cerr << "MIDI panic\n"; + if (session) { session->midi_panic(); } @@ -3005,26 +3008,8 @@ Editor::midi_panic_button_pressed () void Editor::setup_midi_toolbar () { -#if 0 - midi_tool_pencil_button.add (*(manage (new Image (::get_icon("midi_tool_pencil"))))); - midi_tool_pencil_button.set_relief(Gtk::RELIEF_NONE); - midi_tool_buttons.push_back (&midi_tool_pencil_button); - midi_tool_select_button.add (*(manage (new Image (::get_icon("midi_tool_select"))))); - midi_tool_select_button.set_relief(Gtk::RELIEF_NONE); - midi_tool_buttons.push_back (&midi_tool_select_button); - midi_tool_resize_button.add (*(manage (new Image (::get_icon("strip_width"))))); - midi_tool_resize_button.set_relief(Gtk::RELIEF_NONE); - midi_tool_buttons.push_back (&midi_tool_resize_button); - midi_tool_erase_button.add (*(manage (new Image (::get_icon("midi_tool_erase"))))); - midi_tool_erase_button.set_relief(Gtk::RELIEF_NONE); - midi_tool_buttons.push_back (&midi_tool_erase_button); - - ARDOUR_UI::instance()->tooltips().set_tip (midi_tool_pencil_button, _("Add/Move/Stretch Notes")); - ARDOUR_UI::instance()->tooltips().set_tip (midi_tool_select_button, _("Select/Move Notes")); - ARDOUR_UI::instance()->tooltips().set_tip (midi_tool_resize_button, _("Resize Notes")); - ARDOUR_UI::instance()->tooltips().set_tip (midi_tool_erase_button, _("Erase Notes")); -#endif - + RefPtr<Action> act; + /* Midi sound notes */ midi_sound_notes.add (*(manage (new Image (::get_icon("midi_sound_notes"))))); midi_sound_notes.set_relief(Gtk::RELIEF_NONE); @@ -3033,8 +3018,9 @@ Editor::setup_midi_toolbar () /* Panic */ + act = ActionManager::get_action (X_("MIDI"), X_("panic")); midi_panic_button.set_name("MidiPanicButton"); - midi_panic_button.signal_pressed().connect (mem_fun(this, &Editor::midi_panic_button_pressed)); + act->connect_proxy (midi_panic_button); panic_box.pack_start (midi_sound_notes , true, true); panic_box.pack_start (midi_panic_button, true, true); diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 56a7755051..5b68abc7bd 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -1598,7 +1598,7 @@ public: Gtk::HBox panic_box; Gtk::Button midi_panic_button; Gtk::ToggleButton midi_sound_notes; - void midi_panic_button_pressed (); + void midi_panic (); bool sound_notes () const { return midi_sound_notes.get_active(); } void setup_midi_toolbar (); diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc index 21edd3828c..db99e3529e 100644 --- a/gtk2_ardour/editor_actions.cc +++ b/gtk2_ardour/editor_actions.cc @@ -866,12 +866,18 @@ Editor::register_actions () Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act); tact->set_active (true); + /* MIDI */ + + Glib::RefPtr<ActionGroup> midi_actions = ActionGroup::create (X_("MIDI")); + ActionManager::register_action (midi_actions, X_("panic"), _("Panic"), mem_fun(*this, &Editor::midi_panic)); + ActionManager::add_action_group (rl_actions); ActionManager::add_action_group (ruler_actions); ActionManager::add_action_group (zoom_actions); ActionManager::add_action_group (mouse_mode_actions); ActionManager::add_action_group (snap_actions); ActionManager::add_action_group (editor_actions); + ActionManager::add_action_group (midi_actions); } void diff --git a/gtk2_ardour/mnemonic-us.bindings.in b/gtk2_ardour/mnemonic-us.bindings.in index 0979894fb0..46d7eeaa1c 100644 --- a/gtk2_ardour/mnemonic-us.bindings.in +++ b/gtk2_ardour/mnemonic-us.bindings.in @@ -84,6 +84,8 @@ This mode provides many different operations on both regions and control points, %mopsolo Mouse Ops on Solo Buttons only %mopsfader Mouse Ops on Faders \& Plugin Controls +%midi MIDI specific commands + ;; END GROUP DEFINITIONS ;; punctuation @@ -154,6 +156,7 @@ This mode provides many different operations on both regions and control points, @rop|Editor/naturalize-region|<@LEVEL4@>o|move to original position @trans|Editor/set-playhead|p|toggle auto-punch status @select|Editor/select-all-before-playhead|<@PRIMARY@>p|all before playhead +@midi|MIDI/panic|<@SECONDARY@>p|MIDI panic (stop all notes etc) @select|Editor/select-all-after-playhead|<@TERTIARY@><@PRIMARY@>p|all after playhead ;; MIDDLE ROW |