summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/export_graph_builder.h
diff options
context:
space:
mode:
authorGZharun <grygoriiz@wavesglobal.com>2015-01-15 13:47:06 +0200
committerPaul Davis <paul@linuxaudiosystems.com>2015-06-29 14:18:11 -0400
commitae8c494c026a6ce221d5f2cd28fc2df9d44e0893 (patch)
tree729d83bb0168bad27454918132377a5066e87a6f /libs/ardour/ardour/export_graph_builder.h
parentf9aeb659ee2416ddf365f7e1652c3db6f0a4e427 (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.h13
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: