#include <FileFeatureWriter.h>

Inheritance diagram for FileFeatureWriter:
Inheritance graph
Collaboration diagram for FileFeatureWriter:
Collaboration graph

Public Types

typedef vector< ParameterParameterList
 

Public Member Functions

virtual ~FileFeatureWriter ()
 
ParameterList getSupportedParameters () const override
 
void setParameters (map< string, string > &params) 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
 
void finish () override
 
virtual string getDescription () const =0
 
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...
 
virtual void write (QString trackid, const Transform &transform, const Vamp::Plugin::OutputDescriptor &output, const Vamp::Plugin::FeatureList &features, std::string summaryType="")=0
 
virtual QString getWriterTag () const =0
 

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

 FileFeatureWriter (int support, QString extension)
 
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
 

Detailed Description

Definition at line 38 of file FileFeatureWriter.h.

Member Typedef Documentation

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

Definition at line 61 of file FileFeatureWriter.h.

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

Definition at line 62 of file FileFeatureWriter.h.

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

Definition at line 63 of file FileFeatureWriter.h.

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

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

Enumerator
SupportOneFilePerTrackTransform 
SupportOneFilePerTrack 
SupportOneFileTotal 
SupportStdOut 

Definition at line 51 of file FileFeatureWriter.h.

Constructor & Destructor Documentation

FileFeatureWriter::~FileFeatureWriter ( )
virtual

Definition at line 54 of file FileFeatureWriter.cpp.

References m_files, m_streams, and SVDEBUG.

FileFeatureWriter::FileFeatureWriter ( int  support,
QString  extension 
)
protected

Member Function Documentation

void FileFeatureWriter::setParameters ( map< string, string > &  params)
overridevirtual
void FileFeatureWriter::testOutputFile ( QString  ,
TransformId   
)
overridevirtual

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 createOutputFilename(), m_singleFileName, and m_stdout.

void FileFeatureWriter::flush ( )
overridevirtual

Reimplemented from FeatureWriter.

Definition at line 347 of file FileFeatureWriter.cpp.

References m_prevstream.

void FileFeatureWriter::finish ( )
overridevirtual

Implements FeatureWriter.

Reimplemented in RDFFeatureWriter.

Definition at line 356 of file FileFeatureWriter.cpp.

References m_files, m_prevstream, m_singleFileName, m_stdout, m_streams, and SVDEBUG.

Referenced by RDFFeatureWriter::finish().

QTextStream * FileFeatureWriter::getOutputStream ( QString  trackId,
TransformId  transformId,
QTextCodec *  codec 
)
protected
FileFeatureWriter::TrackTransformPair FileFeatureWriter::getFilenameKey ( QString  trackId,
TransformId  transformId 
)
protected

Definition at line 249 of file FileFeatureWriter.cpp.

References m_manyFiles, and m_singleFileName.

Referenced by getOutputFile(), and getOutputFilename().

QString FileFeatureWriter::createOutputFilename ( QString  trackId,
TransformId  transformId 
)
protected
QString FileFeatureWriter::getOutputFilename ( QString  trackId,
TransformId  transformId 
)
protected

Definition at line 266 of file FileFeatureWriter.cpp.

References createOutputFilename(), getFilenameKey(), and m_filenames.

QFile * FileFeatureWriter::getOutputFile ( QString  trackId,
TransformId  transformId 
)
protected
virtual void FileFeatureWriter::reviewFileForAppending ( QString  )
inlineprotectedvirtual

Reimplemented in RDFFeatureWriter.

Definition at line 85 of file FileFeatureWriter.h.

Referenced by getOutputFile().

virtual string FeatureWriter::getDescription ( ) const
pure virtualinherited
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().

virtual void FeatureWriter::write ( QString  trackid,
const Transform transform,
const Vamp::Plugin::OutputDescriptor &  output,
const Vamp::Plugin::FeatureList &  features,
std::string  summaryType = "" 
)
pure virtualinherited

Implemented in RDFFeatureWriter, and CSVFeatureWriter.

Referenced by FeatureWriter::setNofM().

virtual QString FeatureWriter::getWriterTag ( ) const
pure virtualinherited

Member Data Documentation

FileMap FileFeatureWriter::m_files
protected

Definition at line 65 of file FileFeatureWriter.h.

Referenced by finish(), getOutputFile(), and ~FileFeatureWriter().

FileNameMap FileFeatureWriter::m_filenames
protected

Definition at line 66 of file FileFeatureWriter.h.

Referenced by getOutputFilename().

FileStreamMap FileFeatureWriter::m_streams
protected

Definition at line 67 of file FileFeatureWriter.h.

Referenced by finish(), getOutputStream(), and ~FileFeatureWriter().

QTextStream* FileFeatureWriter::m_prevstream
protected

Definition at line 68 of file FileFeatureWriter.h.

Referenced by finish(), flush(), and getOutputStream().

int FileFeatureWriter::m_support
protected

Definition at line 87 of file FileFeatureWriter.h.

Referenced by FileFeatureWriter(), getSupportedParameters(), and setParameters().

QString FileFeatureWriter::m_extension
protected

Definition at line 88 of file FileFeatureWriter.h.

Referenced by createOutputFilename(), and FileFeatureWriter().

QString FileFeatureWriter::m_baseDir
protected

Definition at line 89 of file FileFeatureWriter.h.

Referenced by createOutputFilename(), and setParameters().

bool FileFeatureWriter::m_manyFiles
protected
QString FileFeatureWriter::m_singleFileName
protected
bool FileFeatureWriter::m_stdout
protected
bool FileFeatureWriter::m_append
protected

Definition at line 93 of file FileFeatureWriter.h.

Referenced by createOutputFilename(), getOutputFile(), and setParameters().

bool FileFeatureWriter::m_force
protected

Definition at line 94 of file FileFeatureWriter.h.

Referenced by createOutputFilename(), and setParameters().


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