# HG changeset patch # User Chris Cannam # Date 1228915270 0 # Node ID 6acdddf6f99e7ea1bce08ba5c451ac6f61202fb4 # Parent 06a6612e7cf1857fdec7b135ca0ff32a85958365 * fixes to improve the utility of the CSV feature writer diff -r 06a6612e7cf1 -r 6acdddf6f99e transform/CSVFeatureWriter.cpp --- a/transform/CSVFeatureWriter.cpp Wed Dec 10 12:39:32 2008 +0000 +++ b/transform/CSVFeatureWriter.cpp Wed Dec 10 13:21:10 2008 +0000 @@ -85,10 +85,24 @@ for (unsigned int i = 0; i < features.size(); ++i) { + if (m_stdout || m_singleFileName != "") { + if (trackId != m_prevPrintedTrackId) { + stream << "\"" << trackId << "\"" << m_separator; + m_prevPrintedTrackId = trackId; + } else { + stream << m_separator; + } + } + QString timestamp = features[i].timestamp.toString().c_str(); timestamp.replace(QRegExp("^ +"), ""); + stream << timestamp; - stream << timestamp; + if (features[i].hasDuration) { + QString duration = features[i].duration.toString().c_str(); + duration.replace(QRegExp("^ +"), ""); + stream << m_separator << duration; + } if (summaryType != "") { stream << m_separator << summaryType.c_str(); @@ -98,6 +112,10 @@ stream << m_separator << features[i].values[j]; } + if (features[i].label != "") { + stream << m_separator << "\"" << features[i].label.c_str() << "\""; + } + stream << "\n"; } } diff -r 06a6612e7cf1 -r 6acdddf6f99e transform/CSVFeatureWriter.h --- a/transform/CSVFeatureWriter.h Wed Dec 10 12:39:32 2008 +0000 +++ b/transform/CSVFeatureWriter.h Wed Dec 10 13:21:10 2008 +0000 @@ -53,6 +53,7 @@ private: QString m_separator; + QString m_prevPrintedTrackId; }; #endif diff -r 06a6612e7cf1 -r 6acdddf6f99e transform/FileFeatureWriter.cpp --- a/transform/FileFeatureWriter.cpp Wed Dec 10 12:39:32 2008 +0000 +++ b/transform/FileFeatureWriter.cpp Wed Dec 10 13:21:10 2008 +0000 @@ -184,11 +184,13 @@ QString filename; if (m_manyFiles && transformId != "") { - filename = QString("%1-%2.%3").arg(basename).arg(transformId).arg(m_extension); + filename = QString("%1_%2.%3").arg(basename).arg(transformId).arg(m_extension); } else { filename = QString("%1.%2").arg(basename).arg(m_extension); } + filename.replace(':', '_'); // ':' not permitted in Windows + filename = QDir(dirname).filePath(filename); if (QFileInfo(filename).exists() && !(m_force || m_append)) {