NAME
TagLib::ID3v2::TextIdentificationFrame - An ID3v2 text identification frame implementation
SYNOPSIS
use TagLib::ID3v2::TextIdentificationFrame;
my $i = TagLib::ID3v2::TextIdentificationFrame->new(
new(TagLib::ByteVector->new("TALB"), "UTF8");
$i->setText(TagLib::String->new("blah blah"));
print $i->toString()->toCString(), "\n"; # got "blah blah"
DESCRIPTION
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:
TALB Album/Movie/Show title
TBPM BPM (beats per minute)
TCOM Composer
TCON Content type
TCOP Copyright message
TDEN Encoding time
TDLY Playlist delay
TDOR Original release time
TDRC Recording time
TDRL Release time
TDTG Tagging time
TENC Encoded by
TEXT Lyricist/Text writer
TFLT File type
TIPL Involved people list
TIT1 Content group description
TIT2 Title/songname/content description
TIT3 Subtitle/Description refinement
TKEY Initial key
TLAN Language(s)
TLEN Length
TMCL Musician credits list
TMED Media type
TMOO Mood
TOAL Original album/movie/show title
TOFN Original filename
TOLY Original lyricist(s)/text writer(s)
TOPE Original artist(s)/performer(s)
TOWN File owner/licensee
TPE1 Lead performer(s)/Soloist(s)
TPE2 Band/orchestra/accompaniment
TPE3 Conductor/performer refinement
TPE4 Interpreted, remixed, or otherwise modified by
TPOS Part of a set
TPRO Produced notice
TPUB Publisher
TRCK Track number/Position in set
TRSN Internet radio station name
TRSO Internet radio station owner
TSOA Album sort order
TSOP Performer sort order
TSOT Title sort order
TSRC ISRC (international standard recording code)
TSSE Software/Hardware and settings used for encoding
TSST Set subtitle
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.
- new(ByteVector $type, PV $encoding)
-
Construct an empty frame of type $type. Uses $encoding as the default text encoding.
NOTE In this case you must specify the text encoding as it resolves the ambiguity between constructors.
- new(ByteVector $data)
-
This is a dual purpose constructor. $data can either be binary data that should be parsed or (at a minimum) the frame ID.
- DESTROY()
-
Destroys this TextIdentificationFrame instance.
- void setText(StringList $l)
-
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(String $s)
- String toString()
- PV textEncoding()
-
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.
see setTextEncoding()
see render()
- void setTextEncoding(PV $encoding)
-
Sets the text encoding to be used when rendering this frame to $encoding.
see textEncoding()
see render()
- StringList fieldList()
-
Returns a list of the strings in this frame.
EXPORT
None by default.
SEE ALSO
AUTHOR
Dongxu Ma, <dongxu.ma@gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2005 by Dongxu Ma
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.