diff runner/FeatureExtractionManager.h @ 106:de76b2df518f multiplex

Start on multiplex implementation
author Chris Cannam
date Wed, 01 Oct 2014 18:38:32 +0100
parents fae326c22df5
children ca565b18ba3e
line wrap: on
line diff
--- a/runner/FeatureExtractionManager.h	Wed Oct 01 17:50:58 2014 +0100
+++ b/runner/FeatureExtractionManager.h	Wed Oct 01 18:38:32 2014 +0100
@@ -61,13 +61,18 @@
     // Make a note of an audio or playlist file which will be passed
     // to extractFeatures later.  Amongst other things, this may
     // initialise the default sample rate and channel count
-    void addSource(QString audioSource);
+    void addSource(QString audioSource, bool willMultiplex);
 
     // Extract features from the given audio or playlist file.  If the
     // file is a playlist and force is true, continue extracting even
     // if a file in the playlist fails.
     void extractFeatures(QString audioSource, bool force);
 
+    // Extract features from the given audio files, multiplexing into
+    // a single "file" whose individual channels are mixdowns of the
+    // supplied sources.
+    void extractFeaturesMultiplexed(QStringList sources);
+
 private:
     // A plugin may have many outputs, so we can have more than one
     // transform requested for a single plugin.  The things we want to
@@ -102,6 +107,10 @@
     bool m_summariesOnly;
     Vamp::HostExt::PluginSummarisingAdapter::SegmentBoundaries m_boundaries;
 
+    AudioFileReader *prepareReader(QString audioSource);
+
+    void extractFeaturesFor(AudioFileReader *reader, QString audioSource);
+
     void writeSummaries(QString audioSource, Vamp::Plugin *);
 
     void writeFeatures(QString audioSource,