![]() |
Mixxx
|
00001 /*************************************************************************** 00002 soundsourceoggvorbis.h - ogg vorbis decoder 00003 ------------------- 00004 copyright : (C) 2003 by Svein Magne Bang 00005 email : 00006 ***************************************************************************/ 00007 00008 /*************************************************************************** 00009 * * 00010 * This program is free software; you can redistribute it and/or modify * 00011 * it under the terms of the GNU General Public License as published by * 00012 * the Free Software Foundation; either version 2 of the License, or * 00013 * (at your option) any later version. * 00014 * * 00015 ***************************************************************************/ 00016 00017 #ifndef SOUNDSOURCEOGGVORBIS_H 00018 #define SOUNDSOURCEOGGVORBIS_H 00019 00020 #include <qstring.h> 00021 #include "soundsource.h" 00022 #include <vorbis/codec.h> 00023 #include <vorbis/vorbisfile.h> 00024 00025 class SoundSourceOggVorbis : public Mixxx::SoundSource { 00026 public: 00027 SoundSourceOggVorbis(QString qFilename); 00028 ~SoundSourceOggVorbis(); 00029 int open(); 00030 long seek(long); 00031 unsigned read(unsigned long size, const SAMPLE*); 00032 inline long unsigned length(); 00033 int parseHeader(); 00034 static QList<QString> supportedFileExtensions(); 00035 private: 00036 int channels; 00037 unsigned long filelength; 00038 OggVorbis_File vf; 00039 int current_section; 00040 }; 00041 00042 #endif