diff transform/CSVFeatureWriter.h @ 1001:51bf067de517

Add fill-ends option to CSV writer (and test it)
author Chris Cannam
date Wed, 15 Oct 2014 10:18:13 +0100
parents ec6e69373997
children c2316a3bbb81
line wrap: on
line diff
--- a/transform/CSVFeatureWriter.h	Tue Oct 14 17:30:37 2014 +0100
+++ b/transform/CSVFeatureWriter.h	Wed Oct 15 10:18:13 2014 +0100
@@ -51,13 +51,30 @@
                        const Vamp::Plugin::FeatureList &features,
                        std::string summaryType = "");
 
+    virtual void finish();
+
     virtual QString getWriterTag() const { return "csv"; }
 
 private:
     QString m_separator;
     bool m_sampleTiming;
     bool m_endTimes;
+    bool m_forceEnd;
     QString m_prevPrintedTrackId;
+
+    typedef map<TrackTransformPair, Vamp::Plugin::Feature> PendingFeatures;
+    typedef map<TrackTransformPair, std::string> PendingSummaryTypes;
+    PendingFeatures m_pending;
+    PendingSummaryTypes m_pendingSummaryTypes;
+
+    typedef map<TransformId, float> SampleRateMap;
+    SampleRateMap m_rates;
+
+    void writeFeature(TrackTransformPair trackId,
+                      QTextStream &,
+                      const Vamp::Plugin::Feature &f,
+                      const Vamp::Plugin::Feature *optionalNextFeature,
+                      std::string summaryType);
 };
 
 #endif