1 /* 2 3 tag::read::ID3_lyrics 4 5 copyright (c) 2006 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_lyrics class implements the reader interface for Lyrics3 tags. 13 14 Notes: 15 16 As Lyrics3 is an strange extension of ID3v1, it falls back to those tags 17 for information not present in the Lyrics3 tag. 18 19 */ 20 21 #ifndef __ZF_GETLYRICS3 22 #define __ZF_GETLYRICS3 23 24 #include <string> 25 #include "lyrics3.h" 26 #include "getid3.h" 27 28 namespace tag { 29 namespace read { 30 31 class Lyrics3 : public ID3 { 32 public: 33 lyrics3::info const lyrics_tag; 34 35 typedef metadata::factory<Lyrics3> factory; 36 explicit Lyrics3(const char* fn); 37 value_string operator[](ID3field field) const; 38 array listing() const; 39 operator bool() const { return lyrics_tag.size(); } 40 41 static const char field_name[3][4]; 42 }; 43 44 typedef Lyrics3 ID3_with_lyrics; 45 } 46 } 47 48 #endif 49 50