25 #include <QTextStream> 50 p.
description =
"Column separator for output. Default is \",\" (comma).";
54 p.
name =
"sample-timing";
55 p.
description =
"Show timings as sample frame counts instead of in seconds.";
67 SVDEBUG <<
"CSVFeatureWriter::setParameters" << endl;
68 for (map<string, string>::iterator i = params.begin();
69 i != params.end(); ++i) {
70 cerr << i->first <<
" -> " << i->second << endl;
71 if (i->first ==
"separator") {
73 }
else if (i->first ==
"sample-timing") {
82 const Plugin::OutputDescriptor& ,
83 const Plugin::FeatureList& features,
84 std::string summaryType)
94 QTextStream &stream = *sptr;
96 for (
unsigned int i = 0; i < features.size(); ++i) {
109 stream << Vamp::RealTime::realTime2Frame
112 if (features[i].hasDuration) {
114 stream << Vamp::RealTime::realTime2Frame
120 QString timestamp = features[i].timestamp.toString().c_str();
121 timestamp.replace(QRegExp(
"^ +"),
"");
124 if (features[i].hasDuration) {
125 QString duration = features[i].duration.toString().c_str();
126 duration.replace(QRegExp(
"^ +"),
"");
131 if (summaryType !=
"") {
135 for (
unsigned int j = 0; j < features[i].values.size(); ++j) {
139 if (features[i].label !=
"") {
140 stream <<
m_separator <<
"\"" << features[i].label.c_str() <<
"\"";
virtual ParameterList getSupportedParameters() const
vector< Parameter > ParameterList
virtual ParameterList getSupportedParameters() const
virtual void setParameters(map< string, string > ¶ms)
virtual void write(QString trackid, const Transform &transform, const Vamp::Plugin::OutputDescriptor &output, const Vamp::Plugin::FeatureList &features, std::string summaryType="")
virtual ~CSVFeatureWriter()
virtual void setParameters(map< string, string > ¶ms)
QString m_prevPrintedTrackId
QTextStream * getOutputStream(QString, TransformId)