annotate data/fileio/OggVorbisFileReader.h @ 167:665342c6ec57

* Add a bit of resistance to pane dragging so as to make it harder to inadvertently drag in the other axis from the one you intended
author Chris Cannam
date Fri, 22 Sep 2006 16:46:10 +0000
parents c03ec31005e1
children 71dfc6ab3b54
rev   line source
Chris@148 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@148 2
Chris@148 3 /*
Chris@148 4 Sonic Visualiser
Chris@148 5 An audio file viewer and annotation editor.
Chris@148 6 Centre for Digital Music, Queen Mary, University of London.
Chris@148 7 This file copyright 2006 Chris Cannam.
Chris@148 8
Chris@148 9 This program is free software; you can redistribute it and/or
Chris@148 10 modify it under the terms of the GNU General Public License as
Chris@148 11 published by the Free Software Foundation; either version 2 of the
Chris@148 12 License, or (at your option) any later version. See the file
Chris@148 13 COPYING included with this distribution for more information.
Chris@148 14 */
Chris@148 15
Chris@148 16 #ifndef _OGG_VORBIS_FILE_READER_H_
Chris@148 17 #define _OGG_VORBIS_FILE_READER_H_
Chris@148 18
Chris@148 19 #ifdef HAVE_OGGZ
Chris@148 20 #ifdef HAVE_FISHSOUND
Chris@148 21
Chris@148 22 #include "CodedAudioFileReader.h"
Chris@148 23
Chris@148 24 #include <oggz/oggz.h>
Chris@148 25 #include <fishsound/fishsound.h>
Chris@148 26
Chris@157 27 #include <set>
Chris@157 28
Chris@148 29 class QProgressDialog;
Chris@148 30
Chris@148 31 class OggVorbisFileReader : public CodedAudioFileReader
Chris@148 32 {
Chris@148 33 public:
Chris@148 34 OggVorbisFileReader(QString path, bool showProgress, CacheMode cacheMode);
Chris@148 35 virtual ~OggVorbisFileReader();
Chris@148 36
Chris@148 37 virtual QString getError() const { return m_error; }
Chris@148 38
Chris@157 39 static void getSupportedExtensions(std::set<QString> &extensions);
Chris@157 40
Chris@148 41 protected:
Chris@148 42 QString m_path;
Chris@148 43 QString m_error;
Chris@148 44
Chris@148 45 FishSound *m_fishSound;
Chris@148 46 QProgressDialog *m_progress;
Chris@148 47 size_t m_fileSize;
Chris@148 48 size_t m_bytesRead;
Chris@148 49 bool m_cancelled;
Chris@148 50
Chris@148 51 static int readPacket(OGGZ *, ogg_packet *, long, void *);
Chris@148 52 static int acceptFrames(FishSound *, float **, long, void *);
Chris@148 53 };
Chris@148 54
Chris@148 55 #endif
Chris@148 56 #endif
Chris@148 57
Chris@148 58 #endif