summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-10-14 05:45:31 +0000
committerDavid Robillard <d@drobilla.net>2007-10-14 05:45:31 +0000
commit14dcc3f0170f8c723bcef0a59562adce0e8e7596 (patch)
treeca173319a68bd575a0721236df90d14a57cbda86 /gtk2_ardour/editor.cc
parent15af67c179ce336867c8f783388384f3ce214a99 (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.cc30
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));