Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

flacfile.h

Go to the documentation of this file.
00001 /*************************************************************************** 00002 copyright : (C) 2003 by Allan Sandfeld Jensen 00003 email : kde@carewolf.org 00004 ***************************************************************************/ 00005 00006 /*************************************************************************** 00007 * This library is free software; you can redistribute it and/or modify * 00008 * it under the terms of the GNU Lesser General Public License version * 00009 * 2.1 as published by the Free Software Foundation. * 00010 * * 00011 * This library is distributed in the hope that it will be useful, but * 00012 * WITHOUT ANY WARRANTY; without even the implied warranty of * 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00014 * Lesser General Public License for more details. * 00015 * * 00016 * You should have received a copy of the GNU Lesser General Public * 00017 * License along with this library; if not, write to the Free Software * 00018 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * 00019 * USA * 00020 ***************************************************************************/ 00021 00022 #ifndef TAGLIB_FLACFILE_H 00023 #define TAGLIB_FLACFILE_H 00024 00025 #include <tfile.h> 00026 00027 #include "flacproperties.h" 00028 00029 namespace TagLib { 00030 00031 class Tag; 00032 namespace ID3v2 { class FrameFactory; } 00033 00035 00045 namespace FLAC { 00046 00048 00056 class File : public TagLib::File 00057 { 00058 public: 00064 File(const char *file, bool readProperties = true, 00065 Properties::ReadStyle propertiesStyle = Properties::Average); 00066 00070 virtual ~File(); 00071 00076 virtual TagLib::Tag *tag() const; 00077 00082 virtual Properties *audioProperties() const; 00083 00089 virtual void save(); 00090 00098 void setID3v2FrameFactory(const ID3v2::FrameFactory *factory); 00099 00104 ByteVector streamInfoData(); 00105 00110 long streamLength(); 00111 00112 private: 00113 File(const File &); 00114 File &operator=(const File &); 00115 00116 void read(bool readProperties, Properties::ReadStyle propertiesStyle); 00117 void scan(); 00118 long findID3v2(); 00119 long findID3v1(); 00120 ByteVector xiphCommentData(); 00121 00122 class FilePrivate; 00123 FilePrivate *d; 00124 }; 00125 } 00126 } 00127 00128 #endif

Generated on Wed Jul 28 16:43:07 2004 for TagLib by doxygen 1.3.7