diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2017-03-04 15:20:56 +1000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2017-03-04 15:26:00 +1000 |
commit | ddb4b8a7c3c4d8efbcf447c4f165f33d8aa0e430 (patch) | |
tree | faa3a02909de48016b9eba1ea777a7f86940d645 /gtk2_ardour/editor_ops.cc | |
parent | e8b5b4fcf3e9b755c953a6e25a343640d64fe3d9 (diff) |
Add reset region gain action for selected regions
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r-- | gtk2_ardour/editor_ops.cc | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 581326e278..2b8a5fd018 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -5217,6 +5217,38 @@ Editor::adjust_region_gain (bool up) } } +void +Editor::reset_region_gain () +{ + RegionSelection rs = get_regions_from_selection_and_entered (); + + if (!_session || rs.empty()) { + return; + } + + bool in_command = false; + + for (RegionSelection::iterator r = rs.begin(); r != rs.end(); ++r) { + AudioRegionView* const arv = dynamic_cast<AudioRegionView*>(*r); + if (!arv) { + continue; + } + + arv->region()->clear_changes (); + + arv->audio_region()->set_scale_amplitude (1.0f); + + if (!in_command) { + begin_reversible_command ("reset region gain"); + in_command = true; + } + _session->add_command (new StatefulDiffCommand (arv->region())); + } + + if (in_command) { + commit_reversible_command (); + } +} void Editor::reverse_region () |