Mercurial > hg > svcore
annotate data/fileio/PlaylistFileReader.h @ 1862:3072aa267248
Permit setting completion directly on the alignment model, if we aren't using a transform to populate the path source but are instead going to set the path directly after completion
author | Chris Cannam |
---|---|
date | Fri, 22 May 2020 16:23:25 +0100 |
parents | f36fef97ac81 |
children |
rev | line source |
---|---|
Chris@297 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ |
Chris@297 | 2 |
Chris@297 | 3 /* |
Chris@297 | 4 Sonic Visualiser |
Chris@297 | 5 An audio file viewer and annotation editor. |
Chris@297 | 6 Centre for Digital Music, Queen Mary, University of London. |
Chris@297 | 7 This file copyright 2007 QMUL. |
Chris@297 | 8 |
Chris@297 | 9 This program is free software; you can redistribute it and/or |
Chris@297 | 10 modify it under the terms of the GNU General Public License as |
Chris@297 | 11 published by the Free Software Foundation; either version 2 of the |
Chris@297 | 12 License, or (at your option) any later version. See the file |
Chris@297 | 13 COPYING included with this distribution for more information. |
Chris@297 | 14 */ |
Chris@297 | 15 |
Chris@1581 | 16 #ifndef SV_PLAYLIST_FILE_READER_H |
Chris@1581 | 17 #define SV_PLAYLIST_FILE_READER_H |
Chris@297 | 18 |
Chris@401 | 19 #include "FileSource.h" |
Chris@401 | 20 |
Chris@297 | 21 #include <QString> |
Chris@297 | 22 |
Chris@297 | 23 #include <vector> |
Chris@297 | 24 #include <set> |
Chris@297 | 25 |
Chris@297 | 26 class QFile; |
Chris@297 | 27 |
Chris@297 | 28 class PlaylistFileReader |
Chris@297 | 29 { |
Chris@297 | 30 public: |
Chris@297 | 31 typedef std::vector<QString> Playlist; |
Chris@297 | 32 |
Chris@297 | 33 PlaylistFileReader(QString path); |
Chris@401 | 34 PlaylistFileReader(FileSource source); |
Chris@297 | 35 virtual ~PlaylistFileReader(); |
Chris@297 | 36 |
Chris@297 | 37 virtual bool isOK() const; |
Chris@297 | 38 virtual QString getError() const; |
Chris@297 | 39 virtual Playlist load() const; |
Chris@297 | 40 |
Chris@1853 | 41 // Return the set of file extensions that are expected to |
Chris@1853 | 42 // represent parseable playlists. |
Chris@297 | 43 static void getSupportedExtensions(std::set<QString> &extensions); |
Chris@297 | 44 |
Chris@1853 | 45 // Return true if the given source has a file extension that is |
Chris@1853 | 46 // one of the supported extensions. Does not look at the content |
Chris@1853 | 47 // of the file. |
Chris@1853 | 48 static bool isSupported(FileSource source); |
Chris@1853 | 49 |
Chris@297 | 50 protected: |
Chris@401 | 51 void init(); |
Chris@401 | 52 |
Chris@401 | 53 FileSource m_source; |
Chris@297 | 54 QFile *m_file; |
Chris@440 | 55 QString m_basedir; |
Chris@297 | 56 QString m_error; |
Chris@297 | 57 }; |
Chris@297 | 58 |
Chris@297 | 59 #endif |