Chris@439: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@439: Chris@439: /* Chris@439: Sonic Visualiser Chris@439: An audio file viewer and annotation editor. Chris@439: Centre for Digital Music, Queen Mary, University of London. Chris@439: This file copyright 2008 QMUL. Chris@439: Chris@439: This program is free software; you can redistribute it and/or Chris@439: modify it under the terms of the GNU General Public License as Chris@439: published by the Free Software Foundation; either version 2 of the Chris@439: License, or (at your option) any later version. See the file Chris@439: COPYING included with this distribution for more information. Chris@439: */ Chris@439: Chris@439: #ifndef _RDF_IMPORTER_H_ Chris@439: #define _RDF_IMPORTER_H_ Chris@439: Chris@439: #include Chris@439: #include Chris@439: Chris@439: #include Chris@439: Chris@1040: #include "base/BaseTypes.h" Chris@1040: Chris@439: class Model; Chris@439: class RDFImporterImpl; Chris@439: class ProgressReporter; Chris@439: Chris@439: class RDFImporter : public QObject Chris@439: { Chris@439: Q_OBJECT Chris@439: Chris@439: public: Chris@439: /** Chris@439: * Return the file extensions that we have data file readers for, Chris@439: * in a format suitable for use with QFileDialog. For example, Chris@439: * "*.rdf *.n3". Chris@439: */ Chris@439: static QString getKnownExtensions(); Chris@439: Chris@1040: RDFImporter(QString url, sv_samplerate_t sampleRate = 0); Chris@439: virtual ~RDFImporter(); Chris@439: Chris@1040: void setSampleRate(sv_samplerate_t sampleRate); Chris@490: Chris@439: bool isOK(); Chris@439: QString getErrorString() const; Chris@439: Chris@439: std::vector getDataModels(ProgressReporter *reporter); Chris@439: Chris@490: enum RDFDocumentType { Chris@490: AudioRefAndAnnotations, Chris@490: Annotations, Chris@490: AudioRef, Chris@499: OtherRDFDocument, Chris@499: NotRDF Chris@490: }; Chris@490: Chris@490: static RDFDocumentType identifyDocumentType(QString url); Chris@490: Chris@439: protected: Chris@439: RDFImporterImpl *m_d; Chris@439: }; Chris@439: Chris@439: #endif