#include <RDFFeatureWriter.h>

Inheritance diagram for RDFFeatureWriter:
Inheritance graph
Collaboration diagram for RDFFeatureWriter:
Collaboration graph

Public Types

typedef vector< ParameterParameterList
 

Public Member Functions

 RDFFeatureWriter ()
 
virtual ~RDFFeatureWriter ()
 
string getDescription () const override
 
ParameterList getSupportedParameters () const override
 
void setParameters (map< string, string > &params) override
 
void setTrackMetadata (QString trackid, TrackMetadata metadata) override
 
void write (QString trackid, const Transform &transform, const Vamp::Plugin::OutputDescriptor &output, const Vamp::Plugin::FeatureList &features, std::string summaryType="") override
 
virtual void setFixedEventTypeURI (QString uri)
 
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 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)
 

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 map< QString, PluginRDFDescriptionRDFDescriptionMap
 
typedef map< QString, TrackMetadataTrackMetadataMap
 
typedef pair< QString, TransformStringTransformPair
 
typedef pair< QTextStream *, QString > StreamBuffer
 

Private Member Functions

bool haveTitleArtistMetadata (QString trackId) const
 
void reviewFileForAppending (QString filename) override
 
void writePrefixes (QTextStream *)
 
void writeSignalDescription (QTextStream *, QString)
 
void writeLocalFeatureTypes (QTextStream *, const Transform &, const Vamp::Plugin::OutputDescriptor &, PluginRDFDescription &, std::string summaryType)
 
void writeSparseRDF (QTextStream *stream, const Transform &transform, const Vamp::Plugin::OutputDescriptor &output, const Vamp::Plugin::FeatureList &features, PluginRDFDescription &desc, QString timelineURI)
 
void writeTrackLevelRDF (QTextStream *stream, const Transform &transform, const Vamp::Plugin::OutputDescriptor &output, const Vamp::Plugin::FeatureList &features, PluginRDFDescription &desc, QString signalURI)
 
void writeDenseRDF (QTextStream *stream, const Transform &transform, const Vamp::Plugin::OutputDescriptor &output, const Vamp::Plugin::FeatureList &features, PluginRDFDescription &desc, QString signalURI, QString timelineURI)
 

Private Attributes

RDFDescriptionMap m_rdfDescriptions
 
TrackMetadataMap m_metadata
 
QString m_fixedEventTypeURI
 
set< QString > m_startedTrackIds
 
map< QTextStream *, set< Transform > > m_startedStreamTransforms
 
map< QString, QString > m_trackTrackURIs
 
map< QString, QString > m_trackTimelineURIs
 
map< QString, QString > m_trackSignalURIs
 
map< Transform, QString > m_transformURIs
 
map< Transform, QString > m_syntheticEventTypeURIs
 
map< Transform, QString > m_syntheticSignalTypeURIs
 
map< StringTransformPair, StreamBufferm_openDenseFeatures
 
QString m_userAudioFileUri
 
QString m_userTrackUri
 
QString m_userMakerUri
 
bool m_plain
 
bool m_network
 
bool m_networkRetrieved
 
long m_count
 

Detailed Description

Definition at line 41 of file RDFFeatureWriter.h.

Member Typedef Documentation

Definition at line 67 of file RDFFeatureWriter.h.

typedef map<QString, TrackMetadata> RDFFeatureWriter::TrackMetadataMap
private

Definition at line 70 of file RDFFeatureWriter.h.

typedef pair<QString, Transform> RDFFeatureWriter::StringTransformPair
private

Definition at line 132 of file RDFFeatureWriter.h.

typedef pair<QTextStream *, QString> RDFFeatureWriter::StreamBuffer
private

Definition at line 133 of file RDFFeatureWriter.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

RDFFeatureWriter::RDFFeatureWriter ( )

Definition at line 34 of file RDFFeatureWriter.cpp.

RDFFeatureWriter::~RDFFeatureWriter ( )
virtual

Definition at line 47 of file RDFFeatureWriter.cpp.

Member Function Documentation

string RDFFeatureWriter::getDescription ( ) const
overridevirtual

Implements FeatureWriter.

Definition at line 52 of file RDFFeatureWriter.cpp.

RDFFeatureWriter::ParameterList RDFFeatureWriter::getSupportedParameters ( ) const
overridevirtual
void RDFFeatureWriter::setParameters ( map< string, string > &  params)
overridevirtual
void RDFFeatureWriter::setTrackMetadata ( QString  trackid,
TrackMetadata  metadata 
)
overridevirtual

Reimplemented from FeatureWriter.

Definition at line 117 of file RDFFeatureWriter.cpp.

References m_metadata.

void RDFFeatureWriter::setFixedEventTypeURI ( QString  uri)
virtual

Definition at line 125 of file RDFFeatureWriter.cpp.

References m_fixedEventTypeURI.

Referenced by RDFExporter::write().

void RDFFeatureWriter::finish ( )
overridevirtual
QString RDFFeatureWriter::getWriterTag ( ) const
inlineoverridevirtual

Implements FeatureWriter.

Definition at line 64 of file RDFFeatureWriter.h.

bool RDFFeatureWriter::haveTitleArtistMetadata ( QString  trackId) const
inlineprivate

Definition at line 73 of file RDFFeatureWriter.h.

Referenced by writeSignalDescription().

void RDFFeatureWriter::reviewFileForAppending ( QString  filename)
overrideprivatevirtual

Reimplemented from FileFeatureWriter.

Definition at line 265 of file RDFFeatureWriter.cpp.

References m_count.

void RDFFeatureWriter::writePrefixes ( QTextStream *  sptr)
private

Definition at line 247 of file RDFFeatureWriter.cpp.

Referenced by write().

void RDFFeatureWriter::writeSignalDescription ( QTextStream *  sptr,
QString  trackId 
)
private
void RDFFeatureWriter::writeLocalFeatureTypes ( QTextStream *  ,
const Transform ,
const Vamp::Plugin::OutputDescriptor &  ,
PluginRDFDescription ,
std::string  summaryType 
)
private
void RDFFeatureWriter::writeSparseRDF ( QTextStream *  stream,
const Transform transform,
const Vamp::Plugin::OutputDescriptor &  output,
const Vamp::Plugin::FeatureList &  features,
PluginRDFDescription desc,
QString  timelineURI 
)
private
void RDFFeatureWriter::writeTrackLevelRDF ( QTextStream *  stream,
const Transform transform,
const Vamp::Plugin::OutputDescriptor &  output,
const Vamp::Plugin::FeatureList &  features,
PluginRDFDescription desc,
QString  signalURI 
)
private

Definition at line 617 of file RDFFeatureWriter.cpp.

References PluginRDFDescription::getOutputFeatureAttributeURI(), and SVDEBUG.

Referenced by write().

void RDFFeatureWriter::writeDenseRDF ( QTextStream *  stream,
const Transform transform,
const Vamp::Plugin::OutputDescriptor &  output,
const Vamp::Plugin::FeatureList &  features,
PluginRDFDescription desc,
QString  signalURI,
QString  timelineURI 
)
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 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

RDFDescriptionMap RDFFeatureWriter::m_rdfDescriptions
private

Definition at line 68 of file RDFFeatureWriter.h.

Referenced by write().

TrackMetadataMap RDFFeatureWriter::m_metadata
private

Definition at line 71 of file RDFFeatureWriter.h.

Referenced by setTrackMetadata(), and writeSignalDescription().

QString RDFFeatureWriter::m_fixedEventTypeURI
private

Definition at line 86 of file RDFFeatureWriter.h.

Referenced by setFixedEventTypeURI(), writeLocalFeatureTypes(), and writeSparseRDF().

set<QString> RDFFeatureWriter::m_startedTrackIds
private

Definition at line 120 of file RDFFeatureWriter.h.

Referenced by write().

map<QTextStream *, set<Transform> > RDFFeatureWriter::m_startedStreamTransforms
private

Definition at line 122 of file RDFFeatureWriter.h.

Referenced by finish(), and write().

map<QString, QString> RDFFeatureWriter::m_trackTrackURIs
private

Definition at line 124 of file RDFFeatureWriter.h.

Referenced by writeSignalDescription().

map<QString, QString> RDFFeatureWriter::m_trackTimelineURIs
private

Definition at line 125 of file RDFFeatureWriter.h.

Referenced by write(), and writeSignalDescription().

map<QString, QString> RDFFeatureWriter::m_trackSignalURIs
private

Definition at line 126 of file RDFFeatureWriter.h.

Referenced by write(), and writeSignalDescription().

map<Transform, QString> RDFFeatureWriter::m_transformURIs
private

Definition at line 128 of file RDFFeatureWriter.h.

Referenced by writeDenseRDF(), writeLocalFeatureTypes(), and writeSparseRDF().

map<Transform, QString> RDFFeatureWriter::m_syntheticEventTypeURIs
private

Definition at line 129 of file RDFFeatureWriter.h.

Referenced by writeLocalFeatureTypes(), and writeSparseRDF().

map<Transform, QString> RDFFeatureWriter::m_syntheticSignalTypeURIs
private

Definition at line 130 of file RDFFeatureWriter.h.

Referenced by writeDenseRDF(), and writeLocalFeatureTypes().

map<StringTransformPair, StreamBuffer> RDFFeatureWriter::m_openDenseFeatures
private

Definition at line 134 of file RDFFeatureWriter.h.

Referenced by finish(), and writeDenseRDF().

QString RDFFeatureWriter::m_userAudioFileUri
private

Definition at line 135 of file RDFFeatureWriter.h.

Referenced by setParameters(), and writeSignalDescription().

QString RDFFeatureWriter::m_userTrackUri
private

Definition at line 136 of file RDFFeatureWriter.h.

Referenced by setParameters(), and writeSignalDescription().

QString RDFFeatureWriter::m_userMakerUri
private

Definition at line 137 of file RDFFeatureWriter.h.

Referenced by setParameters(), and writeSignalDescription().

bool RDFFeatureWriter::m_plain
private
bool RDFFeatureWriter::m_network
private

Definition at line 141 of file RDFFeatureWriter.h.

Referenced by setParameters(), and write().

bool RDFFeatureWriter::m_networkRetrieved
private

Definition at line 142 of file RDFFeatureWriter.h.

Referenced by write().

long RDFFeatureWriter::m_count
private
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: