Optimize plugin-processing for non-automated params
[ardour.git] / libs / ardour / ardour / strip_silence.h
index dab3ddd3d5bd9de0b39ce3d36adcedc634c03a8b..69057ffe518447868d8b51b4aa258ba62c62a040 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2009 Paul Davis 
+    Copyright (C) 2009 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 
 namespace ARDOUR {
 
-/// A filter to strip silence from regions     
-class StripSilence : public Filter {
+/// A filter to strip silence from regions
+class LIBARDOUR_API StripSilence : public Filter
+{
+  public:
+       StripSilence (Session &, const AudioIntervalMap&, samplecnt_t fade_length);
 
-public:
-       StripSilence (Session &, double, nframes_t, nframes_t);
-       
-       int run (boost::shared_ptr<ARDOUR::Region>);
+       int run (boost::shared_ptr<ARDOUR::Region>, Progress* progress = 0);
 
 private:
-       double _threshold; ///< silence threshold, in dBFS
-       nframes_t _minimum_length; ///< minimum length to be considered silence, in samples
-       nframes_t _fade_length; ///< fade in/out to use on trimmed regions, in samples
+       const AudioIntervalMap& _smap;
+       samplecnt_t _fade_length; ///< fade in/out to use on trimmed regions, in samples
 };
 
 }