diff options
author | GZharun <grygoriiz@wavesglobal.com> | 2015-01-15 13:47:06 +0200 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-06-29 14:18:11 -0400 |
commit | ae8c494c026a6ce221d5f2cd28fc2df9d44e0893 (patch) | |
tree | 729d83bb0168bad27454918132377a5066e87a6f /libs/ardour/ardour/export_graph_builder.h | |
parent | f9aeb659ee2416ddf365f7e1652c3db6f0a4e427 (diff) |
[Summary] Added export cleanup
[Reviewed by] Andriy Mishyn
Diffstat (limited to 'libs/ardour/ardour/export_graph_builder.h')
-rw-r--r-- | libs/ardour/ardour/export_graph_builder.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/libs/ardour/ardour/export_graph_builder.h b/libs/ardour/ardour/export_graph_builder.h index 40960b2b38..c266198679 100644 --- a/libs/ardour/ardour/export_graph_builder.h +++ b/libs/ardour/ardour/export_graph_builder.h @@ -68,17 +68,20 @@ class LIBARDOUR_API ExportGraphBuilder 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); private: void add_split_config (FileSpec const & config); - + class Encoder { public: template <typename T> boost::shared_ptr<AudioGrapher::Sink<T> > init (FileSpec const & new_config); void add_child (FileSpec const & new_config); + void remove_children (); + void destroy_writer (bool delete_out_file); bool operator== (FileSpec const & other_config) const; static int get_real_format (FileSpec const & config); @@ -95,6 +98,8 @@ class LIBARDOUR_API ExportGraphBuilder std::list<ExportFilenamePtr> filenames; PBD::ScopedConnection copy_files_connection; + std::string writer_filename; + // Only one of these should be available at a time FloatWriterPtr float_writer; IntWriterPtr int_writer; @@ -108,6 +113,7 @@ class LIBARDOUR_API ExportGraphBuilder SFC (ExportGraphBuilder &, FileSpec const & new_config, framecnt_t max_frames); FloatSinkPtr sink (); void add_child (FileSpec const & new_config); + void remove_children (bool remove_out_files); bool operator== (FileSpec const & other_config) const; private: @@ -130,6 +136,7 @@ class LIBARDOUR_API ExportGraphBuilder Normalizer (ExportGraphBuilder & parent, FileSpec const & new_config, framecnt_t max_frames); FloatSinkPtr sink (); void add_child (FileSpec const & new_config); + void remove_children (bool remove_out_files); bool operator== (FileSpec const & other_config) const; unsigned get_normalize_cycle_count() const; @@ -167,6 +174,8 @@ class LIBARDOUR_API ExportGraphBuilder SRC (ExportGraphBuilder & parent, FileSpec const & new_config, framecnt_t max_frames); FloatSinkPtr sink (); void add_child (FileSpec const & new_config); + void remove_children (bool remove_out_files); + bool operator== (FileSpec const & other_config) const; private: @@ -189,6 +198,7 @@ class LIBARDOUR_API ExportGraphBuilder SilenceHandler (ExportGraphBuilder & parent, FileSpec const & new_config, framecnt_t max_frames); FloatSinkPtr sink (); void add_child (FileSpec const & new_config); + void remove_children (bool remove_out_files); bool operator== (FileSpec const & other_config) const; private: @@ -206,6 +216,7 @@ class LIBARDOUR_API ExportGraphBuilder public: ChannelConfig (ExportGraphBuilder & parent, FileSpec const & new_config, ChannelMap & channel_map); void add_child (FileSpec const & new_config); + void remove_children (bool remove_out_files); bool operator== (FileSpec const & other_config) const; private: |