annotate data/fileio/PlaylistFileReader.h @ 1881:b504df98c3be

Ensure completion on output model is started at zero, so if it's checked before the input model has become ready and the transform has begun, it is not accidentally reported as complete (affected re-aligning models in Sonic Lineup when replacing the session)
author Chris Cannam
date Fri, 26 Jun 2020 11:45:39 +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