diff options
Diffstat (limited to 'gtk2_ardour/audio_region_view.cc')
-rw-r--r-- | gtk2_ardour/audio_region_view.cc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc index a7c2afacb2..dd2f972970 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -251,15 +251,51 @@ AudioRegionView::fade_out_changed () } void +AudioRegionView::set_fade_in_shape (AudioRegion::FadeShape shape) +{ + AutomationList& alist = audio_region()->fade_in(); + XMLNode& before (alist.get_state()); + trackview.session().begin_reversible_command ("fade in shape"); + audio_region()->set_fade_in_shape (shape); + XMLNode& after (alist.get_state()); + trackview.session().add_command (new MementoCommand<AutomationList>(alist, &before, &after)); + trackview.session().commit_reversible_command (); +} + +void +AudioRegionView::set_fade_out_shape (AudioRegion::FadeShape shape) +{ + AutomationList& alist = audio_region()->fade_out(); + XMLNode& before (alist.get_state()); + trackview.session().begin_reversible_command ("fade out shape"); + audio_region()->set_fade_out_shape (shape); + XMLNode& after (alist.get_state()); + trackview.session().add_command (new MementoCommand<AutomationList>(alist, &before, &after)); + trackview.session().commit_reversible_command (); +} + +void AudioRegionView::set_fade_in_active (bool yn) { + AutomationList& alist = audio_region()->fade_in(); + XMLNode& before (alist.get_state()); + trackview.session().begin_reversible_command ("fade in shape"); audio_region()->set_fade_in_active (yn); + XMLNode& after (alist.get_state()); + trackview.session().add_command (new MementoCommand<AutomationList>(alist, &before, &after)); + trackview.session().commit_reversible_command (); } void AudioRegionView::set_fade_out_active (bool yn) { + AutomationList& alist = audio_region()->fade_out(); + XMLNode& before (alist.get_state()); + trackview.session().begin_reversible_command ("fade out shape"); audio_region()->set_fade_out_active (yn); + XMLNode& after (alist.get_state()); + trackview.session().add_command (new MementoCommand<AutomationList>(alist, &before, &after)); + trackview.session().commit_reversible_command (); } void |