summaryrefslogtreecommitdiff
path: root/libs/ardour/export_graph_builder.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-02-10 21:26:02 +0100
committerRobin Gareus <robin@gareus.org>2016-02-10 22:35:01 +0100
commit837f8fac2b3193fd181ef80086aa25108414e0f0 (patch)
treea1899932f59840ecd0505b545259c8602dd54a6d /libs/ardour/export_graph_builder.cc
parentfd3772a40f4e3d6573bc5e9d2c101501efd3db75 (diff)
make post-export analysis optional (default to enabled)
Diffstat (limited to 'libs/ardour/export_graph_builder.cc')
-rw-r--r--libs/ardour/export_graph_builder.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/libs/ardour/export_graph_builder.cc b/libs/ardour/export_graph_builder.cc
index 685db817d4..85857f21ef 100644
--- a/libs/ardour/export_graph_builder.cc
+++ b/libs/ardour/export_graph_builder.cc
@@ -307,7 +307,10 @@ ExportGraphBuilder::SFC::SFC (ExportGraphBuilder &parent, FileSpec const & new_c
unsigned channels = new_config.channel_config->get_n_chans();
analyser.reset (new Analyser (config.format->sample_rate(), channels, max_frames,
(framecnt_t) ceil (parent.timespan->get_length () * config.format->sample_rate () / (double) parent.session.nominal_frame_rate ())));
- parent.add_analyser (config.filename->get_path (config.format), analyser);
+ _analyse = config.format->analyse();
+ if (_analyse) {
+ parent.add_analyser (config.filename->get_path (config.format), analyser);
+ }
if (data_width == 8 || data_width == 16) {
short_converter = ShortConverterPtr (new SampleFormatConverter<short> (channels));
@@ -331,7 +334,15 @@ ExportGraphBuilder::SFC::SFC (ExportGraphBuilder &parent, FileSpec const & new_c
ExportGraphBuilder::FloatSinkPtr
ExportGraphBuilder::SFC::sink ()
{
- return analyser;
+ if (_analyse) {
+ return analyser;
+ } else if (data_width == 8 || data_width == 16) {
+ return short_converter;
+ } else if (data_width == 24 || data_width == 32) {
+ return int_converter;
+ } else {
+ return float_converter;
+ }
}
void