608 #if defined _UNDEFINED_
752 {
ID3FID_AUDIOCRYPTO,
"CRA",
"AENC",
false,
false, ID3FD_Unimplemented,
"Audio encryption"},
753 {
ID3FID_PICTURE,
"PIC",
"APIC",
false,
false, ID3FD_Picture,
"Attached picture"},
754 {
ID3FID_COMMENT,
"COM",
"COMM",
false,
false, ID3FD_GeneralText,
"Comments"},
755 {
ID3FID_COMMERCIAL,
"" ,
"COMR",
false,
false, ID3FD_Unimplemented,
"Commercial"},
756 {
ID3FID_CRYPTOREG,
"" ,
"ENCR",
false,
false, ID3FD_Registration,
"Encryption method registration"},
758 {
ID3FID_EVENTTIMING,
"ETC",
"ETCO",
false,
true, ID3FD_Unimplemented,
"Event timing codes"},
760 {
ID3FID_GROUPINGREG,
"" ,
"GRID",
false,
false, ID3FD_Registration,
"Group identification registration"},
762 {
ID3FID_LINKEDINFO,
"LNK",
"LINK",
false,
false, ID3FD_LinkedInfo,
"Linked information"},
763 {
ID3FID_CDID,
"MCI",
"MCDI",
false,
false, ID3FD_Unimplemented,
"Music CD identifier"},
764 {
ID3FID_MPEGLOOKUP,
"MLL",
"MLLT",
false,
true, ID3FD_Unimplemented,
"MPEG location lookup table"},
765 {
ID3FID_OWNERSHIP,
"" ,
"OWNE",
false,
false, ID3FD_Unimplemented,
"Ownership frame"},
766 {
ID3FID_PRIVATE,
"" ,
"PRIV",
false,
false, ID3FD_Private,
"Private frame"},
769 {
ID3FID_POSITIONSYNC,
"" ,
"POSS",
false,
true, ID3FD_Unimplemented,
"Position synchronisation frame"},
770 {
ID3FID_BUFFERSIZE,
"BUF",
"RBUF",
false,
false, ID3FD_Unimplemented,
"Recommended buffer size"},
771 {
ID3FID_VOLUMEADJ,
"RVA",
"RVAD",
false,
true, ID3FD_Unimplemented,
"Relative volume adjustment"},
772 {
ID3FID_REVERB,
"REV",
"RVRB",
false,
false, ID3FD_Unimplemented,
"Reverb"},
773 {
ID3FID_SYNCEDLYRICS,
"SLT",
"SYLT",
false,
false, ID3FD_SyncLyrics,
"Synchronized lyric/text"},
774 {
ID3FID_SYNCEDTEMPO,
"STC",
"SYTC",
false,
true, ID3FD_Unimplemented,
"Synchronized tempo codes"},
775 {
ID3FID_ALBUM,
"TAL",
"TALB",
false,
false, ID3FD_Text,
"Album/Movie/Show title"},
776 {
ID3FID_BPM,
"TBP",
"TBPM",
false,
false, ID3FD_Text,
"BPM (beats per minute)"},
777 {
ID3FID_COMPOSER,
"TCM",
"TCOM",
false,
false, ID3FD_Text,
"Composer"},
779 {
ID3FID_COPYRIGHT,
"TCR",
"TCOP",
false,
false, ID3FD_Text,
"Copyright message"},
780 {
ID3FID_DATE,
"TDA",
"TDAT",
false,
false, ID3FD_Text,
"Date"},
783 {
ID3FID_LYRICIST,
"TXT",
"TEXT",
false,
false, ID3FD_Text,
"Lyricist/Text writer"},
784 {
ID3FID_FILETYPE,
"TFT",
"TFLT",
false,
false, ID3FD_Text,
"File type"},
785 {
ID3FID_TIME,
"TIM",
"TIME",
false,
false, ID3FD_Text,
"Time"},
786 {
ID3FID_CONTENTGROUP,
"TT1",
"TIT1",
false,
false, ID3FD_Text,
"Content group description"},
787 {
ID3FID_TITLE,
"TT2",
"TIT2",
false,
false, ID3FD_Text,
"Title/songname/content description"},
788 {
ID3FID_SUBTITLE,
"TT3",
"TIT3",
false,
false, ID3FD_Text,
"Subtitle/Description refinement"},
790 {
ID3FID_LANGUAGE,
"TLA",
"TLAN",
false,
false, ID3FD_Text,
"Language(s)"},
791 {
ID3FID_SONGLEN,
"TLE",
"TLEN",
false,
true, ID3FD_Text,
"Length"},
793 {
ID3FID_ORIGALBUM,
"TOT",
"TOAL",
false,
false, ID3FD_Text,
"Original album/movie/show title"},
795 {
ID3FID_ORIGLYRICIST,
"TOL",
"TOLY",
false,
false, ID3FD_Text,
"Original lyricist(s)/text writer(s)"},
796 {
ID3FID_ORIGARTIST,
"TOA",
"TOPE",
false,
false, ID3FD_Text,
"Original artist(s)/performer(s)"},
797 {
ID3FID_ORIGYEAR,
"TOR",
"TORY",
false,
false, ID3FD_Text,
"Original release year"},
798 {
ID3FID_FILEOWNER,
"" ,
"TOWN",
false,
false, ID3FD_Text,
"File owner/licensee"},
799 {
ID3FID_LEADARTIST,
"TP1",
"TPE1",
false,
false, ID3FD_Text,
"Lead performer(s)/Soloist(s)"},
800 {
ID3FID_BAND,
"TP2",
"TPE2",
false,
false, ID3FD_Text,
"Band/orchestra/accompaniment"},
801 {
ID3FID_CONDUCTOR,
"TP3",
"TPE3",
false,
false, ID3FD_Text,
"Conductor/performer refinement"},
802 {
ID3FID_MIXARTIST,
"TP4",
"TPE4",
false,
false, ID3FD_Text,
"Interpreted, remixed, or otherwise modified by"},
803 {
ID3FID_PARTINSET,
"TPA",
"TPOS",
false,
false, ID3FD_Text,
"Part of a set"},
805 {
ID3FID_TRACKNUM,
"TRK",
"TRCK",
false,
false, ID3FD_Text,
"Track number/Position in set"},
808 {
ID3FID_NETRADIOOWNER,
"TRO",
"TRSO",
false,
false, ID3FD_Text,
"Internet radio station owner"},
809 {
ID3FID_SIZE,
"TSI",
"TSIZ",
false,
true, ID3FD_Text,
"Size"},
810 {
ID3FID_ISRC,
"TRC",
"TSRC",
false,
false, ID3FD_Text,
"ISRC (international standard recording code)"},
811 {
ID3FID_ENCODERSETTINGS,
"TSS",
"TSSE",
false,
false, ID3FD_Text,
"Software/Hardware and settings used for encoding"},
812 {
ID3FID_USERTEXT,
"TXX",
"TXXX",
false,
false, ID3FD_UserText,
"User defined text information"},
813 {
ID3FID_YEAR,
"TYE",
"TYER",
false,
false, ID3FD_Text,
"Year"},
815 {
ID3FID_TERMSOFUSE,
"" ,
"USER",
false,
false, ID3FD_TermsOfUse,
"Terms of use"},
816 {
ID3FID_UNSYNCEDLYRICS,
"ULT",
"USLT",
false,
false, ID3FD_GeneralText,
"Unsynchronized lyric/text transcription"},
818 {
ID3FID_WWWCOPYRIGHT,
"WCP",
"WCOP",
false,
false, ID3FD_URL,
"Copyright/Legal infromation"},
819 {
ID3FID_WWWAUDIOFILE,
"WAF",
"WOAF",
false,
false, ID3FD_URL,
"Official audio file webpage"},
820 {
ID3FID_WWWARTIST,
"WAR",
"WOAR",
false,
false, ID3FD_URL,
"Official artist/performer webpage"},
822 {
ID3FID_WWWRADIOPAGE,
"WRA",
"WORS",
false,
false, ID3FD_URL,
"Official internet radio station homepage"},
824 {
ID3FID_WWWPUBLISHER,
"WPB",
"WPUB",
false,
false, ID3FD_URL,
"Official publisher webpage"},
825 {
ID3FID_WWWUSER,
"WXX",
"WXXX",
false,
false, ID3FD_UserURL,
"User defined URL link"},
826 {
ID3FID_METACRYPTO,
"CRM",
"" ,
false,
false, ID3FD_Unimplemented,
"Encrypted meta frame"},
888 ID3_FieldImpl::ID3_FieldImpl()
905 _spec_begin(def._spec_begin),
906 _spec_end(def._spec_end),
909 _fixed_size(def._fixed_size),
939 _binary.assign(_fixed_size,
'\0');
950 _text.assign(_fixed_size * 2,
'\0');
954 _text.assign(_fixed_size,
'\0');
1000 size_t size = this->
Size();
1025 if (_fixed_size > 0)
1031 size =
sizeof(uint32);
1035 size = _text.size();
1039 size = _binary.size();
1047 bool success =
false;
1070 ID3D_WARNING(
"ID3_FieldImpl::Parse(): unknown field type" );
1083 if (ID3_FrameDefs[cur].eID ==
id)
1085 info = &ID3_FrameDefs[cur];
1097 const int slen = strlen(
id);
1101 if (((strcmp(ID3_FrameDefs[cur].sShortTextID,
id) == 0) &&
1103 ((strcmp(ID3_FrameDefs[cur].sLongTextID,
id) == 0) &&
1106 fid = ID3_FrameDefs[cur].
eID;
1138 ID3D_WARNING (
"ID3D_FieldImpl::Render(): unknown field type" );
1183 _text =
convert(_text, _enc, enc);