annotate base/DataExportOptions.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 fd5a87f3c5b4
children
rev   line source
Chris@1060 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@1060 2
Chris@1060 3 /*
Chris@1060 4 Sonic Visualiser
Chris@1060 5 An audio file viewer and annotation editor.
Chris@1060 6 Centre for Digital Music, Queen Mary, University of London.
Chris@1060 7
Chris@1060 8 This program is free software; you can redistribute it and/or
Chris@1060 9 modify it under the terms of the GNU General Public License as
Chris@1060 10 published by the Free Software Foundation; either version 2 of the
Chris@1060 11 License, or (at your option) any later version. See the file
Chris@1060 12 COPYING included with this distribution for more information.
Chris@1060 13 */
Chris@1060 14
Chris@1060 15 #ifndef DATA_EXPORT_OPTIONS_H
Chris@1060 16 #define DATA_EXPORT_OPTIONS_H
Chris@1060 17
Chris@1060 18 enum DataExportOption
Chris@1060 19 {
Chris@1060 20 DataExportDefaults = 0x0,
Chris@1816 21
Chris@1816 22 /**
Chris@1816 23 * Export sparse event-based models as if they were dense models,
Chris@1816 24 * writing an event at every interval of the model's
Chris@1816 25 * resolution. Where no event is present in the actual model, a
Chris@1816 26 * constant "fill event" is interpolated instead.
Chris@1816 27 */
Chris@1060 28 DataExportFillGaps = 0x1,
Chris@1816 29
Chris@1816 30 /**
Chris@1816 31 * Omit the level attribute from exported events.
Chris@1816 32 */
Chris@1816 33 DataExportOmitLevel = 0x2,
Chris@1816 34
Chris@1816 35 /**
Chris@1816 36 * Always include a timestamp in the first column. Otherwise
Chris@1816 37 * timestamps will only be included in sparse models.
Chris@1816 38 */
Chris@1816 39 DataExportAlwaysIncludeTimestamp = 0x4,
Chris@1816 40
Chris@1816 41 /**
Chris@1816 42 * Use sample frames rather than seconds for time and duration
Chris@1816 43 * values.
Chris@1816 44 */
Chris@1816 45 DataExportWriteTimeInFrames = 0x8,
Chris@1816 46
Chris@1816 47 /**
Chris@1816 48 * Write a header row before any data rows.
Chris@1816 49 */
Chris@1816 50 DataExportIncludeHeader = 0x10
Chris@1060 51 };
Chris@1060 52
Chris@1060 53 typedef int DataExportOptions;
Chris@1060 54
Chris@1060 55 #endif