annotate rdf/RDFImporter.h @ 490:c3fb8258e34d

* Make it possible to import an entire session from an RDF document. However, at the moment the timings of events appear to be constrained by how far the audio decoder has got through its audio file at the time the event is queried -- need to investigate.
author Chris Cannam
date Fri, 21 Nov 2008 18:03:14 +0000
parents beb2948baa77
children b71116d3c180
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@439 16 #ifndef _RDF_IMPORTER_H_
Chris@439 17 #define _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@439 24 class Model;
Chris@439 25 class RDFImporterImpl;
Chris@439 26 class ProgressReporter;
Chris@439 27
Chris@439 28 class RDFImporter : public QObject
Chris@439 29 {
Chris@439 30 Q_OBJECT
Chris@439 31
Chris@439 32 public:
Chris@439 33 /**
Chris@439 34 * Return the file extensions that we have data file readers for,
Chris@439 35 * in a format suitable for use with QFileDialog. For example,
Chris@439 36 * "*.rdf *.n3".
Chris@439 37 */
Chris@439 38 static QString getKnownExtensions();
Chris@439 39
Chris@490 40 RDFImporter(QString url, int sampleRate = 0);
Chris@439 41 virtual ~RDFImporter();
Chris@439 42
Chris@490 43 void setSampleRate(int sampleRate);
Chris@490 44
Chris@439 45 bool isOK();
Chris@439 46 QString getErrorString() const;
Chris@439 47
Chris@490 48 QString getAudioAvailableUrl() const;
Chris@490 49
Chris@439 50 std::vector<Model *> getDataModels(ProgressReporter *reporter);
Chris@439 51
Chris@490 52 enum RDFDocumentType {
Chris@490 53 AudioRefAndAnnotations,
Chris@490 54 Annotations,
Chris@490 55 AudioRef,
Chris@490 56 OtherDocument
Chris@490 57 };
Chris@490 58
Chris@490 59 static RDFDocumentType identifyDocumentType(QString url);
Chris@490 60
Chris@439 61 protected:
Chris@439 62 RDFImporterImpl *m_d;
Chris@439 63 };
Chris@439 64
Chris@439 65 #endif