1 /* 2 3 tag::read::ID3 4 5 copyright (c) 2004, 2005 squell <squell@alumina.nl> 6 7 use, modification, copying and distribution of this software is permitted 8 under the conditions described in the file 'COPYING'. 9 10 Usage: 11 12 The read::ID3 class implements the reader interface for ID3 tags 13 14 */ 15 16 #ifndef __ZF_GETID3 17 #define __ZF_GETID3 18 19 #include <string> 20 #include "set_base.h" 21 #include "id3v1.h" 22 23 namespace tag { 24 namespace read { 25 26 class ID3 : public metadata { 27 public: 28 ID3v1 const tag; 29 30 typedef metadata::factory<ID3> factory; 31 explicit ID3(const char* fn); 32 value_string operator[](ID3field field) const; 33 array listing() const; 34 operator bool() const { return tag.TAG[0]; } 35 }; 36 37 } 38 } 39 40 #endif 41 42