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