libtaginfo  0.2.1
taginfo_id3tags.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008-2013 J.Rios <anonbeat@gmail.com>
3  * Copyright (C) 2013 Jörn Magens
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This Program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; see the file LICENSE. If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth
18  * Floor, Boston, MA 02110-1301 USA
19  * https://www.gnu.org/licenses/lgpl-2.1.txt
20  *
21  * Author:
22  * Jörn Magens <shuerhaaken@googlemail.com>
23  *
24  */
25 
26 
27 #ifndef TAGINFO_ID3_H
28 #define TAGINFO_ID3_H
29 
30 
31 #include "taginfo.h"
32 
33 #include <id3v2tag.h>
34 
35 
36 using namespace TagLib;
37 using namespace TagInfo;
38 
42 namespace TagInfo {
43 
44  // GENERAL ID3
46 
49  class Id3Info : public Info {
50  protected :
53  Id3Info(const String &filename = "");
54 
56  ID3v2::Tag * taglib_tagId3v2;
57 
58  public :
59  virtual ~Id3Info();
60 
61  virtual bool load(void);
62  virtual bool save();
63 
64  virtual ImageList get_images() const;
65  virtual void set_images(const ImageList images);
66 
67  virtual String get_lyrics(void) const;
68  virtual void set_lyrics(const String &lyrics);
69  };
70 
71 
72 
73  // FILE TYPES
74 
76 
79  class AiffInfo : public Id3Info {
80  public :
83  AiffInfo(const String &filename = "");
84  virtual ~AiffInfo();
85  };
86 
88 
91  class Mp3Info : public Id3Info {
92  public :
95  Mp3Info(const String &filename = "");
96  virtual ~Mp3Info();
97  };
98 
100 
103  class TrueAudioInfo : public Id3Info {
104  public :
107  TrueAudioInfo(const String &filename = "");
108  virtual ~TrueAudioInfo();
109  };
110 
111 
113 
116  class WaveInfo : public Id3Info {
117  public :
120  WaveInfo(const String &filename = "");
121  virtual ~WaveInfo();
122  };
123 }
124 
125 #endif
Info implementation for mp3 files.
Definition: taginfo_id3tags.h:91
ID3v2::Tag * taglib_tagId3v2
Id3 v2 tag.
Definition: taginfo_id3tags.h:56
Info implementation for aiff files.
Definition: taginfo_id3tags.h:79
Info implementation for trueaudio files.
Definition: taginfo_id3tags.h:103
Info implementation for id3 tags.
Definition: taginfo_id3tags.h:49
TagLib::List< Image * > ImageList
Definition: taginfo.h:62
Info implementation for wav files.
Definition: taginfo_id3tags.h:116
A simple, generic interface to common audio meta data fields and media properties.
Definition: taginfo.h:125