An ID3v2 attached picture frame implementation. More...

#include <attachedpictureframe.h>

Inheritance diagram for TagLib::ID3v2::AttachedPictureFrame:
Collaboration diagram for TagLib::ID3v2::AttachedPictureFrame:

Public Types

enum  Type {
  Other = 0x00, FileIcon = 0x01, OtherFileIcon = 0x02, FrontCover = 0x03,
  BackCover = 0x04, LeafletPage = 0x05, Media = 0x06, LeadArtist = 0x07,
  Artist = 0x08, Conductor = 0x09, Band = 0x0A, Composer = 0x0B,
  Lyricist = 0x0C, RecordingLocation = 0x0D, DuringRecording = 0x0E, DuringPerformance = 0x0F,
  MovieScreenCapture = 0x10, ColouredFish = 0x11, Illustration = 0x12, BandLogo = 0x13,
  PublisherLogo = 0x14
}

Public Member Functions

 AttachedPictureFrame ()
 AttachedPictureFrame (const ByteVector &data)
virtual ~AttachedPictureFrame ()
virtual String toString () const
String::Type textEncoding () const
void setTextEncoding (String::Type t)
String mimeType () const
void setMimeType (const String &m)
Type type () const
void setType (Type t)
String description () const
void setDescription (const String &desc)
ByteVector picture () const
void setPicture (const ByteVector &p)
- Public Member Functions inherited from TagLib::ID3v2::Frame
virtual ~Frame ()
ByteVector frameID () const
uint size () const
void setData (const ByteVector &data)
virtual void setText (const String &text)
ByteVector render () const
 Header (const ByteVector &data, bool synchSafeInts)
 Header (const ByteVector &data, uint version=4)
virtual ~Header ()
void setData (const ByteVector &data, bool synchSafeInts)
void setData (const ByteVector &data, uint version=4)
ByteVector frameID () const
void setFrameID (const ByteVector &id)
uint frameSize () const
void setFrameSize (uint size)
uint version () const
void setVersion (uint version)
bool tagAlterPreservation () const
void setTagAlterPreservation (bool discard)
bool fileAlterPreservation () const
bool readOnly () const
bool groupingIdentity () const
bool compression () const
bool encryption () const
bool unsynchronisation () const
bool dataLengthIndicator () const
ByteVector render () const
bool frameAlterPreservation () const

Protected Member Functions

virtual void parseFields (const ByteVector &data)
virtual ByteVector renderFields () const
- Protected Member Functions inherited from TagLib::ID3v2::Frame
 Frame (const ByteVector &data)
 Frame (Header *h)
Headerheader () const
void setHeader (Header *h, bool deleteCurrent=true)
void parse (const ByteVector &data)
ByteVector fieldData (const ByteVector &frameData) const
String readStringField (const ByteVector &data, String::Type encoding, int *positon=0)
String::Type checkTextEncoding (const StringList &fields, String::Type encoding) const
PropertyMap asProperties () const

Protected Attributes

AttachedPictureFramePrivate * d

Friends

class FrameFactory

Additional Inherited Members

- Static Public Member Functions inherited from TagLib::ID3v2::Frame
static FramecreateTextualFrame (const String &key, const StringList &values)
static uint headerSize ()
static uint headerSize (uint version)
static ByteVector textDelimiter (String::Type t)
static uint size ()
static uint size (uint version)
- Static Public Attributes inherited from TagLib::ID3v2::Frame
static const String instrumentPrefix
static const String commentPrefix
static const String lyricsPrefix
static const String urlPrefix
- Static Protected Member Functions inherited from TagLib::ID3v2::Frame
static String::Type checkEncoding (const StringList &fields, String::Type encoding)
static String::Type checkEncoding (const StringList &fields, String::Type encoding, uint version)
static ByteVector keyToFrameID (const String &)
static String frameIDToKey (const ByteVector &)
static String keyToTXXX (const String &)
static String txxxToKey (const String &)
static void splitProperties (const PropertyMap &original, PropertyMap &singleFrameProperties, PropertyMap &tiplProperties, PropertyMap &tmclProperties)

Detailed Description

An ID3v2 attached picture frame implementation.

This is an implementation of ID3v2 attached pictures. Pictures may be included in tags, one per APIC frame (but there may be multiple APIC frames in a single tag). These pictures are usually in either JPEG or PNG format.

Member Enumeration Documentation

This describes the function or content of the picture.

Enumerator:
Other 

A type not enumerated below.

FileIcon 

32x32 PNG image that should be used as the file icon

OtherFileIcon 

File icon of a different size or format.

FrontCover 

Front cover image of the album.

BackCover 

Back cover image of the album.

LeafletPage 

Inside leaflet page of the album.

Media 

Image from the album itself.

LeadArtist 

Picture of the lead artist or soloist.

Artist 

Picture of the artist or performer.

Conductor 

Picture of the conductor.

Band 

Picture of the band or orchestra.

Composer 

Picture of the composer.

Lyricist 

Picture of the lyricist or text writer.

RecordingLocation 

Picture of the recording location or studio.

DuringRecording 

Picture of the artists during recording.

DuringPerformance 

Picture of the artists during performance.

MovieScreenCapture 

Picture from a movie or video related to the track.

ColouredFish 

Picture of a large, coloured fish.

Illustration 

Illustration related to the track.

BandLogo 

Logo of the band or performer.

PublisherLogo 

Logo of the publisher (record company)

Constructor & Destructor Documentation

TagLib::ID3v2::AttachedPictureFrame::AttachedPictureFrame ( )

Constructs an empty picture frame. The description, content and text encoding should be set manually.

TagLib::ID3v2::AttachedPictureFrame::AttachedPictureFrame ( const ByteVector data)
explicit

Constructs an AttachedPicture frame based on data.

virtual TagLib::ID3v2::AttachedPictureFrame::~AttachedPictureFrame ( )
virtual

Destroys the AttahcedPictureFrame instance.

Member Function Documentation

String TagLib::ID3v2::AttachedPictureFrame::description ( ) const

Returns a text description of the image.

See Also
setDescription()
textEncoding()
setTextEncoding()
String TagLib::ID3v2::AttachedPictureFrame::mimeType ( ) const

Returns the mime type of the image. This should in most cases be "image/png" or "image/jpeg".

virtual void TagLib::ID3v2::AttachedPictureFrame::parseFields ( const ByteVector data)
protectedvirtual

Called by parse() to parse the field data. It makes this information available through the public API. This must be overridden by the subclasses.

Implements TagLib::ID3v2::Frame.

Reimplemented in TagLib::ID3v2::AttachedPictureFrameV22.

ByteVector TagLib::ID3v2::AttachedPictureFrame::picture ( ) const

Returns the image data as a ByteVector.

Note
ByteVector has a data() method that returns a const char * which should make it easy to export this data to external programs.
See Also
setPicture()
mimeType()
virtual ByteVector TagLib::ID3v2::AttachedPictureFrame::renderFields ( ) const
protectedvirtual

Render the field data back to a binary format in a ByteVector. This must be overridden by subclasses.

Implements TagLib::ID3v2::Frame.

void TagLib::ID3v2::AttachedPictureFrame::setDescription ( const String desc)

Sets a textual description of the image to desc.

See Also
description()
textEncoding()
setTextEncoding()
void TagLib::ID3v2::AttachedPictureFrame::setMimeType ( const String m)

Sets the mime type of the image. This should in most cases be "image/png" or "image/jpeg".

void TagLib::ID3v2::AttachedPictureFrame::setPicture ( const ByteVector p)

Sets the image data to p. p should be of the type specified in this frame's mime-type specification.

See Also
picture()
mimeType()
setMimeType()
void TagLib::ID3v2::AttachedPictureFrame::setTextEncoding ( String::Type  t)

Set the text encoding used for the description.

See Also
description()
void TagLib::ID3v2::AttachedPictureFrame::setType ( Type  t)

Sets the type for the image.

See Also
Type
type()
String::Type TagLib::ID3v2::AttachedPictureFrame::textEncoding ( ) const

Returns the text encoding used for the description.

See Also
setTextEncoding()
description()
virtual String TagLib::ID3v2::AttachedPictureFrame::toString ( ) const
virtual

Returns a string containing the description and mime-type

Implements TagLib::ID3v2::Frame.

Type TagLib::ID3v2::AttachedPictureFrame::type ( ) const

Returns the type of the image.

See Also
Type
setType()

Friends And Related Function Documentation

friend class FrameFactory
friend

Member Data Documentation

AttachedPictureFramePrivate* TagLib::ID3v2::AttachedPictureFrame::d
protected

The documentation for this class was generated from the following file: