unsynchronizedlyricsframe.h
Go to the documentation of this file.
1 /***************************************************************************
2  copyright : (C) 2002 - 2008 by Scott Wheeler
3  email : wheeler@kde.org
4  copyright : (C) 2006 by Urs Fleisch
5  email : ufleisch@users.sourceforge.net
6  ***************************************************************************/
7 
8 /***************************************************************************
9  * This library is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU Lesser General Public License version *
11  * 2.1 as published by the Free Software Foundation. *
12  * *
13  * This library is distributed in the hope that it will be useful, but *
14  * WITHOUT ANY WARRANTY; without even the implied warranty of *
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
16  * Lesser General Public License for more details. *
17  * *
18  * You should have received a copy of the GNU Lesser General Public *
19  * License along with this library; if not, write to the Free Software *
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
21  * 02110-1301 USA *
22  * *
23  * Alternatively, this file is available under the Mozilla Public *
24  * License Version 1.1. You may obtain a copy of the License at *
25  * http://www.mozilla.org/MPL/ *
26  ***************************************************************************/
27 
28 #ifndef TAGLIB_UNSYNCHRONIZEDLYRICSFRAME_H
29 #define TAGLIB_UNSYNCHRONIZEDLYRICSFRAME_H
30 
31 #include "id3v2frame.h"
32 
33 namespace TagLib {
34 
35  namespace ID3v2 {
36 
38 
42  {
43  friend class FrameFactory;
44 
45  public:
51 
55  explicit UnsynchronizedLyricsFrame(const ByteVector &data);
56 
60  virtual ~UnsynchronizedLyricsFrame();
61 
67  virtual String toString() const;
68 
77  ByteVector language() const;
78 
86  String description() const;
87 
93  String text() const;
94 
102  void setLanguage(const ByteVector &languageCode);
103 
109  void setDescription(const String &s);
110 
116  virtual void setText(const String &s);
117 
126  String::Type textEncoding() const;
127 
135  void setTextEncoding(String::Type encoding);
136 
137 
148  PropertyMap asProperties() const;
149 
157  static UnsynchronizedLyricsFrame *findByDescription(const Tag *tag, const String &d);
158 
159  protected:
160  // Reimplementations.
161 
162  virtual void parseFields(const ByteVector &data);
163  virtual ByteVector renderFields() const;
164 
165  private:
172 
173  class UnsynchronizedLyricsFramePrivate;
174  UnsynchronizedLyricsFramePrivate *d;
175  };
176 
177  }
178 }
179 #endif