summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/export_graph_builder.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-07-15 17:03:07 +0200
committerRobin Gareus <robin@gareus.org>2016-07-16 02:14:13 +0200
commit77687519b69f39aaa2354f4c9945958fc1c630fe (patch)
tree36ed0f367bc81cccaba0ed01d837c56ff2fea072 /libs/ardour/ardour/export_graph_builder.h
parent6626723880e6d464bf8d59178120d191a8423c93 (diff)
Refactor TmpFile into an abstract base class
This allows a TmpFile pointer to be either a Sync or Async (Threaded) writer. As result we must be able to handle both RT and non RT processing. Still, post-processing (normalization and encoding) should always happen faster than realtime (freewheeling). Since jack does not allow a client to change to freewheeling from within the process-callback, the async-writer disk-thread FileFlushed is used to initiate post-processing.
Diffstat (limited to 'libs/ardour/ardour/export_graph_builder.h')
-rw-r--r--libs/ardour/ardour/export_graph_builder.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/libs/ardour/ardour/export_graph_builder.h b/libs/ardour/ardour/export_graph_builder.h
index 68eb927513..cee98ed7be 100644
--- a/libs/ardour/ardour/export_graph_builder.h
+++ b/libs/ardour/ardour/export_graph_builder.h
@@ -41,7 +41,6 @@ namespace AudioGrapher {
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;
}
@@ -165,11 +164,11 @@ class LIBARDOUR_API ExportGraphBuilder
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;
@@ -184,7 +183,7 @@ class LIBARDOUR_API ExportGraphBuilder
LoudnessReaderPtr loudness_reader;
boost::ptr_list<SFC> children;
- PBD::ScopedConnection post_processing_connection;
+ PBD::ScopedConnectionList post_processing_connection;
};
// sample rate converter