svcore  1.9
FileFeatureWriter Class Referenceabstract

#include <FileFeatureWriter.h>

Inheritance diagram for FileFeatureWriter:
Collaboration diagram for FileFeatureWriter:

Public Types

typedef vector< ParameterParameterList
 

Public Member Functions

virtual ~FileFeatureWriter ()
 
virtual ParameterList getSupportedParameters () const
 
virtual void setParameters (map< string, string > &params)
 
virtual void testOutputFile (QString trackId, TransformId transformId)
 Throw FailedToOpenOutputStream if we can already tell that we will be unable to write to the output file. More...
 
virtual void flush ()
 
virtual void finish ()
 
virtual void setTrackMetadata (QString, TrackMetadata)
 
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 }
 
typedef pair< QString, TransformIdTrackTransformPair
 
typedef map< TrackTransformPair, QFile * > FileMap
 
typedef map< QFile *, QTextStream * > FileStreamMap
 

Protected Member Functions

 FileFeatureWriter (int support, QString extension)
 
QTextStream * getOutputStream (QString, TransformId)
 
QString getOutputFilename (QString, TransformId)
 
QFile * getOutputFile (QString, TransformId)
 
virtual void reviewFileForAppending (QString)
 

Protected Attributes

FileMap m_files
 
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 37 of file FileFeatureWriter.h.

Member Typedef Documentation

◆ TrackTransformPair

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

Definition at line 59 of file FileFeatureWriter.h.

◆ FileMap

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

Definition at line 60 of file FileFeatureWriter.h.

◆ FileStreamMap

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

Definition at line 61 of file FileFeatureWriter.h.

◆ ParameterList

typedef vector<Parameter> FeatureWriter::ParameterList
inherited

Definition at line 47 of file FeatureWriter.h.

Member Enumeration Documentation

◆ FileWriteSupport

Enumerator
SupportOneFilePerTrackTransform 
SupportOneFilePerTrack 
SupportOneFileTotal 

Definition at line 50 of file FileFeatureWriter.h.

Constructor & Destructor Documentation

◆ ~FileFeatureWriter()

FileFeatureWriter::~FileFeatureWriter ( )
virtual

Definition at line 54 of file FileFeatureWriter.cpp.

References m_files, m_streams, and SVDEBUG.

◆ FileFeatureWriter()

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

Member Function Documentation

◆ getSupportedParameters()

◆ setParameters()

void FileFeatureWriter::setParameters ( map< string, string > &  params)
virtual

◆ testOutputFile()

void FileFeatureWriter::testOutputFile ( QString  ,
TransformId   
)
virtual

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 227 of file FileFeatureWriter.cpp.

References getOutputFilename(), m_singleFileName, and m_stdout.

◆ flush()

void FileFeatureWriter::flush ( )
virtual

Reimplemented from FeatureWriter.

Definition at line 321 of file FileFeatureWriter.cpp.

References m_prevstream.

◆ finish()

void FileFeatureWriter::finish ( )
virtual

Implements FeatureWriter.

Reimplemented in RDFFeatureWriter.

Definition at line 330 of file FileFeatureWriter.cpp.

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

Referenced by RDFFeatureWriter::finish().

◆ getOutputStream()

QTextStream * FileFeatureWriter::getOutputStream ( QString  trackId,
TransformId  transformId 
)
protected

◆ getOutputFilename()

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

◆ getOutputFile()

QFile * FileFeatureWriter::getOutputFile ( QString  trackId,
TransformId  transformId 
)
protected

◆ reviewFileForAppending()

virtual void FileFeatureWriter::reviewFileForAppending ( QString  )
inlineprotectedvirtual

Reimplemented in RDFFeatureWriter.

Definition at line 70 of file FileFeatureWriter.h.

Referenced by getOutputFile().

◆ setTrackMetadata()

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

Reimplemented in RDFFeatureWriter.

Definition at line 60 of file FeatureWriter.h.

◆ 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.

◆ getWriterTag()

virtual QString FeatureWriter::getWriterTag ( ) const
pure virtualinherited

Implemented in RDFFeatureWriter, and CSVFeatureWriter.

Referenced by getOutputFilename().

Member Data Documentation

◆ m_files

FileMap FileFeatureWriter::m_files
protected

Definition at line 62 of file FileFeatureWriter.h.

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

◆ m_streams

FileStreamMap FileFeatureWriter::m_streams
protected

Definition at line 63 of file FileFeatureWriter.h.

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

◆ m_prevstream

QTextStream* FileFeatureWriter::m_prevstream
protected

Definition at line 64 of file FileFeatureWriter.h.

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

◆ m_support

int FileFeatureWriter::m_support
protected

Definition at line 72 of file FileFeatureWriter.h.

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

◆ m_extension

QString FileFeatureWriter::m_extension
protected

Definition at line 73 of file FileFeatureWriter.h.

Referenced by FileFeatureWriter(), and getOutputFilename().

◆ m_baseDir

QString FileFeatureWriter::m_baseDir
protected

Definition at line 74 of file FileFeatureWriter.h.

Referenced by getOutputFilename(), and setParameters().

◆ m_manyFiles

bool FileFeatureWriter::m_manyFiles
protected

◆ m_singleFileName

QString FileFeatureWriter::m_singleFileName
protected

◆ m_stdout

bool FileFeatureWriter::m_stdout
protected

◆ m_append

bool FileFeatureWriter::m_append
protected

Definition at line 78 of file FileFeatureWriter.h.

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

◆ m_force

bool FileFeatureWriter::m_force
protected

Definition at line 79 of file FileFeatureWriter.h.

Referenced by getOutputFilename(), and setParameters().


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