21 #ifndef __ardour_export_graph_builder_h__
22 #define __ardour_export_graph_builder_h__
26 #include "audiographer/utils/identity_vertex.h"
28 #include <boost/ptr_container/ptr_list.hpp>
29 #include <glibmm/threadpool.h>
32 class SampleRateConverter;
58 typedef std::map<ExportChannelPtr, IdentityVertexPtr>
ChannelMap;
65 int process (
framecnt_t frames,
bool last_cycle);
66 bool process_normalize ();
68 unsigned get_normalize_cycle_count()
const;
72 void add_config (FileSpec
const & config);
76 void add_split_config (FileSpec
const & config);
81 void add_child (FileSpec
const & new_config);
82 bool operator== (FileSpec
const & other_config)
const;
84 static int get_real_format (FileSpec
const & config);
109 FloatSinkPtr sink ();
110 void add_child (FileSpec
const & new_config);
111 bool operator== (FileSpec
const & other_config)
const;
131 FloatSinkPtr sink ();
132 void add_child (FileSpec
const & new_config);
133 bool operator== (FileSpec
const & other_config)
const;
135 unsigned get_normalize_cycle_count()
const;
147 void start_post_processing();
168 FloatSinkPtr sink ();
169 void add_child (FileSpec
const & new_config);
170 bool operator== (FileSpec
const & other_config)
const;
176 void add_child_to_list (FileSpec
const & new_config, boost::ptr_list<T> & list);
190 FloatSinkPtr sink ();
191 void add_child (FileSpec
const & new_config);
192 bool operator== (FileSpec
const & other_config)
const;
208 void add_child (FileSpec
const & new_config);
209 bool operator== (FileSpec
const & other_config)
const;
framecnt_t max_frames_out
ShortWriterPtr short_writer
ShortConverterPtr short_converter
boost::shared_ptr< AudioGrapher::SndfileWriter< Sample > > FloatWriterPtr
boost::shared_ptr< AudioGrapher::TmpFile< Sample > > TmpFilePtr
boost::shared_ptr< AudioGrapher::PeakReader > PeakReaderPtr
FloatWriterPtr float_writer
IntConverterPtr int_converter
boost::ptr_list< SRC > children
framecnt_t process_buffer_frames
boost::shared_ptr< AudioGrapher::SndfileWriter< int > > IntWriterPtr
SilenceTrimmerPtr silence_trimmer
boost::shared_ptr< AudioGrapher::SampleFormatConverter< int > > IntConverterPtr
std::map< ExportChannelPtr, IdentityVertexPtr > ChannelMap
ExportHandler::FileSpec FileSpec
boost::ptr_list< ChannelConfig > ChannelConfigList
boost::ptr_list< Encoder > children
boost::shared_ptr< AudioGrapher::Normalizer > NormalizerPtr
boost::shared_ptr< AudioGrapher::Chunker< Sample > > ChunkerPtr
ExportGraphBuilder & parent
boost::ptr_list< SFC > children
boost::shared_ptr< ExportTimespan > timespan
ChannelConfigList channel_configs
std::list< ExportFilenamePtr > filenames
boost::shared_ptr< AudioGrapher::SndfileWriter< short > > ShortWriterPtr
PeakReaderPtr peak_reader
boost::shared_ptr< AudioGrapher::Sink< Sample > > FloatSinkPtr
PBD::ScopedConnection copy_files_connection
PBD::ScopedConnection post_processing_connection
boost::shared_ptr< AudioGrapher::AllocatingProcessContext< Sample > > BufferPtr
ExportGraphBuilder & parent
boost::shared_ptr< AudioGrapher::SilenceTrimmer< Sample > > SilenceTrimmerPtr
void copy_files(const std::string &from_path, const std::string &to_dir)
boost::ptr_list< Normalizer > normalized_children
boost::shared_ptr< AudioGrapher::SampleFormatConverter< short > > ShortConverterPtr
boost::ptr_list< SilenceHandler > children
FloatConverterPtr float_converter
Glib::ThreadPool thread_pool
bool operator==(const RouteProcessorSelection &a, const RouteProcessorSelection &b)
framecnt_t max_frames_out
ExportGraphBuilder & parent
boost::shared_ptr< AudioGrapher::Threader< Sample > > ThreaderPtr
boost::shared_ptr< AudioGrapher::SampleRateConverter > SRConverterPtr
boost::ptr_list< SFC > children
std::list< Normalizer * > normalizers
framecnt_t max_frames_out
InterleaverPtr interleaver
LIBARDOUR_API bool init(bool with_vst, bool try_optimization, const char *localedir)
boost::shared_ptr< AudioGrapher::Interleaver< Sample > > InterleaverPtr
boost::shared_ptr< AudioGrapher::IdentityVertex< Sample > > IdentityVertexPtr
ExportGraphBuilder & parent
boost::shared_ptr< AudioGrapher::SampleFormatConverter< Sample > > FloatConverterPtr