summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-11-17 17:51:22 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-11-17 17:51:22 +0000
commit595b12c6a2932c4fec29f695f7f518f36a3fcd59 (patch)
tree9003ef938699a5252d5dfeda9c98c22e1522e1c1 /gtk2_ardour/editor_ops.cc
parent5f37d769351d03acfa6e1704fb9f54fcf57c3c60 (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.cc23
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) {