C# Class TagLib.Id3v2.TextInformationFrame

This class extends Frame to provide support ID3v2 Text Information Frames (Section 4.2), covering "T000" to "TZZZ", excluding "TXXX".

Text Information Frames contain the most commonly used values in tagging, including the artist, the track name, and just about any value that can be expressed as text.

The following table contains types and descriptions as found in the ID3 2.4.0 native frames specification. (Copyright (C) Martin Nilsson 2000.)

ID Description TIT1 The 'Content group description' frame is used if the sound belongs to a larger category of sounds/music. For example, classical music is often sorted in different musical sections (e.g. "Piano Concerto", "Weather - Hurricane"). TIT2 The 'Title/Songname/Content description' frame is the actual name of the piece (e.g. "Adagio", "Hurricane Donna"). TIT3 The 'Subtitle/Description refinement' frame is used for information directly related to the contents title (e.g. "Op. 16" or "Performed live at Wembley"). TALB The 'Album/Movie/Show title' frame is intended for the title of the recording (or source of sound) from which the audio in the file is taken. TOAL The 'Original album/movie/show title' frame is intended for the title of the original recording (or source of sound), if for example the music in the file should be a cover of a previously released song. TRCK The 'Track number/Position in set' frame is a numeric string containing the order number of the audio-file on its original recording. This MAY be extended with a "/" character and a numeric string containing the total number of tracks/elements on the original recording. E.g. "4/9". TPOS The 'Part of a set' frame is a numeric string that describes which part of a set the audio came from. This frame is used if the source described in the "TALB" frame is divided into several mediums, e.g. a double CD. The value MAY be extended with a "/" character and a numeric string containing the total number of parts in the set. E.g. "1/2". TSST The 'Set subtitle' frame is intended for the subtitle of the part of a set this track belongs to. TSRC The 'ISRC' frame should contain the International Standard Recording Code [ISRC] (12 characters). TPE1 The 'Lead artist/Lead performer/Soloist/Performing group' is used for the main artist. TPE2 The 'Band/Orchestra/Accompaniment' frame is used for additional information about the performers in the recording. TPE3 The 'Conductor' frame is used for the name of the conductor. TPE4 The 'Interpreted, remixed, or otherwise modified by' frame contains more information about the people behind a remix and similar interpretations of another existing piece. TOPE The 'Original artist/performer' frame is intended for the performer of the original recording, if for example the music in the file should be a cover of a previously released song. TEXT The 'Lyricist/Text writer' frame is intended for the writer of the text or lyrics in the recording. TOLY The 'Original lyricist/text writer' frame is intended for the text writer of the original recording, if for example the music in the file should be a cover of a previously released song. TCOM The 'Composer' frame is intended for the name of the composer. TMCL The 'Musician credits list' is intended as a mapping between instruments and the musician that played it. Every odd field is an instrument and every even is an artist or a comma delimited list of artists. TIPL The 'Involved people list' is very similar to the musician credits list, but maps between functions, like producer, and names. TENC The 'Encoded by' frame contains the name of the person or organisation that encoded the audio file. This field may contain a copyright message, if the audio file also is copyrighted by the encoder. TBPM The 'BPM' frame contains the number of beats per minute in the main part of the audio. The BPM is an integer and represented as a numerical string. TLEN The 'Length' frame contains the length of the audio file in milliseconds, represented as a numeric string. TKEY The 'Initial key' frame contains the musical key in which the sound starts. It is represented as a string with a maximum length of three characters. The ground keys are represented with "A","B","C","D","E", "F" and "G" and halfkeys represented with "b" and "#". Minor is represented as "m", e.g. "Dbm". Off key is represented with an "o" only. TLAN The 'Language' frame should contain the languages of the text or lyrics spoken or sung in the audio. The language is represented with three characters according to ISO-639-2. If more than one language is used in the text their language codes should follow according to the amount of their usage. TCON The 'Content type', which ID3v1 was stored as a one byte numeric value only, is now a string. You may use one or several of the ID3v1 types as numerical strings, or, since the category list would be impossible to maintain with accurate and up to date categories, define your own. TFLT The 'File type' frame indicates which type of audio this tag defines. (See the specification for more details.) TMED The 'Media type' frame describes from which media the sound originated. (See the specification for more details.) TMOO The 'Mood' frame is intended to reflect the mood of the audio with a few keywords, e.g. "Romantic" or "Sad". TCOP The 'Copyright message' frame, in which the string must begin with a year and a space character (making five characters), is intended for the copyright holder of the original sound, not the audio file itself. The absence of this frame means only that the copyright information is unavailable or has been removed, and must not be interpreted to mean that the audio is public domain. Every time this field is displayed the field must be preceded with "Copyright " (C) " ", where (C) is one character showing a C in a circle. TPRO The 'Produced notice' frame, in which the string must begin with a year and a space character (making five characters), is intended for the production copyright holder of the original sound, not the audio file itself. The absence of this frame means only that the production copyright information is unavailable or has been removed, and must not be interpreted to mean that the audio is public domain. Every time this field is displayed the field must be preceded with "Produced " (P) " ", where (P) is one character showing a P in a circle. TPUB The 'Publisher' frame simply contains the name of the label or publisher. TOWN The 'File owner/licensee' frame contains the name of the owner or licensee of the file and it's contents. TRSN The 'Internet radio station name' frame contains the name of the internet radio station from which the audio is streamed. TRSO The 'Internet radio station owner' frame contains the name of the owner of the internet radio station from which the audio is streamed. TOFN The 'Original filename' frame contains the preferred filename for the file, since some media doesn't allow the desired length of the filename. The filename is case sensitive and includes its suffix. TDLY The 'Playlist delay' defines the numbers of milliseconds of silence that should be inserted before this audio. The value zero indicates that this is a part of a multifile audio track that should be played continuously. TDEN The 'Encoding time' frame contains a timestamp describing when the audio was encoded. Timestamp format is described in the ID3v2 structure document. TDOR The 'Original release time' frame contains a timestamp describing when the original recording of the audio was released. Timestamp format is described in the ID3v2 structure document. TDRC The 'Recording time' frame contains a timestamp describing when the audio was recorded. Timestamp format is described in the ID3v2 structure document. TDRL The 'Release time' frame contains a timestamp describing when the audio was first released. Timestamp format is described in the ID3v2 structure document. TDTG The 'Tagging time' frame contains a timestamp describing then the audio was tagged. Timestamp format is described in the ID3v2 structure document. TSSE The 'Software/Hardware and settings used for encoding' frame includes the used audio encoder and its settings when the file was encoded. Hardware refers to hardware encoders, not the computer on which a program was run. TSOA The 'Album sort order' frame defines a string which should be used instead of the album name (TALB) for sorting purposes. E.g. an album named "A Soundtrack" might preferably be sorted as "Soundtrack". TSOP The 'Performer sort order' frame defines a string which should be used instead of the performer (TPE2) for sorting purposes. TSOT The 'Title sort order' frame defines a string which should be used instead of the title (TIT2) for sorting purposes.
Inheritance: TagLib.Id3v2.Frame
Mostra file Open project: mono/taglib-sharp Class Usage Examples

Private Properties

Property Type Description
Get TextInformationFrame
SetText void
SetText void

Public Methods

Method Description
Clone ( ) : TagLib.Id3v2.Frame

Creates a deep copy of the current instance.

Get ( Tag tag, ByteVector ident, StringType encoding, bool create ) : TextInformationFrame

Gets a TextInformationFrame object of a specified type from a specified tag, optionally creating and adding one with a specified encoding if none is found.

To create a frame without having to specify the encoding, use Get(Tag,ByteVector,bool).

Get ( Tag tag, ByteVector ident, bool create ) : TextInformationFrame

Gets a TextInformationFrame object of a specified type from a specified tag, optionally creating and adding one if none is found.

Render ( byte version ) : ByteVector

Renders the current instance, encoded in a specified ID3v2 version.

TextInformationFrame ( ByteVector ident ) : System

Constructs and initializes a new instance of with a specified identifer.

TextInformationFrame ( ByteVector ident, StringType encoding ) : System

Constructs and initializes a new instance of with a specified identifier and text encoding.

TextInformationFrame ( ByteVector data, byte version ) : System

Constructs and initializes a new instance of by reading its raw contents in a specified ID3v2 version.

ToString ( ) : string

Gets a string representation of the current instance.

Protected Methods

Method Description
ParseFields ( ByteVector data, byte version ) : void

Populates the values in the current instance by parsing its field data in a specified version.

ParseRawData ( ) : void

Performs the actual parsing of the raw data.

Because of the high parsing cost and relatively low usage of the class, ParseFields only stores the field data so it can be parsed on demand. Whenever a property or method is called which requires the data, this method is called, and only on the first call does it actually parse the data.

RenderFields ( byte version ) : ByteVector

Renders the values in the current instance into field data for a specified version.

TextInformationFrame ( ByteVector data, int offset, TagLib.Id3v2.FrameHeader header, byte version ) : System

Constructs and initializes a new instance of by reading its raw contents from a specifed position in a object in a specified ID3v2 version.

Private Methods

Method Description
Get ( Tag tag, ByteVector ident ) : TextInformationFrame
SetText ( ) : void
SetText ( StringCollection fields ) : void

Method Details

Clone() public method

Creates a deep copy of the current instance.
public Clone ( ) : TagLib.Id3v2.Frame
return TagLib.Id3v2.Frame

Get() public static method

Gets a TextInformationFrame object of a specified type from a specified tag, optionally creating and adding one with a specified encoding if none is found.
To create a frame without having to specify the encoding, use Get(Tag,ByteVector,bool).
/// or is /// . /// /// is not exactly four bytes long. ///
public static Get ( Tag tag, ByteVector ident, StringType encoding, bool create ) : TextInformationFrame
tag Tag /// A object to search for the specified /// tag in. ///
ident ByteVector /// A object containing the frame /// identifer to search for. ///
encoding StringType /// A value specifying the encoding /// to use if a new frame is created. ///
create bool /// A value specifying whether or not to /// create a new frame if an existing frame was not found. ///
return TextInformationFrame

Get() public static method

Gets a TextInformationFrame object of a specified type from a specified tag, optionally creating and adding one if none is found.
/// or is /// . /// /// is not exactly four bytes long. ///
public static Get ( Tag tag, ByteVector ident, bool create ) : TextInformationFrame
tag Tag /// A object to search for the specified /// tag in. ///
ident ByteVector /// A object containing the frame /// identifer to search for. ///
create bool /// A value specifying whether or not to /// create a new frame if an existing frame was not found. ///
return TextInformationFrame

ParseFields() protected method

Populates the values in the current instance by parsing its field data in a specified version.
protected ParseFields ( ByteVector data, byte version ) : void
data ByteVector /// A object containing the /// extracted field data. ///
version byte /// A indicating the ID3v2 version the /// field data is encoded in. ///
return void

ParseRawData() protected method

Performs the actual parsing of the raw data.
Because of the high parsing cost and relatively low usage of the class, ParseFields only stores the field data so it can be parsed on demand. Whenever a property or method is called which requires the data, this method is called, and only on the first call does it actually parse the data.
protected ParseRawData ( ) : void
return void

Render() public method

Renders the current instance, encoded in a specified ID3v2 version.
public Render ( byte version ) : ByteVector
version byte /// A value specifying the version of /// ID3v2 to use when encoding the current instance. ///
return ByteVector

RenderFields() protected method

Renders the values in the current instance into field data for a specified version.
protected RenderFields ( byte version ) : ByteVector
version byte /// A indicating the ID3v2 version the /// field data is to be encoded in. ///
return ByteVector

TextInformationFrame() public method

Constructs and initializes a new instance of with a specified identifer.
public TextInformationFrame ( ByteVector ident ) : System
ident ByteVector /// A object containing an ID3v2.4 /// frame identifier. ///
return System

TextInformationFrame() public method

Constructs and initializes a new instance of with a specified identifier and text encoding.
public TextInformationFrame ( ByteVector ident, StringType encoding ) : System
ident ByteVector /// A object containing an ID3v2.4 /// frame identifier. ///
encoding StringType /// A value specifying the encoding /// to use for the new instance. ///
return System

TextInformationFrame() public method

Constructs and initializes a new instance of by reading its raw contents in a specified ID3v2 version.
public TextInformationFrame ( ByteVector data, byte version ) : System
data ByteVector /// A object starting with the /// frame to read. ///
version byte /// A value containing the ID3v2 version /// in which is encoded. ///
return System

TextInformationFrame() protected method

Constructs and initializes a new instance of by reading its raw contents from a specifed position in a object in a specified ID3v2 version.
protected TextInformationFrame ( ByteVector data, int offset, TagLib.Id3v2.FrameHeader header, byte version ) : System
data ByteVector /// A object containing the frame /// to read. ///
offset int /// A value specifying the offset in /// at which the frame begins. ///
header TagLib.Id3v2.FrameHeader /// A value containing the header /// that would be read in the frame. ///
version byte /// A value containing the ID3v2 version /// in which is encoded. ///
return System

ToString() public method

Gets a string representation of the current instance.
public ToString ( ) : string
return string