comparison data/model/NoteModel.h @ 1833:21c792334c2e sensible-delimited-data-strings

Rewrite all the DelimitedDataString stuff so as to return vectors of individual cell strings rather than having the classes add the delimiters themselves. Rename accordingly to names based on StringExport. Take advantage of this in the CSV writer code so as to properly quote cells that contain delimiter characters.
author Chris Cannam
date Fri, 03 Apr 2020 17:11:05 +0100
parents c546429d4c2f
children
comparison
equal deleted inserted replaced
1832:7c92c644db20 1833:21c792334c2e
406 .arg(extraAttributes)); 406 .arg(extraAttributes));
407 407
408 m_events.toXml(out, indent, QString("dimensions=\"3\"")); 408 m_events.toXml(out, indent, QString("dimensions=\"3\""));
409 } 409 }
410 410
411 QString getDelimitedDataHeaderLine(QString delimiter, 411 QVector<QString>
412 DataExportOptions options) const override { 412 getStringExportHeaders(DataExportOptions options) const override {
413 return m_events.getDelimitedDataHeaderLine(delimiter, 413 return m_events.getStringExportHeaders(options, {});
414 options, 414 }
415 Event::ExportNameOptions()); 415
416 } 416 QVector<QVector<QString>>
417 417 toStringExportRows(DataExportOptions options,
418 QString toDelimitedDataString(QString delimiter, 418 sv_frame_t startFrame,
419 DataExportOptions options, 419 sv_frame_t duration) const override {
420 sv_frame_t startFrame, 420 return m_events.toStringExportRows
421 sv_frame_t duration) const override { 421 (options,
422 return m_events.toDelimitedDataString
423 (delimiter,
424 options,
425 startFrame, 422 startFrame,
426 duration, 423 duration,
427 m_sampleRate, 424 m_sampleRate,
428 m_resolution, 425 m_resolution,
429 Event().withValue(0.f).withDuration(0.f).withLevel(0.f)); 426 Event().withValue(0.f).withDuration(0.f).withLevel(0.f));