diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-02-20 14:07:42 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-02-20 14:15:31 -0500 |
commit | 950981996ffa957e668fb59c9fd0ba5468816bd6 (patch) | |
tree | a7bbb8b0cea416229b59a3e4823902c9b9355422 | |
parent | 1701c9c78bd2dae6b033c1c4b2ac56dc3fcb8ec9 (diff) |
add the with-guard-point distinction to region gain lines (imported from cairocanvas)
-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; |