From: Tim Mayberry Date: Sat, 4 Mar 2017 05:20:56 +0000 (+1000) Subject: Add reset region gain action for selected regions X-Git-Tag: 5.9~691 X-Git-Url: https://main.carlh.net/gitweb/?p=ardour.git;a=commitdiff_plain;h=ddb4b8a7c3c4d8efbcf447c4f165f33d8aa0e430 Add reset region gain action for selected regions --- diff --git a/gtk2_ardour/ardour.menus.in b/gtk2_ardour/ardour.menus.in index a2921c286e..2c88709e1d 100644 --- a/gtk2_ardour/ardour.menus.in +++ b/gtk2_ardour/ardour.menus.in @@ -343,6 +343,7 @@ + @@ -788,6 +789,7 @@ + diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 88318c4f69..ec781e2df6 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -1267,6 +1267,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD void normalize_region (); void reset_region_scale_amplitude (); void adjust_region_gain (bool up); + void reset_region_gain (); void quantize_region (); void quantize_regions (const RegionSelection& rs); void legatize_region (bool shrink_only); diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc index aa82ff39b3..67786e01db 100644 --- a/gtk2_ardour/editor_actions.cc +++ b/gtk2_ardour/editor_actions.cc @@ -1799,6 +1799,9 @@ Editor::register_region_actions () /* Cut selected region gain */ register_region_action (_region_actions, RegionActionTarget (SelectedRegions|EnteredRegions), "cut-region-gain", _("Cut Gain"), sigc::bind (sigc::mem_fun(*this, &Editor::adjust_region_gain), false)); + /* Reset selected region gain */ + register_region_action (_region_actions, RegionActionTarget (SelectedRegions|EnteredRegions), "reset-region-gain", _("Reset Gain"), sigc::mem_fun(*this, &Editor::reset_region_gain)); + /* Open the pitch shift dialogue for any selected audio regions */ register_region_action (_region_actions, RegionActionTarget (SelectedRegions|EnteredRegions), "pitch-shift-region", _("Pitch Shift..."), sigc::mem_fun (*this, &Editor::pitch_shift_region)); 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(*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 ()