From 77687519b69f39aaa2354f4c9945958fc1c630fe Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 15 Jul 2016 17:03:07 +0200 Subject: 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. --- libs/ardour/ardour/export_graph_builder.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'libs/ardour/ardour') 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 class SndfileWriter; template class SilenceTrimmer; template class TmpFile; - template class TmpFileRt; template class Threader; template class AllocatingProcessContext; } @@ -165,11 +164,11 @@ class LIBARDOUR_API ExportGraphBuilder typedef boost::shared_ptr LoudnessReaderPtr; typedef boost::shared_ptr NormalizerPtr; typedef boost::shared_ptr > TmpFilePtr; - typedef boost::shared_ptr > TmpFileRtPtr; typedef boost::shared_ptr > ThreaderPtr; typedef boost::shared_ptr > 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 children; - PBD::ScopedConnection post_processing_connection; + PBD::ScopedConnectionList post_processing_connection; }; // sample rate converter -- cgit v1.2.3