| TagLib 1.13 |  |

Public Member Functions | Protected Types | Protected Member Functions | List of all members
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:
[legend]
Collaboration diagram for TagLib::RIFF::File:
[legend]

## Public Member Functions
virtual | ~File ()
Public Member Functions inherited from TagLib::File
virtual | ~File ()
FileName | name () const
virtual Tag * | tag () const =0
PropertyMap | properties () const
void | removeUnsupportedProperties (const StringList &properties)
PropertyMap | setProperties (const PropertyMap &properties)
virtual AudioProperties * | audioProperties () const =0
virtual bool | save ()=0
ByteVector | readBlock (unsigned long length)
void | writeBlock (const ByteVector &data)
long | find (const ByteVector &pattern, long fromOffset=0, const ByteVector &before=ByteVector())
long | rfind (const ByteVector &pattern, long fromOffset=0, const ByteVector &before=ByteVector())
void | insert (const ByteVector &data, unsigned long start=0, unsigned long replace=0)
void | removeBlock (unsigned long start=0, unsigned long 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)
unsigned int | riffSize () const
unsigned int | chunkCount () const
unsigned int | chunkOffset (unsigned int i) const
unsigned int | chunkDataSize (unsigned int i) const
unsigned int | chunkPadding (unsigned int i) const
ByteVector | chunkName (unsigned int i) const
ByteVector | chunkData (unsigned int i)
void | setChunkData (unsigned int i, const ByteVector &data)
void | setChunkData (const ByteVector &name, const ByteVector &data)
void | setChunkData (const ByteVector &name, const ByteVector &data, bool alwaysCreate)
void | removeChunk (unsigned int i)
void | removeChunk (const ByteVector &name)
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 }
enum | StripTags { StripNone , StripOthers }
enum | DuplicateTags { Duplicate , DoNotDuplicate }
Static Public Member Functions inherited from TagLib::File
static TAGLIB_DEPRECATED bool | isReadable (const char *file)
static TAGLIB_DEPRECATED bool | isWritable (const char *name)
Static Protected Member Functions inherited from TagLib::File
static unsigned int | 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

## ◆ Endianness

enum TagLib::RIFF::File::Endianness
| protected

Enumerator
BigEndian |
LittleEndian |

## Constructor & Destructor Documentation

## ◆ ~File()

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.

## ◆ File() [1/2]

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

## ◆ File() [2/2]

TagLib::RIFF::File::File | ( | IOStream * | stream,
|  | Endianness | endianness
| ) |  |
| protected

## Member Function Documentation

## ◆ chunkCount()

unsigned int TagLib::RIFF::File::chunkCount | ( |  | ) | const
| protected

Returns
  The number of chunks in the file.

## ◆ chunkData()

ByteVector TagLib::RIFF::File::chunkData | ( | unsigned int | i | ) |
| protected

Reads the chunk data from the file and returns it.

Note
  This will move the read pointer for the file.

## ◆ chunkDataSize()

unsigned int TagLib::RIFF::File::chunkDataSize | ( | unsigned int | i | ) | const
| protected

Returns
  The size of the chunk data.

## ◆ chunkName()

ByteVector TagLib::RIFF::File::chunkName | ( | unsigned int | i | ) | const
| protected

Returns
  The name of the specified chunk, for instance, "COMM" or "ID3 "

## ◆ chunkOffset()

unsigned int TagLib::RIFF::File::chunkOffset | ( | unsigned int | i | ) | const
| protected

Returns
  The offset within the file for the selected chunk number.

## ◆ chunkPadding()

unsigned int TagLib::RIFF::File::chunkPadding | ( | unsigned int | i | ) | const
| protected

Returns
  The size of the padding after the chunk (can be either 0 or 1).

## ◆ removeChunk() [1/2]

void TagLib::RIFF::File::removeChunk | ( | const ByteVector & | name | ) |
| protected

Removes the chunk name.

Warning
  This will update the file immediately.
  This removes all the chunks with the given name.

## ◆ removeChunk() [2/2]

void TagLib::RIFF::File::removeChunk | ( | unsigned int | i | ) |
| protected

Removes the specified chunk.

Warning
  This will update the file immediately.

## ◆ riffSize()

unsigned int TagLib::RIFF::File::riffSize | ( |  | ) | const
| protected

Returns
  The size of the main RIFF chunk.

## ◆ setChunkData() [1/3]

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.

## ◆ setChunkData() [2/3]

void TagLib::RIFF::File::setChunkData | ( | const ByteVector & | name,
|  | const ByteVector & | data,
|  | bool | alwaysCreate
| ) |  |
| 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.

Note
  If alwaysCreate is true, a new chunk is created regardless of whether or not the chunk name exists. It should only be used for "LIST" chunks.

Warning
  This will update the file immediately.

## ◆ setChunkData() [3/3]

void TagLib::RIFF::File::setChunkData | ( | unsigned int | i,
|  | const ByteVector & | data
| ) |  |
| protected

Sets the data for the specified chunk to data.

Warning
  This will update the file immediately.

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

- rifffile.h