comparison data/model/SparseTimeValueModel.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
345 .arg(extraAttributes)); 345 .arg(extraAttributes));
346 346
347 m_events.toXml(out, indent, QString("dimensions=\"2\"")); 347 m_events.toXml(out, indent, QString("dimensions=\"2\""));
348 } 348 }
349 349
350 QString getDelimitedDataHeaderLine(QString delimiter, 350 QVector<QString>
351 DataExportOptions options) const override { 351 getStringExportHeaders(DataExportOptions options) const override {
352 return m_events.getDelimitedDataHeaderLine(delimiter, 352 return m_events.getStringExportHeaders(options, {});
353 options, 353 }
354 Event::ExportNameOptions()); 354
355 } 355 QVector<QVector<QString>>
356 356 toStringExportRows(DataExportOptions options,
357 QString toDelimitedDataString(QString delimiter, 357 sv_frame_t startFrame,
358 DataExportOptions options, 358 sv_frame_t duration) const override {
359 sv_frame_t startFrame, 359 return m_events.toStringExportRows(options,
360 sv_frame_t duration) const override { 360 startFrame,
361 return m_events.toDelimitedDataString(delimiter, 361 duration,
362 options, 362 m_sampleRate,
363 startFrame, 363 m_resolution,
364 duration, 364 Event().withValue(0.f));
365 m_sampleRate,
366 m_resolution,
367 Event().withValue(0.f));
368 } 365 }
369 366
370 protected: 367 protected:
371 sv_samplerate_t m_sampleRate; 368 sv_samplerate_t m_sampleRate;
372 int m_resolution; 369 int m_resolution;