diff options
-rw-r--r-- | gtk2_ardour/audio_region_view.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/audio_region_view.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor_mouse.cc | 3 |
3 files changed, 5 insertions, 4 deletions
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc index c6e42c0a4b..a42d5a0105 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -963,7 +963,7 @@ AudioRegionView::peaks_ready_handler (uint32_t which) } void -AudioRegionView::add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *ev) +AudioRegionView::add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *ev, bool with_guard_points) { if (!gain_line) { return; @@ -1008,7 +1008,7 @@ AudioRegionView::add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *ev) trackview.session()->add_command (new MementoCommand<AudioRegion>(*(audio_region().get()), ®ion_before, ®ion_after)); } - audio_region()->envelope()->add (fx, y); + audio_region()->envelope()->add (fx, y, with_guard_points); XMLNode &after = audio_region()->envelope()->get_state(); trackview.session()->add_command (new MementoCommand<AutomationList>(*audio_region()->envelope().get(), &before, &after)); diff --git a/gtk2_ardour/audio_region_view.h b/gtk2_ardour/audio_region_view.h index 10159d0cfb..b7b3492e34 100644 --- a/gtk2_ardour/audio_region_view.h +++ b/gtk2_ardour/audio_region_view.h @@ -81,7 +81,7 @@ class AudioRegionView : public RegionView void update_envelope_visibility (); - void add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *event); + void add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *event, bool with_guard_points); void remove_gain_point_event (ArdourCanvas::Item *item, GdkEvent *event); boost::shared_ptr<AudioRegionGainLine> get_gain_line() const { return gain_line; } diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 9e19578ce7..8c515636fb 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -1702,7 +1702,8 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT */ AudioRegionView* arv = dynamic_cast<AudioRegionView*> (clicked_regionview); if (!were_dragging && arv) { - arv->add_gain_point_event (item, event); + bool with_guard_points = !Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier); + arv->add_gain_point_event (item, event, with_guard_points); } return true; break; |