annotate rdf/RDFImporter.h @ 1777:d484490cdf69

Split EditableDenseThreeDimensionalModel into explicitly compressed and uncompressed variants. Simplifies the uncompressed version, and we may want to consider whether we need the compressed one at all.
author Chris Cannam
date Tue, 10 Sep 2019 16:34:47 +0100
parents 6d09d68165a4
children a454c7477b4f
rev   line source
Chris@439 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@439 2
Chris@439 3 /*
Chris@439 4 Sonic Visualiser
Chris@439 5 An audio file viewer and annotation editor.
Chris@439 6 Centre for Digital Music, Queen Mary, University of London.
Chris@439 7 This file copyright 2008 QMUL.
Chris@439 8
Chris@439 9 This program is free software; you can redistribute it and/or
Chris@439 10 modify it under the terms of the GNU General Public License as
Chris@439 11 published by the Free Software Foundation; either version 2 of the
Chris@439 12 License, or (at your option) any later version. See the file
Chris@439 13 COPYING included with this distribution for more information.
Chris@439 14 */
Chris@439 15
Chris@1581 16 #ifndef SV_RDF_IMPORTER_H
Chris@1581 17 #define SV_RDF_IMPORTER_H
Chris@439 18
Chris@439 19 #include <QObject>
Chris@439 20 #include <QString>
Chris@439 21
Chris@439 22 #include <vector>
Chris@439 23
Chris@1040 24 #include "base/BaseTypes.h"
Chris@1752 25 #include "data/model/Model.h"
Chris@1040 26
Chris@439 27 class RDFImporterImpl;
Chris@439 28 class ProgressReporter;
Chris@439 29
Chris@439 30 class RDFImporter : public QObject
Chris@439 31 {
Chris@439 32 Q_OBJECT
Chris@439 33
Chris@439 34 public:
Chris@439 35 /**
Chris@439 36 * Return the file extensions that we have data file readers for,
Chris@439 37 * in a format suitable for use with QFileDialog. For example,
Chris@439 38 * "*.rdf *.n3".
Chris@439 39 */
Chris@439 40 static QString getKnownExtensions();
Chris@439 41
Chris@1040 42 RDFImporter(QString url, sv_samplerate_t sampleRate = 0);
Chris@439 43 virtual ~RDFImporter();
Chris@439 44
Chris@1040 45 void setSampleRate(sv_samplerate_t sampleRate);
Chris@490 46
Chris@439 47 bool isOK();
Chris@439 48 QString getErrorString() const;
Chris@439 49
Chris@1739 50 /**
Chris@1752 51 * Return a list of models imported from the RDF source. The
Chris@1752 52 * models have been newly created and registered with ById; the
Chris@1752 53 * caller must arrange to release them.
Chris@1739 54 */
Chris@1752 55 std::vector<ModelId> getDataModels(ProgressReporter *reporter);
Chris@439 56
Chris@490 57 enum RDFDocumentType {
Chris@490 58 AudioRefAndAnnotations,
Chris@490 59 Annotations,
Chris@490 60 AudioRef,
Chris@499 61 OtherRDFDocument,
Chris@499 62 NotRDF
Chris@490 63 };
Chris@490 64
Chris@490 65 static RDFDocumentType identifyDocumentType(QString url);
Chris@490 66
Chris@439 67 protected:
Chris@439 68 RDFImporterImpl *m_d;
Chris@439 69 };
Chris@439 70
Chris@439 71 #endif