Chris@106: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@106: Chris@106: /* Chris@106: Sonic Annotator Chris@106: A utility for batch feature extraction from audio files. Chris@106: Mark Levy, Chris Sutton and Chris Cannam, Queen Mary, University of London. Chris@106: Copyright 2007-2014 QMUL. Chris@106: Chris@106: This program is free software; you can redistribute it and/or Chris@106: modify it under the terms of the GNU General Public License as Chris@106: published by the Free Software Foundation; either version 2 of the Chris@106: License, or (at your option) any later version. See the file Chris@106: COPYING included with this distribution for more information. Chris@106: */ Chris@106: Chris@106: #ifndef _MULTIPLEXED_READER_H_ Chris@106: #define _MULTIPLEXED_READER_H_ Chris@106: Chris@106: #include "data/fileio/AudioFileReader.h" Chris@106: Chris@106: #include Chris@106: #include Chris@106: Chris@107: class MultiplexedReader : public AudioFileReader Chris@106: { Chris@106: Q_OBJECT Chris@106: Chris@106: public: Chris@107: // I take ownership of readers Chris@106: MultiplexedReader(QList readers); Chris@107: virtual ~MultiplexedReader(); Chris@106: Chris@258: virtual QString getError() const override { return m_error; } Chris@258: virtual bool isQuicklySeekable() const override { return m_quicklySeekable; } Chris@106: Chris@334: virtual QString getTitle() const override { return ""; } Chris@334: virtual QString getMaker() const override { return ""; } Chris@334: Chris@358: virtual QString getLocation() const { return ""; } Chris@358: virtual QString getLocalFilename() const { return ""; } Chris@358: Chris@290: virtual floatvec_t getInterleavedFrames Chris@258: (sv_frame_t start, sv_frame_t count) const override; Chris@106: Chris@258: virtual int getDecodeCompletion() const override; Chris@106: Chris@258: virtual bool isUpdating() const override; Chris@106: Chris@106: protected: Chris@107: QString m_error; Chris@107: bool m_quicklySeekable; Chris@107: QList m_readers; Chris@106: }; Chris@106: Chris@106: #endif