From 156a5a0e5f078901dde7b626bb51f478643a9225 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 20 Feb 2014 14:01:40 -0500 Subject: [PATCH] add the with-guard-point distinction to region gain lines --- gtk2_ardour/audio_region_view.cc | 4 ++-- gtk2_ardour/audio_region_view.h | 2 +- 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 93a5827b2b..23c84dc340 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -1207,7 +1207,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; @@ -1252,7 +1252,7 @@ AudioRegionView::add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *ev) trackview.session()->add_command (new MementoCommand(*(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(*audio_region()->envelope().get(), &before, &after)); diff --git a/gtk2_ardour/audio_region_view.h b/gtk2_ardour/audio_region_view.h index ab3d59a235..7a2b2201b0 100644 --- a/gtk2_ardour/audio_region_view.h +++ b/gtk2_ardour/audio_region_view.h @@ -84,7 +84,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 get_gain_line() const { return gain_line; } diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 38380c91cc..ca3fdd1369 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 (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;