diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-11-17 17:51:22 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-11-17 17:51:22 +0000 |
commit | 595b12c6a2932c4fec29f695f7f518f36a3fcd59 (patch) | |
tree | 9003ef938699a5252d5dfeda9c98c22e1522e1c1 /gtk2_ardour/editor_ops.cc | |
parent | 5f37d769351d03acfa6e1704fb9f54fcf57c3c60 (diff) |
add reset envelope gain; small patch from brian for tearoff dragging
git-svn-id: svn://localhost/ardour2/trunk@1139 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r-- | gtk2_ardour/editor_ops.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index f15705bd53..d55180d82b 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -3475,6 +3475,29 @@ Editor::brush (nframes_t pos) } void +Editor::reset_region_gain_envelopes () +{ + if (!session || selection->regions.empty()) { + return; + } + + session->begin_reversible_command (_("reset region gain")); + + for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) { + AudioRegionView* const arv = dynamic_cast<AudioRegionView*>(*i); + if (arv) { + AutomationList& alist (arv->audio_region()->envelope()); + XMLNode& before (alist.get_state()); + + arv->audio_region()->set_default_envelope (); + session->add_command (new MementoCommand<AutomationList>(arv->audio_region()->envelope(), &before, &alist.get_state())); + } + } + + session->commit_reversible_command (); +} + +void Editor::toggle_gain_envelope_visibility () { for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) { |