template <typename T> class SndfileWriter;
template <typename T> class SilenceTrimmer;
template <typename T> class TmpFile;
- template <typename T> class TmpFileRt;
template <typename T> class Threader;
template <typename T> class AllocatingProcessContext;
}
int process (framecnt_t frames, bool last_cycle);
bool process_normalize (); // returns true when finished
- bool will_normalize() { return !normalizers.empty(); }
+ bool will_normalize() const { return !normalizers.empty(); }
+ bool realtime() const { return _realtime; }
unsigned get_normalize_cycle_count() const;
void reset ();
void cleanup (bool remove_out_files = false);
void set_current_timespan (boost::shared_ptr<ExportTimespan> span);
- void add_config (FileSpec const & config);
+ void add_config (FileSpec const & config, bool rt);
void get_analysis_results (AnalysisResults& results);
private:
typedef boost::shared_ptr<AudioGrapher::LoudnessReader> LoudnessReaderPtr;
typedef boost::shared_ptr<AudioGrapher::Normalizer> NormalizerPtr;
typedef boost::shared_ptr<AudioGrapher::TmpFile<Sample> > TmpFilePtr;
- typedef boost::shared_ptr<AudioGrapher::TmpFileRt<Sample> > TmpFileRtPtr;
typedef boost::shared_ptr<AudioGrapher::Threader<Sample> > ThreaderPtr;
typedef boost::shared_ptr<AudioGrapher::AllocatingProcessContext<Sample> > BufferPtr;
- void start_post_processing();
+ void prepare_post_processing ();
+ void start_post_processing ();
ExportGraphBuilder & parent;
FileSpec config;
framecnt_t max_frames_out;
bool use_loudness;
+ bool use_peak;
BufferPtr buffer;
PeakReaderPtr peak_reader;
TmpFilePtr tmp_file;
LoudnessReaderPtr loudness_reader;
boost::ptr_list<SFC> children;
- PBD::ScopedConnection post_processing_connection;
+ PBD::ScopedConnectionList post_processing_connection;
};
// sample rate converter
AnalysisMap analysis_map;
+ bool _realtime;
+
Glib::ThreadPool thread_pool;
};