indicate that silence trim is already active.
authorRobin Gareus <robin@gareus.org>
Sat, 19 Sep 2015 18:28:56 +0000 (20:28 +0200)
committerRobin Gareus <robin@gareus.org>
Sat, 19 Sep 2015 18:28:56 +0000 (20:28 +0200)
gtk2_ardour/strip_silence_dialog.cc
gtk2_ardour/strip_silence_dialog.h

index 01d6487f74b33dd2ad85752de2199aa6bdaac428..30f5db8d4afc96e34aa68a385313699bb288d007 100644 (file)
@@ -91,8 +91,8 @@ StripSilenceDialog::StripSilenceDialog (Session* s, list<RegionView*> const & v)
 
        get_vbox()->pack_start (*hbox, false, false);
 
-       add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
-       add_button (Gtk::Stock::APPLY, Gtk::RESPONSE_OK);
+       cancel_button = add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
+       apply_button = add_button (Gtk::Stock::APPLY, Gtk::RESPONSE_OK);
        set_default_response (Gtk::RESPONSE_OK);
 
        get_vbox()->pack_start (_progress_bar, true, true, 12);
@@ -141,9 +141,15 @@ StripSilenceDialog::silences (AudioIntervalMap& m)
 void
 StripSilenceDialog::drop_rects ()
 {
+       // called by parent when starting to progess (dialog::run returned),
+       // but before the dialog is destoyed.
+
         for (list<ViewInterval>::iterator v = views.begin(); v != views.end(); ++v) {
                 v->view->drop_silent_frames ();
         }
+
+       cancel_button->set_sensitive (false);
+       apply_button->set_sensitive (false);
 }
 
 void
index e89f1911cd5b92783e58722820b87aeeeac8cb5c..225b4461a23ef4f4ceb650f701a58dfe4af1f4be 100644 (file)
@@ -66,6 +66,9 @@ private:
         AudioClock*      _fade_length;
        Gtk::ProgressBar _progress_bar;
 
+       Gtk::Button* cancel_button;
+       Gtk::Button* apply_button;
+
         struct ViewInterval {
             RegionView* view;
             ARDOUR::AudioIntervalResult intervals;