comparison data/model/BoxModel.h @ 1835:804dd0c06f0e

Merge from branch sensible-delimited-data-strings
author Chris Cannam
date Mon, 06 Apr 2020 13:55:44 +0100
parents 21c792334c2e
children
comparison
equal deleted inserted replaced
1832:7c92c644db20 1835:804dd0c06f0e
346 options.levelAttributeName = "extent"; 346 options.levelAttributeName = "extent";
347 347
348 m_events.toXml(out, indent, QString("dimensions=\"2\""), options); 348 m_events.toXml(out, indent, QString("dimensions=\"2\""), options);
349 } 349 }
350 350
351 QString getDelimitedDataHeaderLine(QString delimiter, 351 QVector<QString>
352 DataExportOptions opts) const override { 352 getStringExportHeaders(DataExportOptions opts) const override {
353
353 QStringList list; 354 QStringList list;
354 355
355 // These are considered API rather than human-readable text - 356 // These are considered API rather than human-readable text -
356 // they shouldn't be translated 357 // they shouldn't be translated
357 358
361 list << "start" << "end"; 362 list << "start" << "end";
362 } 363 }
363 364
364 list << "extent start" << "extent end" << "label"; 365 list << "extent start" << "extent end" << "label";
365 366
366 return list.join(delimiter).toUpper(); 367 QVector<QString> sv;
367 } 368 for (QString s: list) {
368 369 sv.push_back(s.toUpper());
369 QString toDelimitedDataString(QString delimiter, 370 }
370 DataExportOptions opts, 371 return sv;
371 sv_frame_t startFrame, 372 }
372 sv_frame_t duration) const override { 373
374 QVector<QVector<QString>>
375 toStringExportRows(DataExportOptions opts,
376 sv_frame_t startFrame,
377 sv_frame_t duration) const override {
373 378
374 // We need a custom format here 379 // We need a custom format here
375 380
376 EventVector ee = m_events.getEventsSpanning(startFrame, duration); 381 EventVector ee = m_events.getEventsSpanning(startFrame, duration);
377 382
378 QString s; 383 QVector<QVector<QString>> rows;
379 384
380 for (auto e: ee) { 385 for (auto e: ee) {
381 386
382 QStringList list; 387 QVector<QString> list;
383 388
384 if (opts & DataExportWriteTimeInFrames) { 389 if (opts & DataExportWriteTimeInFrames) {
385 390
386 list << QString("%1").arg(e.getFrame()); 391 list << QString("%1").arg(e.getFrame());
387 list << QString("%1").arg(e.getFrame() + e.getDuration()); 392 list << QString("%1").arg(e.getFrame() + e.getDuration());
403 408
404 if (e.getLabel() != "") { 409 if (e.getLabel() != "") {
405 list << e.getLabel(); 410 list << e.getLabel();
406 } 411 }
407 412
408 s += list.join(delimiter) + "\n"; 413 rows.push_back(list);
409 } 414 }
410 415
411 return s; 416 return rows;
412 } 417 }
413 418
414 protected: 419 protected:
415 sv_samplerate_t m_sampleRate; 420 sv_samplerate_t m_sampleRate;
416 int m_resolution; 421 int m_resolution;