TagLib::RIFF::File Class Reference

An RIFF file class with some useful methods specific to RIFF. More...

#include <rifffile.h>

Inheritance diagram for TagLib::RIFF::File:
Collaboration diagram for TagLib::RIFF::File:

Public Member Functions

virtual ~File ()
 
- Public Member Functions inherited from TagLib::File
FileName name () const
 
virtual Tagtag () const =0
 
PropertyMap properties () const
 
void removeUnsupportedProperties (const StringList &properties)
 
PropertyMap setProperties (const PropertyMap &properties)
 
virtual AudioPropertiesaudioProperties () const =0
 
virtual bool save ()=0
 
ByteVector readBlock (ulong length)
 
void writeBlock (const ByteVector &data)
 
long find (const ByteVector &pattern, long fromOffset=0, const ByteVector &before=ByteVector::null)
 
long rfind (const ByteVector &pattern, long fromOffset=0, const ByteVector &before=ByteVector::null)
 
void insert (const ByteVector &data, ulong start=0, ulong replace=0)
 
void removeBlock (ulong start=0, ulong length=0)
 
bool readOnly () const
 
bool isOpen () const
 
bool isValid () const
 
void seek (long offset, Position p=Beginning)
 
void clear ()
 
long tell () const
 
long length ()
 

Protected Types

enum  Endianness { BigEndian, LittleEndian }
 

Protected Member Functions

 File (FileName file, Endianness endianness)
 
 File (IOStream *stream, Endianness endianness)
 
uint riffSize () const
 
uint chunkCount () const
 
uint chunkOffset (uint i) const
 
uint chunkDataSize (uint i) const
 
uint chunkPadding (uint i) const
 
ByteVector chunkName (uint i) const
 
ByteVector chunkData (uint i)
 
void setChunkData (const ByteVector &name, const ByteVector &data)
 
- Protected Member Functions inherited from TagLib::File
 File (FileName file)
 
 File (IOStream *stream)
 
void setValid (bool valid)
 
void truncate (long length)
 

Additional Inherited Members

- Public Types inherited from TagLib::File
enum  Position { Beginning, Current, End }
 
- Static Public Member Functions inherited from TagLib::File
static bool isReadable (const char *file)
 
static bool isWritable (const char *name)
 
- Static Protected Member Functions inherited from TagLib::File
static uint bufferSize ()
 

Detailed Description

An RIFF file class with some useful methods specific to RIFF.

This implements the generic TagLib::File API and additionally provides access to properties that are distinct to RIFF files, notably access to the different ID3 tags.

Member Enumeration Documentation

Enumerator:
BigEndian 
LittleEndian 

Constructor & Destructor Documentation

virtual TagLib::RIFF::File::~File ( )
virtual

Destroys this instance of the File.

Reimplemented from TagLib::File.

Reimplemented in TagLib::RIFF::AIFF::File, and TagLib::RIFF::WAV::File.

TagLib::RIFF::File::File ( FileName  file,
Endianness  endianness 
)
protected
TagLib::RIFF::File::File ( IOStream stream,
Endianness  endianness 
)
protected

Member Function Documentation

uint TagLib::RIFF::File::chunkCount ( ) const
protected
Returns
The number of chunks in the file.
ByteVector TagLib::RIFF::File::chunkData ( uint  i)
protected

Reads the chunk data from the file and returns it.

Note
This will move the read pointer for the file.
uint TagLib::RIFF::File::chunkDataSize ( uint  i) const
protected
Returns
The size of the chunk data.
ByteVector TagLib::RIFF::File::chunkName ( uint  i) const
protected
Returns
The name of the specified chunk, for instance, "COMM" or "ID3 "
uint TagLib::RIFF::File::chunkOffset ( uint  i) const
protected
Returns
The offset within the file for the selected chunk number.
uint TagLib::RIFF::File::chunkPadding ( uint  i) const
protected
Returns
The size of the padding after the chunk (can be either 0 or 1).
uint TagLib::RIFF::File::riffSize ( ) const
protected
Returns
The size of the main RIFF chunk.
void TagLib::RIFF::File::setChunkData ( const ByteVector name,
const ByteVector data 
)
protected

Sets the data for the chunk name to data. If a chunk with the given name already exists it will be overwritten, otherwise it will be created after the existing chunks.

Warning
This will update the file immediately.

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