30 #include <boost/ptr_container/ptr_list.hpp>
31 #include <glibmm/threadpool.h>
34 class SampleRateConverter;
41 template <
typename T>
class Chunker;
42 template <
typename T>
class SampleFormatConverter;
43 template <
typename T>
class Interleaver;
44 template <
typename T>
class SndfileWriter;
45 template <
typename T>
class CmdPipeWriter;
46 template <
typename T>
class SilenceTrimmer;
47 template <
typename T>
class TmpFile;
48 template <
typename T>
class Threader;
49 template <
typename T>
class AllocatingProcessContext;
85 typedef std::map<ExportChannelPtr, AnyExportPtr>
ChannelMap;
99 void cleanup (
bool remove_out_files =
false);
105 return _exported_files;
111 analysis_map.insert (std::make_pair (fn, ap));
115 _exported_files.push_back (fn);
125 template <
typename T> std::shared_ptr<AudioGrapher::Sink<T> >
init (
FileSpec const & new_config);
135 typedef std::shared_ptr<AudioGrapher::SndfileWriter<int> >
IntWriterPtr;
138 typedef std::shared_ptr<AudioGrapher::CmdPipeWriter<Sample> >
FloatPipePtr;
173 typedef std::shared_ptr<AudioGrapher::Chunker<float> >
ChunkerPtr;
213 typedef std::shared_ptr<AudioGrapher::TmpFile<Sample> >
TmpFilePtr;
214 typedef std::shared_ptr<AudioGrapher::Threader<Sample> >
ThreaderPtr;
215 typedef std::shared_ptr<AudioGrapher::AllocatingProcessContext<Sample> >
BufferPtr;
290 typedef std::shared_ptr<AudioGrapher::Chunker<Sample> >
ChunkerPtr;
ExportGraphBuilder & parent
std::shared_ptr< AudioGrapher::Interleaver< Sample > > InterleaverPtr
InterleaverPtr interleaver
samplecnt_t max_samples_out
void remove_children(bool remove_out_files)
ChannelConfig(ExportGraphBuilder &parent, FileSpec const &new_config, ChannelMap &channel_map)
boost::ptr_list< SilenceHandler > children
void add_child(FileSpec const &new_config)
std::shared_ptr< AudioGrapher::Chunker< Sample > > ChunkerPtr
void destroy_writer(bool delete_out_file)
ShortWriterPtr short_writer
std::list< ExportFilenamePtr > filenames
void copy_files(std::string orig_path)
PBD::ScopedConnection copy_files_connection
static int get_real_format(FileSpec const &config)
std::shared_ptr< AudioGrapher::SndfileWriter< short > > ShortWriterPtr
std::string writer_filename
std::shared_ptr< AudioGrapher::Sink< T > > init(FileSpec const &new_config)
void add_child(FileSpec const &new_config)
std::shared_ptr< AudioGrapher::CmdPipeWriter< Sample > > FloatPipePtr
void init_writer(std::shared_ptr< AudioGrapher::SndfileWriter< T > > &writer)
std::shared_ptr< AudioGrapher::SndfileWriter< int > > IntWriterPtr
void init_writer(std::shared_ptr< AudioGrapher::CmdPipeWriter< T > > &writer)
FloatWriterPtr float_writer
std::shared_ptr< AudioGrapher::SndfileWriter< Sample > > FloatWriterPtr
std::shared_ptr< AudioGrapher::DemoNoiseAdder > DemoNoisePtr
std::shared_ptr< AudioGrapher::Chunker< float > > ChunkerPtr
std::shared_ptr< AudioGrapher::Limiter > LimiterPtr
void set_peak_dbfs(float, bool force=false)
void add_child(FileSpec const &new_config)
std::shared_ptr< AudioGrapher::SampleFormatConverter< Sample > > FloatConverterPtr
IntConverterPtr int_converter
void set_peak_lufs(AudioGrapher::LoudnessReader const &)
FloatConverterPtr float_converter
SFC(ExportGraphBuilder &, FileSpec const &new_config, samplecnt_t max_samples)
std::shared_ptr< AudioGrapher::SampleFormatConverter< short > > ShortConverterPtr
void set_duration(samplecnt_t)
DemoNoisePtr demo_noise_adder
void remove_children(bool remove_out_files)
ShortConverterPtr short_converter
std::shared_ptr< AudioGrapher::Normalizer > NormalizerPtr
std::list< Encoder > children
std::shared_ptr< AudioGrapher::SampleFormatConverter< int > > IntConverterPtr
void add_child_to_list(FileSpec const &new_config, boost::ptr_list< T > &list)
SRC(ExportGraphBuilder &parent, FileSpec const &new_config, samplecnt_t max_samples)
ExportGraphBuilder & parent
samplecnt_t max_samples_out
void add_child(FileSpec const &new_config)
std::shared_ptr< AudioGrapher::SampleRateConverter > SRConverterPtr
void remove_children(bool remove_out_files)
boost::ptr_list< Intermediate > intermediate_children
boost::ptr_list< SFC > children
SilenceTrimmerPtr silence_trimmer
std::shared_ptr< AudioGrapher::SilenceTrimmer< Sample > > SilenceTrimmerPtr
SilenceHandler(ExportGraphBuilder &parent, FileSpec const &new_config, samplecnt_t max_samples)
boost::ptr_list< SRC > children
void add_child(FileSpec const &new_config)
samplecnt_t max_samples_in
void remove_children(bool remove_out_files)
ExportGraphBuilder & parent
void add_export_fn(std::string const &fn)
void add_config(FileSpec const &config, bool rt)
std::vector< std::string > _exported_files
boost::ptr_list< ChannelConfig > ChannelConfigList
std::shared_ptr< AudioGrapher::Sink< Sample > > FloatSinkPtr
std::map< ExportChannelPtr, AnyExportPtr > ChannelMap
Glib::ThreadPool thread_pool
void add_analyser(const std::string &fn, AnalysisPtr ap)
unsigned get_postprocessing_cycle_count() const
ChannelConfigList channel_configs
std::map< std::string, AnalysisPtr > AnalysisMap
bool need_postprocessing() const
Glib::Threads::Mutex engine_request_lock
void get_analysis_results(AnalysisResults &results)
ExportGraphBuilder(Session const &session)
samplecnt_t process_buffer_samples
void cleanup(bool remove_out_files=false)
samplecnt_t process(samplecnt_t samples, bool last_cycle)
std::shared_ptr< ExportTimespan > timespan
void set_current_timespan(std::shared_ptr< ExportTimespan > span)
void add_split_config(FileSpec const &config)
std::shared_ptr< AnyExport > AnyExportPtr
ExportHandler::FileSpec FileSpec
std::list< Intermediate * > intermediates
std::shared_ptr< AudioGrapher::Analyser > AnalysisPtr
samplecnt_t _master_align
std::vector< std::string > exported_files() const
void process(MidiBuffer const &, sampleoffset_t, samplecnt_t, bool)
void process(ProcessContext< T > const &c)
void add_output(typename Source< T >::SinkPtr output)
std::shared_ptr< Sink< T > > SinkPtr
void session(lua_State *L)
PBD::PropertyDescriptor< bool > channel_map
std::map< std::string, ExportAnalysisPtr > AnalysisResults
Temporal::samplecnt_t samplecnt_t
Temporal::sampleoffset_t sampleoffset_t
bool operator==(const ProcessorSelection &a, const ProcessorSelection &b)
void add_output(AudioGrapher::Source< Sample >::SinkPtr output)
void process(AudioGrapher::ProcessContext< Sample > const &c)
AudioGrapher::IdentityVertex< Sample > audio
void process(MidiBuffer const &buf, sampleoffset_t off, samplecnt_t cnt, bool last_cycle)