TagLib 1.6.1 (TagLib: TagLib::ID3v1::Tag Class Reference)

TagLib::ID3v1::Tag Class Reference

The main class in the ID3v1 implementation. More...

#include <id3v1tag.h>

Inheritance diagram for TagLib::ID3v1::Tag:
Collaboration diagram for TagLib::ID3v1::Tag:

List of all members.

Public Member Functions

 Tag ()
 Tag (File *file, long tagOffset)
virtual ~Tag ()
ByteVector render () const
virtual String title () const
virtual String artist () const
virtual String album () const
virtual String comment () const
virtual String genre () const
virtual uint year () const
virtual uint track () const
virtual void setTitle (const String &s)
virtual void setArtist (const String &s)
virtual void setAlbum (const String &s)
virtual void setComment (const String &s)
virtual void setGenre (const String &s)
virtual void setYear (uint i)
virtual void setTrack (uint i)

Static Public Member Functions

static ByteVector fileIdentifier ()
static void setStringHandler (const StringHandler *handler)

Protected Member Functions

void read ()
void parse (const ByteVector &data)


Detailed Description

The main class in the ID3v1 implementation.

This is an implementation of the ID3v1 format. ID3v1 is both the simplist and most common of tag formats but is rather limited. Because of its pervasiveness and the way that applications have been written around the fields that it provides, the generic TagLib::Tag API is a mirror of what is provided by ID3v1.

ID3v1 tags should generally only contain Latin1 information. However because many applications do not follow this rule there is now support for overriding the ID3v1 string handling using the ID3v1::StringHandler class. Please see the documentation for that class for more information.

See also:
StringHandler
Note:
Most fields are truncated to a maximum of 28-30 bytes. The truncation happens automatically when the tag is rendered.

Constructor & Destructor Documentation

TagLib::ID3v1::Tag::Tag (  ) 

Create an ID3v1 tag with default values.

Reimplemented from TagLib::Tag.

TagLib::ID3v1::Tag::Tag ( File file,
long  tagOffset 
)

Create an ID3v1 tag and parse the data in file starting at tagOffset.

virtual TagLib::ID3v1::Tag::~Tag (  )  [virtual]

Destroys this Tag instance.

Reimplemented from TagLib::Tag.


Member Function Documentation

virtual String TagLib::ID3v1::Tag::album (  )  const [virtual]

Returns the album name; if no album name is present in the tag String::null will be returned.

Implements TagLib::Tag.

virtual String TagLib::ID3v1::Tag::artist (  )  const [virtual]

Returns the artist name; if no artist name is present in the tag String::null will be returned.

Implements TagLib::Tag.

virtual String TagLib::ID3v1::Tag::comment (  )  const [virtual]

Returns the track comment; if no comment is present in the tag String::null will be returned.

Implements TagLib::Tag.

static ByteVector TagLib::ID3v1::Tag::fileIdentifier (  )  [static]

Returns the string "TAG" suitable for usage in locating the tag in a file.

virtual String TagLib::ID3v1::Tag::genre (  )  const [virtual]

Returns the genre name; if no genre is present in the tag String::null will be returned.

Implements TagLib::Tag.

void TagLib::ID3v1::Tag::parse ( const ByteVector data  )  [protected]

Pareses the body of the tag in data.

void TagLib::ID3v1::Tag::read (  )  [protected]

Reads from the file specified in the constructor.

ByteVector TagLib::ID3v1::Tag::render (  )  const

Renders the in memory values to a ByteVector suitable for writing to the file.

virtual void TagLib::ID3v1::Tag::setAlbum ( const String s  )  [virtual]

Sets the album to s. If s is String::null then this value will be cleared.

Implements TagLib::Tag.

virtual void TagLib::ID3v1::Tag::setArtist ( const String s  )  [virtual]

Sets the artist to s. If s is String::null then this value will be cleared.

Implements TagLib::Tag.

virtual void TagLib::ID3v1::Tag::setComment ( const String s  )  [virtual]

Sets the comment to s. If s is String::null then this value will be cleared.

Implements TagLib::Tag.

virtual void TagLib::ID3v1::Tag::setGenre ( const String s  )  [virtual]

Sets the genre to s. If s is String::null then this value will be cleared. For tag formats that use a fixed set of genres, the appropriate value will be selected based on a string comparison. A list of available genres for those formats should be available in that type's implementation.

Implements TagLib::Tag.

static void TagLib::ID3v1::Tag::setStringHandler ( const StringHandler handler  )  [static]

Sets the string handler that decides how the ID3v1 data will be converted to and from binary data.

See also:
StringHandler

virtual void TagLib::ID3v1::Tag::setTitle ( const String s  )  [virtual]

Sets the title to s. If s is String::null then this value will be cleared.

Implements TagLib::Tag.

virtual void TagLib::ID3v1::Tag::setTrack ( uint  i  )  [virtual]

Sets the track to i. If s is 0 then this value will be cleared.

Implements TagLib::Tag.

virtual void TagLib::ID3v1::Tag::setYear ( uint  i  )  [virtual]

Sets the year to i. If s is 0 then this value will be cleared.

Implements TagLib::Tag.

virtual String TagLib::ID3v1::Tag::title (  )  const [virtual]

Returns the track name; if no track name is present in the tag String::null will be returned.

Implements TagLib::Tag.

virtual uint TagLib::ID3v1::Tag::track (  )  const [virtual]

Returns the track number; if there is no track number set, this will return 0.

Implements TagLib::Tag.

virtual uint TagLib::ID3v1::Tag::year (  )  const [virtual]

Returns the year; if there is no year set, this will return 0.

Implements TagLib::Tag.


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