30#if defined HAVE_CONFIG_H
86 size_t numRemoved = 0;
89 while ((frame = tag.
Find(
id)) !=
NULL)
144 size_t numRemoved = 0;
147 while ((frame = hasArtist(tag)) !=
NULL)
243String id3::v2::getV1Comment(
const ID3_TagImpl& tag)
252String id3::v2::getComment(
const ID3_TagImpl& tag, String desc)
261 ID3D_NOTICE(
"id3::v2::setComment: trying to find frame with description = " << desc );
276 ID3D_NOTICE(
"id3::v2::setComment: found frame with description = " << desc );
284 ID3D_NOTICE(
"id3::v2::setComment: creating new comment frame" );
290 ID3D_WARNING(
"id3::v2::setComment: ack! no frame" );
309size_t id3::v2::removeComments(
ID3_TagImpl& tag, String desc)
311 size_t numRemoved = 0;
352 String sTrack = getTrack(tag);
353 return ::atoi(sTrack.c_str());
359 String track = toString((
size_t)trk);
363 track += toString((
size_t)ttl);
390 String sGenre = getGenre(tag);
391 size_t ulGenre = 0xFF;
392 size_t size = sGenre.size();
397 if (i < size && size && sGenre[i] ==
'(')
400 while (i < size && isdigit(sGenre[i]))
404 if (i < size && sGenre[i] ==
')')
407 ulGenre = min(0xFF, atoi(&sGenre[1]));
417 sGenre += toString(genre) +
")";
527BString id3::v2::getSyncLyrics(
const ID3_TagImpl& tag, String lang, String desc)
537 return BString(
reinterpret_cast<const BString::value_type *
>(fld->
GetRawBinary()), fld->
Size());
The representative class of an ID3v2 field.
virtual void Set(uint32)=0
virtual size_t Size() const =0
Returns the size of a field.
virtual ID3_TextEnc GetEncoding() const =0
virtual size_t GetNumTextItems() const =0
virtual bool SetEncoding(ID3_TextEnc enc)=0
virtual const char * GetRawText() const =0
virtual const uchar * GetRawBinary() const =0
virtual const char * GetRawTextItem(size_t) const =0
The representative class of an id3v2 frame.
ID3_FrameID GetID() const
Returns the type of frame that the object represents.
ID3_Field * GetField(ID3_FieldID name) const
ID3_Frame * Find(ID3_FrameID id) const
Frames::iterator iterator
ID3_Frame * RemoveFrame(const ID3_Frame *)
bool AttachFrame(ID3_Frame *)
ID3_FieldID
Enumeration of the different types of fields in a frame.
@ ID3FN_DESCRIPTION
Description field.
@ ID3FN_TIMESTAMPFORMAT
SYLT Timestamp Format.
@ ID3FN_LANGUAGE
Language field.
@ ID3FN_CONTENTTYPE
SYLT content type.
ID3_TextEnc
Enumeration of the types of text encodings: ascii or unicode.
#define STR_V1_COMMENT_DESC
String used for the description field of a comment tag converted from an id3v1 tag to an id3v2 tag.
ID3_FrameID
Enumeration of the different types of frames recognized by id3lib.
@ ID3FID_LEADARTIST
Lead performer(s)/Soloist(s)
@ ID3FID_CONTENTTYPE
Content type.
@ ID3FID_COMPOSER
Composer.
@ ID3FID_LYRICIST
Lyricist/Text writer.
@ ID3FID_BAND
Band/orchestra/accompaniment.
@ ID3FID_ALBUM
Album/Movie/Show title.
@ ID3FID_COMMENT
Comments.
@ ID3FID_CONDUCTOR
Conductor/performer refinement.
@ ID3FID_TRACKNUM
Track number/Position in set.
@ ID3FID_UNSYNCEDLYRICS
Unsynchronized lyric/text transcription.
@ ID3FID_TITLE
Title/songname/content description.
@ ID3FID_SYNCEDLYRICS
Synchronized lyric/text.