libtaginfo  0.2.1
taginfo_apetags.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 #ifndef TAGINFO_APE_H
27 #define TAGINFO_APE_H
28 
29 
30 #include "taginfo.h"
31 
32 using namespace TagLib;
33 using namespace TagInfo;
34 
38 namespace TagInfo {
39 
40  // GENERAL APE
41 
43 
46  class ApeTagInfo : public Info {
47  protected:
50  ApeTagInfo(const String &filename = "");
52  TagLib::APE::Tag * taglib_apetag;
53 
54  public:
55  virtual ~ApeTagInfo();
56 
57  virtual bool load(void);
58  virtual bool save(void);
59 
60  virtual ImageList get_images() const;
61  virtual void set_images(const ImageList images);
62 
63  virtual String get_lyrics(void) const;
64  virtual void set_lyrics(const String &lyrics);
65  };
66 
67 
68  // FILE TYPES
69 
71 
74  class ApeInfo : public ApeTagInfo {
75  public:
78  ApeInfo(const String &filename = "");
79  virtual ~ApeInfo();
80  };
81 
82 
84 
87  class MpcInfo : public ApeTagInfo {
88  public :
91  MpcInfo(const String &filename = "");
92  virtual ~MpcInfo();
93  };
94 
95 
97 
100  class WavPackInfo : public ApeTagInfo {
101  public :
104  WavPackInfo(const String &filename = "");
105  virtual ~WavPackInfo();
106  };
107 }
108 
109 #endif
TagLib::APE::Tag * taglib_apetag
Ape tag.
Definition: taginfo_apetags.h:52
Info implementation for mpc files.
Definition: taginfo_apetags.h:87
Info implementation for APE tags.
Definition: taginfo_apetags.h:46
Info implementation for wavpack files (wv)
Definition: taginfo_apetags.h:100
Info implementation for ape files.
Definition: taginfo_apetags.h:74
TagLib::List< Image * > ImageList
Definition: taginfo.h:62
A simple, generic interface to common audio meta data fields and media properties.
Definition: taginfo.h:125