#include <CSVFeatureWriter.h>

Inheritance diagram for CSVFeatureWriter:
Inheritance graph
Collaboration diagram for CSVFeatureWriter:
Collaboration graph

Public Types

typedef vector< ParameterParameterList
 

Public Member Functions

 CSVFeatureWriter ()
 
virtual ~CSVFeatureWriter ()
 
string getDescription () const override
 
ParameterList getSupportedParameters () const override
 
void setParameters (map< string, string > &params) override
 
void write (QString trackid, const Transform &transform, const Vamp::Plugin::OutputDescriptor &output, const Vamp::Plugin::FeatureList &features, std::string summaryType="") override
 
void finish () override
 
QString getWriterTag () const override
 
void testOutputFile (QString trackId, TransformId transformId) override
 Throw FailedToOpenOutputStream if we can already tell that we will be unable to write to the output file. More...
 
void flush () override
 
virtual void setTrackMetadata (QString, TrackMetadata)
 
virtual void setNofM (int, int)
 Notify the writer that we are about to start extraction for input file N of M (where N is 1..M). More...
 

Protected Types

enum  FileWriteSupport { SupportOneFilePerTrackTransform = 1, SupportOneFilePerTrack = 2, SupportOneFileTotal = 4, SupportStdOut = 8 }
 
typedef pair< QString, TransformIdTrackTransformPair
 
typedef map< TrackTransformPair, QString > FileNameMap
 
typedef map< TrackTransformPair, QFile * > FileMap
 
typedef map< QFile *, QTextStream * > FileStreamMap
 

Protected Member Functions

QTextStream * getOutputStream (QString, TransformId, QTextCodec *)
 
TrackTransformPair getFilenameKey (QString, TransformId)
 
QString createOutputFilename (QString, TransformId)
 
QString getOutputFilename (QString, TransformId)
 
QFile * getOutputFile (QString, TransformId)
 
virtual void reviewFileForAppending (QString)
 

Protected Attributes

FileMap m_files
 
FileNameMap m_filenames
 
FileStreamMap m_streams
 
QTextStream * m_prevstream
 
int m_support
 
QString m_extension
 
QString m_baseDir
 
bool m_manyFiles
 
QString m_singleFileName
 
bool m_stdout
 
bool m_append
 
bool m_force
 

Private Types

typedef pair< QString, TransformDataId
 
typedef map< DataId, Vamp::Plugin::Feature > PendingFeatures
 
typedef map< DataId, std::string > PendingSummaryTypes
 

Private Member Functions

void writeFeature (DataId, QTextStream &, const Vamp::Plugin::Feature &f, const Vamp::Plugin::Feature *optionalNextFeature, std::string summaryType)
 

Private Attributes

QString m_separator
 
bool m_sampleTiming
 
bool m_endTimes
 
bool m_forceEnd
 
bool m_omitFilename
 
QString m_prevPrintedTrackId
 
PendingFeatures m_pending
 
PendingSummaryTypes m_pendingSummaryTypes
 
int m_digits
 

Detailed Description

Definition at line 37 of file CSVFeatureWriter.h.

Member Typedef Documentation

typedef pair<QString, Transform> CSVFeatureWriter::DataId
private

Definition at line 66 of file CSVFeatureWriter.h.

typedef map<DataId, Vamp::Plugin::Feature> CSVFeatureWriter::PendingFeatures
private

Definition at line 67 of file CSVFeatureWriter.h.

typedef map<DataId, std::string> CSVFeatureWriter::PendingSummaryTypes
private

Definition at line 68 of file CSVFeatureWriter.h.

typedef pair<QString, TransformId> FileFeatureWriter::TrackTransformPair
protectedinherited

Definition at line 61 of file FileFeatureWriter.h.

typedef map<TrackTransformPair, QString> FileFeatureWriter::FileNameMap
protectedinherited

Definition at line 62 of file FileFeatureWriter.h.

typedef map<TrackTransformPair, QFile *> FileFeatureWriter::FileMap
protectedinherited

Definition at line 63 of file FileFeatureWriter.h.

typedef map<QFile *, QTextStream *> FileFeatureWriter::FileStreamMap
protectedinherited

Definition at line 64 of file FileFeatureWriter.h.

typedef vector<Parameter> FeatureWriter::ParameterList
inherited

Definition at line 51 of file FeatureWriter.h.

Member Enumeration Documentation

enum FileFeatureWriter::FileWriteSupport
protectedinherited
Enumerator
SupportOneFilePerTrackTransform 
SupportOneFilePerTrack 
SupportOneFileTotal 
SupportStdOut 

Definition at line 51 of file FileFeatureWriter.h.

Constructor & Destructor Documentation

CSVFeatureWriter::CSVFeatureWriter ( )

Definition at line 31 of file CSVFeatureWriter.cpp.

CSVFeatureWriter::~CSVFeatureWriter ( )
virtual

Definition at line 45 of file CSVFeatureWriter.cpp.

Member Function Documentation

string CSVFeatureWriter::getDescription ( ) const
overridevirtual

Implements FeatureWriter.

Definition at line 50 of file CSVFeatureWriter.cpp.

CSVFeatureWriter::ParameterList CSVFeatureWriter::getSupportedParameters ( ) const
overridevirtual
void CSVFeatureWriter::setParameters ( map< string, string > &  params)
overridevirtual
void CSVFeatureWriter::write ( QString  trackid,
const Transform transform,
const Vamp::Plugin::OutputDescriptor &  output,
const Vamp::Plugin::FeatureList &  features,
std::string  summaryType = "" 
)
overridevirtual
void CSVFeatureWriter::finish ( )
overridevirtual
QString CSVFeatureWriter::getWriterTag ( ) const
inlineoverridevirtual

Implements FeatureWriter.

Definition at line 56 of file CSVFeatureWriter.h.

void CSVFeatureWriter::writeFeature ( DataId  ,
QTextStream &  ,
const Vamp::Plugin::Feature &  f,
const Vamp::Plugin::Feature *  optionalNextFeature,
std::string  summaryType 
)
private
void FileFeatureWriter::testOutputFile ( QString  ,
TransformId   
)
overridevirtualinherited

Throw FailedToOpenOutputStream if we can already tell that we will be unable to write to the output file.

This is called to test the output stream before processing begins. The writer may legitimately succeed here but still fail later – this is really an optimisation to ensure that easy-to-recognise failure cases fail early.

Reimplemented from FeatureWriter.

Definition at line 231 of file FileFeatureWriter.cpp.

References FileFeatureWriter::createOutputFilename(), FileFeatureWriter::m_singleFileName, and FileFeatureWriter::m_stdout.

void FileFeatureWriter::flush ( )
overridevirtualinherited

Reimplemented from FeatureWriter.

Definition at line 347 of file FileFeatureWriter.cpp.

References FileFeatureWriter::m_prevstream.

QTextStream * FileFeatureWriter::getOutputStream ( QString  trackId,
TransformId  transformId,
QTextCodec *  codec 
)
protectedinherited
FileFeatureWriter::TrackTransformPair FileFeatureWriter::getFilenameKey ( QString  trackId,
TransformId  transformId 
)
protectedinherited
QString FileFeatureWriter::getOutputFilename ( QString  trackId,
TransformId  transformId 
)
protectedinherited
QFile * FileFeatureWriter::getOutputFile ( QString  trackId,
TransformId  transformId 
)
protectedinherited
virtual void FileFeatureWriter::reviewFileForAppending ( QString  )
inlineprotectedvirtualinherited

Reimplemented in RDFFeatureWriter.

Definition at line 85 of file FileFeatureWriter.h.

Referenced by FileFeatureWriter::getOutputFile().

virtual void FeatureWriter::setTrackMetadata ( QString  ,
TrackMetadata   
)
inlinevirtualinherited

Reimplemented in RDFFeatureWriter.

Definition at line 65 of file FeatureWriter.h.

virtual void FeatureWriter::setNofM ( int  ,
int   
)
inlinevirtualinherited

Notify the writer that we are about to start extraction for input file N of M (where N is 1..M).

May be useful when writing multiple outputs into a single file where some syntactic element is needed to connect them.

Definition at line 93 of file FeatureWriter.h.

References FeatureWriter::write().

Member Data Documentation

QString CSVFeatureWriter::m_separator
private

Definition at line 59 of file CSVFeatureWriter.h.

Referenced by setParameters(), and writeFeature().

bool CSVFeatureWriter::m_sampleTiming
private

Definition at line 60 of file CSVFeatureWriter.h.

Referenced by setParameters(), and writeFeature().

bool CSVFeatureWriter::m_endTimes
private

Definition at line 61 of file CSVFeatureWriter.h.

Referenced by setParameters(), and writeFeature().

bool CSVFeatureWriter::m_forceEnd
private

Definition at line 62 of file CSVFeatureWriter.h.

Referenced by setParameters(), and write().

bool CSVFeatureWriter::m_omitFilename
private

Definition at line 63 of file CSVFeatureWriter.h.

Referenced by setParameters(), and writeFeature().

QString CSVFeatureWriter::m_prevPrintedTrackId
private

Definition at line 64 of file CSVFeatureWriter.h.

Referenced by writeFeature().

PendingFeatures CSVFeatureWriter::m_pending
private

Definition at line 69 of file CSVFeatureWriter.h.

Referenced by finish(), and write().

PendingSummaryTypes CSVFeatureWriter::m_pendingSummaryTypes
private

Definition at line 70 of file CSVFeatureWriter.h.

Referenced by finish(), and write().

int CSVFeatureWriter::m_digits
private

Definition at line 78 of file CSVFeatureWriter.h.

Referenced by setParameters(), and writeFeature().

FileMap FileFeatureWriter::m_files
protectedinherited
FileNameMap FileFeatureWriter::m_filenames
protectedinherited

Definition at line 66 of file FileFeatureWriter.h.

Referenced by FileFeatureWriter::getOutputFilename().

FileStreamMap FileFeatureWriter::m_streams
protectedinherited
QTextStream* FileFeatureWriter::m_prevstream
protectedinherited
int FileFeatureWriter::m_support
protectedinherited
QString FileFeatureWriter::m_extension
protectedinherited
QString FileFeatureWriter::m_baseDir
protectedinherited
bool FileFeatureWriter::m_append
protectedinherited
bool FileFeatureWriter::m_force
protectedinherited

The documentation for this class was generated from the following files: