diff options
author | David Robillard <d@drobilla.net> | 2007-10-14 05:45:31 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-10-14 05:45:31 +0000 |
commit | 14dcc3f0170f8c723bcef0a59562adce0e8e7596 (patch) | |
tree | ca173319a68bd575a0721236df90d14a57cbda86 /gtk2_ardour/editor.cc | |
parent | 15af67c179ce336867c8f783388384f3ce214a99 (diff) |
Fix displaying of notes in auto-created MIDI region when it's the first region in the track.
Fix crash after recording long phrases of MIDI.
Fix MIDI looping (kinda).
Add note-off exposure to MidiModel::iterator.
Fix first-note-is-stuck-note problem.
Fix resolving long notes while recording.
Fix several other things I forget now. MIDI works pretty well.....
git-svn-id: svn://localhost/ardour2/trunk@2555 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor.cc')
-rw-r--r-- | gtk2_ardour/editor.cc | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index f0a2bfa809..3a7009e7b7 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -158,8 +158,8 @@ Gdk::Cursor* Editor::zoom_cursor = 0; Gdk::Cursor* Editor::time_fx_cursor = 0; Gdk::Cursor* Editor::fader_cursor = 0; Gdk::Cursor* Editor::speaker_cursor = 0; -Gdk::Cursor* Editor::midi_select_cursor = 0; Gdk::Cursor* Editor::midi_pencil_cursor = 0; +Gdk::Cursor* Editor::midi_select_cursor = 0; Gdk::Cursor* Editor::midi_erase_cursor = 0; Gdk::Cursor* Editor::wait_cursor = 0; Gdk::Cursor* Editor::timebar_cursor = 0; @@ -349,7 +349,7 @@ Editor::Editor () range_marker_drag_rect = 0; marker_drag_line = 0; - set_midi_edit_mode (MidiEditSelect, true); + set_midi_edit_mode (MidiEditPencil, true); set_mouse_mode (MouseObject, true); frames_per_unit = 2048; /* too early to use reset_zoom () */ @@ -1310,8 +1310,8 @@ Editor::build_cursors () time_fx_cursor = new Gdk::Cursor (SIZING); wait_cursor = new Gdk::Cursor (WATCH); timebar_cursor = new Gdk::Cursor(LEFT_PTR); - midi_select_cursor = new Gdk::Cursor (CENTER_PTR); midi_pencil_cursor = new Gdk::Cursor (PENCIL); + midi_select_cursor = new Gdk::Cursor (CENTER_PTR); midi_erase_cursor = new Gdk::Cursor (DRAPED_BOX); } @@ -1666,12 +1666,14 @@ Editor::add_region_context_items (Menu_Helpers::MenuList& edit_items) if (have_selected_audio_region) { Menu* envelopes_menu = manage (new Menu); - MenuList& envelopes_items = envelopes_menu->items(); + envelopes_menu->set_name ("ArdourContextMenu"); #if FIXUP_REGION_MENU XXX NEED TO RESOLVE ONE v. MANY REGION ISSUE + + MenuList& envelopes_items = envelopes_menu->items(); RegionView* rv = sv->find_view (ar); AudioRegionView* arv = dynamic_cast<AudioRegionView*>(rv); @@ -2751,44 +2753,44 @@ Editor::setup_midi_toolbar () vector<ToggleButton *> midi_tool_buttons; - 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_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_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); - midi_tool_select_button.set_active(true); + midi_tool_pencil_button.set_active(true); midi_tool_button_set = new GroupedButtons (midi_tool_buttons); midi_tool_button_box.set_border_width (2); midi_tool_button_box.set_spacing(4); midi_tool_button_box.set_spacing(1); - midi_tool_button_box.pack_start(midi_tool_select_button, true, true); midi_tool_button_box.pack_start(midi_tool_pencil_button, true, true); + midi_tool_button_box.pack_start(midi_tool_select_button, true, true); midi_tool_button_box.pack_start(midi_tool_erase_button, true, true); midi_tool_button_box.set_homogeneous(true); - midi_tool_select_button.set_name ("MouseModeButton"); midi_tool_pencil_button.set_name ("MouseModeButton"); + midi_tool_select_button.set_name ("MouseModeButton"); midi_tool_erase_button.set_name ("MouseModeButton"); - ARDOUR_UI::instance()->tooltips().set_tip (midi_tool_select_button, _("Select/Move Notes")); 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_erase_button, _("Erase Notes")); - midi_tool_select_button.unset_flags (CAN_FOCUS); midi_tool_pencil_button.unset_flags (CAN_FOCUS); + midi_tool_select_button.unset_flags (CAN_FOCUS); midi_tool_erase_button.unset_flags (CAN_FOCUS); - midi_tool_select_button.signal_toggled().connect (bind (mem_fun(*this, - &Editor::midi_edit_mode_toggled), Editing::MidiEditSelect)); midi_tool_pencil_button.signal_toggled().connect (bind (mem_fun(*this, &Editor::midi_edit_mode_toggled), Editing::MidiEditPencil)); + midi_tool_select_button.signal_toggled().connect (bind (mem_fun(*this, + &Editor::midi_edit_mode_toggled), Editing::MidiEditSelect)); midi_tool_erase_button.signal_toggled().connect (bind (mem_fun(*this, &Editor::midi_edit_mode_toggled), Editing::MidiEditErase)); |