diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-09-10 22:20:37 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-09-10 22:20:37 +0000 |
commit | 42e1e00f06b3f984eb65ce6ae95c80c68324954d (patch) | |
tree | 7466df501368335c53361a78e398a5000ef1e0a1 /gtk2_ardour | |
parent | 2ff1cd99af1b32434819c9dc48f1c5459837eaa3 (diff) |
add step-rest keybinding for step editing
git-svn-id: svn://localhost/ardour2/branches/3.0@5653 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 5 | ||||
-rw-r--r-- | gtk2_ardour/midi_time_axis.cc | 12 | ||||
-rw-r--r-- | gtk2_ardour/midi_time_axis.h | 2 |
3 files changed, 16 insertions, 3 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index cefde608dd..6acbacc439 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -321,7 +321,12 @@ MidiRegionView::canvas_event(GdkEvent* ev) } else if (ev->key.keyval == GDK_Control_L) { return true; + } else if (ev->key.keyval == GDK_r) { + /* if we're not step editing, this really doesn't matter */ + midi_view()->step_edit_rest (); + return true; } + return false; case GDK_KEY_RELEASE: diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc index 1bc8c7a453..6103e02544 100644 --- a/gtk2_ardour/midi_time_axis.cc +++ b/gtk2_ardour/midi_time_axis.cc @@ -117,6 +117,8 @@ MidiTimeAxisView::MidiTimeAxisView (PublicEditor& ed, Session& sess, mute_button->set_active (false); solo_button->set_active (false); + + step_edit_insert_position = 0; if (is_midi_track()) { controls_ebox.set_name ("MidiTimeAxisViewControlsBaseUnselected"); @@ -610,7 +612,6 @@ MidiTimeAxisView::check_step_edit () if ((buf[0] & 0xf0) == MIDI_CMD_NOTE_ON) { if (step_edit_region == 0) { - cerr << "Add new region first ..\n"; step_edit_region = add_region (step_edit_insert_position); RegionView* rv = view()->find_view (step_edit_region); @@ -632,7 +633,6 @@ MidiTimeAxisView::check_step_edit () continue; } - cerr << "will add note at " << step_edit_beat_pos << endl; step_edit_region_view->add_note (buf[0] & 0xf, buf[1], buf[2], step_edit_beat_pos, beats); step_edit_beat_pos += beats; } @@ -641,6 +641,14 @@ MidiTimeAxisView::check_step_edit () } } +void +MidiTimeAxisView::step_edit_rest () +{ + bool success; + Evoral::MusicalTime beats = _editor.get_grid_type_as_beats (success, step_edit_insert_position); + step_edit_beat_pos += beats; +} + boost::shared_ptr<Region> MidiTimeAxisView::add_region (nframes64_t pos) { diff --git a/gtk2_ardour/midi_time_axis.h b/gtk2_ardour/midi_time_axis.h index 33a5f779bd..fd9db05a99 100644 --- a/gtk2_ardour/midi_time_axis.h +++ b/gtk2_ardour/midi_time_axis.h @@ -91,7 +91,7 @@ class MidiTimeAxisView : public RouteTimeAxisView void start_step_editing (); void stop_step_editing (); void check_step_edit (); - + void step_edit_rest (); private: sigc::signal<void, std::string, std::string> _midi_patch_settings_changed; |