projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Another stab at the logic for selecting regions for operations, to ensure that edit...
[ardour.git]
/
gtk2_ardour
/
normalize_dialog.cc
diff --git
a/gtk2_ardour/normalize_dialog.cc
b/gtk2_ardour/normalize_dialog.cc
index 9a34c3a4bbe3df75920ac5824bcb4aa0904074e2..12cc84a7f161efa04685c81e03e1d2a066018d39 100644
(file)
--- a/
gtk2_ardour/normalize_dialog.cc
+++ b/
gtk2_ardour/normalize_dialog.cc
@@
-27,6
+27,7
@@
using namespace Gtk;
double NormalizeDialog::_last_normalization_value = 0;
using namespace Gtk;
double NormalizeDialog::_last_normalization_value = 0;
+bool NormalizeDialog::_last_normalize_individually = true;
NormalizeDialog::NormalizeDialog (bool more_than_one)
: ArdourDialog (more_than_one ? _("Normalize regions") : _("Normalize region"))
NormalizeDialog::NormalizeDialog (bool more_than_one)
: ArdourDialog (more_than_one ? _("Normalize regions") : _("Normalize region"))
@@
-55,6
+56,9
@@
NormalizeDialog::NormalizeDialog (bool more_than_one)
RadioButton* b = manage (new RadioButton (group, _("Normalize each region using the peak value of all regions")));
vbox->pack_start (*b);
RadioButton* b = manage (new RadioButton (group, _("Normalize each region using the peak value of all regions")));
vbox->pack_start (*b);
+ _normalize_individually->set_active (_last_normalize_individually);
+ b->set_active (!_last_normalize_individually);
+
get_vbox()->pack_start (*vbox);
}
get_vbox()->pack_start (*vbox);
}
@@
-65,6
+69,8
@@
NormalizeDialog::NormalizeDialog (bool more_than_one)
add_button (Stock::CANCEL, RESPONSE_CANCEL);
add_button (_("Normalize"), RESPONSE_ACCEPT);
add_button (Stock::CANCEL, RESPONSE_CANCEL);
add_button (_("Normalize"), RESPONSE_ACCEPT);
+
+ signal_response().connect (sigc::mem_fun (*this, &NormalizeDialog::button_clicked));
}
bool
}
bool
@@
-94,5
+100,16
@@
NormalizeDialog::run ()
{
int const r = ArdourDialog::run ();
_last_normalization_value = target ();
{
int const r = ArdourDialog::run ();
_last_normalization_value = target ();
+ if (_normalize_individually) {
+ _last_normalize_individually = _normalize_individually->get_active ();
+ }
return r;
}
return r;
}
+
+void
+NormalizeDialog::button_clicked (int r)
+{
+ if (r == RESPONSE_CANCEL) {
+ cancel ();
+ }
+}