summaryrefslogtreecommitdiff
path: root/libs/taglib/taglib/mpeg/id3v2/frames/textidentificationframe.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/taglib/taglib/mpeg/id3v2/frames/textidentificationframe.h')
-rw-r--r--libs/taglib/taglib/mpeg/id3v2/frames/textidentificationframe.h258
1 files changed, 0 insertions, 258 deletions
diff --git a/libs/taglib/taglib/mpeg/id3v2/frames/textidentificationframe.h b/libs/taglib/taglib/mpeg/id3v2/frames/textidentificationframe.h
deleted file mode 100644
index 291cba5b8f..0000000000
--- a/libs/taglib/taglib/mpeg/id3v2/frames/textidentificationframe.h
+++ /dev/null
@@ -1,258 +0,0 @@
-/***************************************************************************
- copyright : (C) 2002 - 2008 by Scott Wheeler
- email : wheeler@kde.org
- ***************************************************************************/
-
-/***************************************************************************
- * This library is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU Lesser General Public License version *
- * 2.1 as published by the Free Software Foundation. *
- * *
- * This library is distributed in the hope that it will be useful, but *
- * WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this library; if not, write to the Free Software *
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
- * USA *
- * *
- * Alternatively, this file is available under the Mozilla Public *
- * License Version 1.1. You may obtain a copy of the License at *
- * http://www.mozilla.org/MPL/ *
- ***************************************************************************/
-
-#ifndef TAGLIB_TEXTIDENTIFICATIONFRAME_H
-#define TAGLIB_TEXTIDENTIFICATIONFRAME_H
-
-#include <tstringlist.h>
-#include "taglib_export.h"
-
-#include <id3v2frame.h>
-
-namespace TagLib {
-
- namespace ID3v2 {
-
- class Tag;
-
- //! An ID3v2 text identification frame implementation
-
- /*!
- * This is an implementation of the most common type of ID3v2 frame -- text
- * identification frames. There are a number of variations on this. Those
- * enumerated in the ID3v2.4 standard are:
- *
- * <ul>
- * <li><b>TALB</b> Album/Movie/Show title</li>
- * <li><b>TBPM</b> BPM (beats per minute)</li>
- * <li><b>TCOM</b> Composer</li>
- * <li><b>TCON</b> Content type</li>
- * <li><b>TCOP</b> Copyright message</li>
- * <li><b>TDEN</b> Encoding time</li>
- * <li><b>TDLY</b> Playlist delay</li>
- * <li><b>TDOR</b> Original release time</li>
- * <li><b>TDRC</b> Recording time</li>
- * <li><b>TDRL</b> Release time</li>
- * <li><b>TDTG</b> Tagging time</li>
- * <li><b>TENC</b> Encoded by</li>
- * <li><b>TEXT</b> Lyricist/Text writer</li>
- * <li><b>TFLT</b> File type</li>
- * <li><b>TIPL</b> Involved people list</li>
- * <li><b>TIT1</b> Content group description</li>
- * <li><b>TIT2</b> Title/songname/content description</li>
- * <li><b>TIT3</b> Subtitle/Description refinement</li>
- * <li><b>TKEY</b> Initial key</li>
- * <li><b>TLAN</b> Language(s)</li>
- * <li><b>TLEN</b> Length</li>
- * <li><b>TMCL</b> Musician credits list</li>
- * <li><b>TMED</b> Media type</li>
- * <li><b>TMOO</b> Mood</li>
- * <li><b>TOAL</b> Original album/movie/show title</li>
- * <li><b>TOFN</b> Original filename</li>
- * <li><b>TOLY</b> Original lyricist(s)/text writer(s)</li>
- * <li><b>TOPE</b> Original artist(s)/performer(s)</li>
- * <li><b>TOWN</b> File owner/licensee</li>
- * <li><b>TPE1</b> Lead performer(s)/Soloist(s)</li>
- * <li><b>TPE2</b> Band/orchestra/accompaniment</li>
- * <li><b>TPE3</b> Conductor/performer refinement</li>
- * <li><b>TPE4</b> Interpreted, remixed, or otherwise modified by</li>
- * <li><b>TPOS</b> Part of a set</li>
- * <li><b>TPRO</b> Produced notice</li>
- * <li><b>TPUB</b> Publisher</li>
- * <li><b>TRCK</b> Track number/Position in set</li>
- * <li><b>TRSN</b> Internet radio station name</li>
- * <li><b>TRSO</b> Internet radio station owner</li>
- * <li><b>TSOA</b> Album sort order</li>
- * <li><b>TSOP</b> Performer sort order</li>
- * <li><b>TSOT</b> Title sort order</li>
- * <li><b>TSRC</b> ISRC (international standard recording code)</li>
- * <li><b>TSSE</b> Software/Hardware and settings used for encoding</li>
- * <li><b>TSST</b> Set subtitle</li>
- * </ul>
- *
- * The ID3v2 Frames document gives a description of each of these formats
- * and the expected order of strings in each. ID3v2::Header::frameID() can
- * be used to determine the frame type.
- *
- * \note If non-Latin1 compatible strings are used with this class, even if
- * the text encoding is set to Latin1, the frame will be written using UTF8
- * (with the encoding flag appropriately set in the output).
- */
-
- class TAGLIB_EXPORT TextIdentificationFrame : public Frame
- {
- friend class FrameFactory;
-
- public:
- /*!
- * Construct an empty frame of type \a type. Uses \a encoding as the
- * default text encoding.
- *
- * \note In this case you must specify the text encoding as it
- * resolves the ambiguity between constructors.
- *
- * \note Please see the note in the class description regarding Latin1.
- */
- TextIdentificationFrame(const ByteVector &type, String::Type encoding);
-
- /*!
- * This is a dual purpose constructor. \a data can either be binary data
- * that should be parsed or (at a minimum) the frame ID.
- */
- explicit TextIdentificationFrame(const ByteVector &data);
-
- /*!
- * Destroys this TextIdentificationFrame instance.
- */
- virtual ~TextIdentificationFrame();
-
- /*!
- * Text identification frames are a list of string fields.
- *
- * This function will accept either a StringList or a String (using the
- * StringList constructor that accepts a single String).
- *
- * \note This will not change the text encoding of the frame even if the
- * strings passed in are not of the same encoding. Please use
- * setEncoding(s.type()) if you wish to change the encoding of the frame.
- */
- void setText(const StringList &l);
-
- // Reimplementations.
-
- virtual void setText(const String &s);
- virtual String toString() const;
-
- /*!
- * Returns the text encoding that will be used in rendering this frame.
- * This defaults to the type that was either specified in the constructor
- * or read from the frame when parsed.
- *
- * \note Please see the note in the class description regarding Latin1.
- *
- * \see setTextEncoding()
- * \see render()
- */
- String::Type textEncoding() const;
-
- /*!
- * Sets the text encoding to be used when rendering this frame to
- * \a encoding.
- *
- * \note Please see the note in the class description regarding Latin1.
- *
- * \see textEncoding()
- * \see render()
- */
- void setTextEncoding(String::Type encoding);
-
- /*!
- * Returns a list of the strings in this frame.
- */
- StringList fieldList() const;
-
- protected:
- // Reimplementations.
-
- virtual void parseFields(const ByteVector &data);
- virtual ByteVector renderFields() const;
-
- /*!
- * The constructor used by the FrameFactory.
- */
- TextIdentificationFrame(const ByteVector &data, Header *h);
-
- private:
- TextIdentificationFrame(const TextIdentificationFrame &);
- TextIdentificationFrame &operator=(const TextIdentificationFrame &);
-
- class TextIdentificationFramePrivate;
- TextIdentificationFramePrivate *d;
- };
-
- /*!
- * This is a specialization of text identification frames that allows for
- * user defined entries. Each entry has a description in addition to the
- * normal list of fields that a text identification frame has.
- *
- * This description identifies the frame and must be unique.
- */
-
- //! An ID3v2 custom text identification frame implementationx
-
- class TAGLIB_EXPORT UserTextIdentificationFrame : public TextIdentificationFrame
- {
- friend class FrameFactory;
-
- public:
- /*!
- * Constructs an empty user defined text identification frame. For this to be
- * a useful frame both a description and text must be set.
- */
- explicit UserTextIdentificationFrame(String::Type encoding = String::Latin1);
-
- /*!
- * Creates a frame based on \a data.
- */
- explicit UserTextIdentificationFrame(const ByteVector &data);
-
- virtual String toString() const;
-
- /*!
- * Returns the description for this frame.
- */
- String description() const;
-
- /*!
- * Sets the description of the frame to \a s. \a s must be unique. You can
- * check for the presence of another user defined text frame of the same type
- * using find() and testing for null.
- */
- void setDescription(const String &s);
-
- StringList fieldList() const;
- void setText(const String &text);
- void setText(const StringList &fields);
-
- /*!
- * Searches for the user defined text frame with the description \a description
- * in \a tag. This returns null if no matching frames were found.
- */
- static UserTextIdentificationFrame *find(Tag *tag, const String &description);
-
- private:
- UserTextIdentificationFrame(const ByteVector &data, Header *h);
- UserTextIdentificationFrame(const TextIdentificationFrame &);
- UserTextIdentificationFrame &operator=(const UserTextIdentificationFrame &);
-
- void checkFields();
-
- class UserTextIdentificationFramePrivate;
- UserTextIdentificationFramePrivate *d;
- };
-
- }
-}
-#endif