oracular (3) MP3::Tag::ID3v2_Data.3pm.gz

Provided by: libmp3-tag-perl_1.16-1_all bug

NAME

       MP3::Tag::ID3v2_Data - get_frame() data format and supported frames

SYNOPSIS

         $mp3 = MP3::Tag->new($filename);
         $mp3->get_tags();
         $id3v2 = $mp3->{ID3v2} if exists $mp3->{id3v2};

         ($info, $long) = $id3v2->get_frame($id);    # or

         ($info, $long) = $id3v2->get_frame($id, 'raw');

DESCRIPTION

       This document describes how to use the results of the get_frame function of MP3::Tag::ID3v2, thus the
       data format of frames retrieved with MP3::Tag::ID3v2::get_frame().

       It contains also a list of all supported ID3v2-Frames.

   get_frame()
        ($info, $long) = $id3v2->get_frame($id);    # or

        ($info, $long) = $id3v2->get_frame($id, 'raw');

       $id has to be a name of a frame like "APIC".  For more variants of calling see get_frame().

       The names of all frames found in a tag can be retrieved with the get_frame_ids() function.

   Using the returned data
       In the ID3v2.3 specifications 73 frames are defined, which can contain very different information. That
       means that get_frame returns the information of different frames also in different ways.

       Simple Frames
           A lot of the tags contain only a text string and encoding information. If you call ($info, $long) =
           $id3v2->get_frame($id) for such a frame, $info will contain the text string and $long will contain
           the english name of the frame.

           Example:
             get_frame("TIT2");     # returns

             ("Birdhouse In Your Soul", "Title/songname/content description")

       Complex Frames
           For more complex frames the returned $info is a reference to a hash, where each entry of the hash
           decribes a part of the information found in the frame. The key of a hash entry contains the name of
           this part, the according value contains the information itself.

           Example:
             get_frame("APIC");     # returns

             ( { "Description" => "Flood",
                 "MIME Type" => "/image/jpeg",
                 "Picture Type" => "Cover (front)",
                 "_Data" => "..data of jpeg picture (binary).."
                },
              "Attached Picture");

       Other Frames
           Some frames are not supported at the moment, ie the data found in the frame is not returned in a
           descriptive way. But you can read the data of this frames (and also of all other frames too) in raw
           mode. Then the complete data field of the frame is returned, without any modifications. This means
           that the returned data will be almost binary data.

           Example:
             get_frame("TIT2", 'raw');    # returns

             ("\x00Birdhouse In Your Soul", "Title/songname/content description")

       The frames which (in addition to "Text"/"URL") contain only "Description" and "Language" fields are in
       some intermediate position between "simple" and "complex" frames.  They can be handled very similarly to
       "simple" frames by using "long names", such as "COMM[description]" or "COMM(LANG)[description]", and the
       corresponding "quick" API such as frame_select().

   List of Simple Frames
       Following Frames are supported and return a single string (text). In the List you can find the frame IDs
       and the long names of the frames as returned by $id3v2->get_frame():

       IPLS : Involved people list
       MCDI : Music CD identifier
       PCNT : Play counter
       TALB : Album/Movie/Show title
       TBPM : BPM (beats per minute)
       TCOM : Composer
       TCON : Content type
       TCOP : Copyright message
       TDAT : Date
       TDLY : Playlist delay
       TDRC : Recording time
       TENC : Encoded by
       TEXT : Lyricist/Text writer
       TFLT : File type
       TIME : Time
       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
       TOAL : Original album/movie/show title
       TOFN : Original filename
       TOLY : Original lyricist(s)/text writer(s)
       TOPE : Original artist(s)/performer(s)
       TORY : Original release year
       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
       TPUB : Publisher
       TRCK : Track number/Position in set
       TRDA : Recording dates
       TRSN : Internet radio station name
       TRSO : Internet radio station owner
       TSIZ : Size
       TSRC : ISRC (international standard recording code)
       TSSE : Software/Hardware and settings used for encoding
       TYER : Year
       WCOM : Commercial information
       WCOP : Copyright/Legal information
       WOAF : Official audio file webpage
       WOAR : Official artist/performer webpage
       WOAS : Official audio source webpage
       WORS : Official internet radio station homepage
       WPAY : Payment
       WPUB : Publishers official webpage

   List of Complex Frames
       Following frames are supported and return a reference to a hash. The list shows which keys can be found
       in the returned hash:

       AENC : Audio encryption
             Keys: URL, Preview start, Preview length, _Data

       APIC : Attached picture
             Keys: MIME type, Picture Type, Description, _Data

       COMM : Comments
             Keys: Language, Description, Text

       COMR : Commercial frame
             Keys: Price, Valid until, URL, Received as, Name of Seller, Description, MIME type, _Logo

       ENCR : Encryption method registration
             Keys: Owner ID, Method symbol, _Data

       GEOB : General encapsulated object
             Keys: MIME type, Filename, Description, _Data

       GRID : Group identification registration
             Keys: Owner, Symbol, _Data

       LINK : Linked information
             Keys: ID, URL, Text

       OWNE : Ownership frame
             Keys: Price payed, Date of purchase, Text

       POPM : Popularimeter
             Keys: URL, Rating, Counter

       PRIV : Private frame
             Keys: Text, _Data

       RBUF : Recommended buffer size
             Keys: Buffer size, Embedded info flag, Offset to next tag

       RVRB : Reverb
             Keys: Reverb left (ms), Reverb right (ms), Reverb bounces (left), Reverb bounces (right), Reverb feedback (left to left), Reverb feedback (left to right), Reverb feedback (right to right), Reverb feedback (right to left), Premix left to right, Premix right to left

       SYTC : Synchronized tempo codes
             Keys: Time Stamp Format, _Data

       TXXX : User defined text information frame
             Keys: Description, Text

       UFID : Unique file identifier
             Keys: Text, _Data

       USER : Terms of use
             Keys: Language, Text

       USLT : Unsychronized lyric/text transcription
             Keys: Language, Description, Text

       WXXX : User defined URL link frame
             Keys: Description, URL

   List of Other Frames
       Following frames are only supported in raw mode:

       CRM : Encrypted meta frame
       EQUA : Equalization
       ETCO : Event timing codes
       LNK : Linked information
       MLLT : MPEG location lookup table
       PIC : Attached picture
       POSS : Position synchronisation frame
       RVAD : Relative volume adjustment
       SYLT : Synchronized lyric/text

SEE ALSO

       MP3::Tag, MP3::Tag::ID3v2