summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-09-10 22:20:37 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-09-10 22:20:37 +0000
commit42e1e00f06b3f984eb65ce6ae95c80c68324954d (patch)
tree7466df501368335c53361a78e398a5000ef1e0a1 /gtk2_ardour
parent2ff1cd99af1b32434819c9dc48f1c5459837eaa3 (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.cc5
-rw-r--r--gtk2_ardour/midi_time_axis.cc12
-rw-r--r--gtk2_ardour/midi_time_axis.h2
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;