Sayonara Player
TaggingEnums.h
1 #ifndef TAGGINGENUMS
2 #define TAGGINGENUMS
3 
4 #include <taglib/audioproperties.h>
5 #include <taglib/id3v1tag.h>
6 #include <taglib/id3v2tag.h>
7 #include <taglib/mp4tag.h>
8 #include <taglib/xiphcomment.h>
9 
10 namespace Tagging
11 {
15  enum class Quality : unsigned char
16  {
17  Fast=TagLib::AudioProperties::Fast,
18  Standard=TagLib::AudioProperties::Average,
19  Quality=TagLib::AudioProperties::Accurate,
20  Dirty
21  };
22 
23  enum class TagType : unsigned char
24  {
25  ID3v1=0,
26  ID3v2,
27  Xiph,
28  MP4,
29  Unsupported,
30  Unknown
31  };
32 
33  struct ParsedTag
34  {
35  TagLib::Tag* tag;
36  TagType type;
37 
38  TagLib::MP4::Tag* mp4_tag() const
39  {
40  return dynamic_cast<TagLib::MP4::Tag*>(this->tag);
41  }
42 
43  TagLib::ID3v2::Tag* id3_tag() const
44  {
45  return dynamic_cast<TagLib::ID3v2::Tag*>(this->tag);
46  }
47 
48  TagLib::Ogg::XiphComment* xiph_tag() const
49  {
50  return dynamic_cast<TagLib::Ogg::XiphComment*>(this->tag);
51  }
52  };
53 }
54 #endif // TAGGINGENUMS
55 
Definition: AlbumArtist.h:29
ID3v2Frame namespace.
Definition: AlbumArtist.h:26
Quality
The Quality enum.
Definition: TaggingEnums.h:15
The GUI_TagEdit class.
Definition: GenreFetcher.h:32
Definition: AlbumArtist.h:32
Definition: TaggingEnums.h:33