TagLib::RIFF::File Class Reference

A 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

| ~File () override
| File (const File &)=delete
File & | operator= (const File &)=delete
Public Member Functions inherited from TagLib::File
| File (const File &)=delete
File & | operator= (const File &)=delete
FileName | name () const
virtual Tag * | tag () const =0
virtual PropertyMap | properties () const
virtual void | removeUnsupportedProperties (const StringList &properties)
virtual PropertyMap | setProperties (const PropertyMap &properties)
virtual StringList | complexPropertyKeys () const
virtual List< VariantMap > | complexProperties (const String &key) const
virtual bool | setComplexProperties (const String &key, const List< VariantMap > &value)
virtual AudioProperties * | audioProperties () const =0
virtual bool | save ()=0
ByteVector | readBlock (size_t length)
void | writeBlock (const ByteVector &data)
offset_t | find (const ByteVector &pattern, offset_t fromOffset=0, const ByteVector &before=ByteVector())
offset_t | rfind (const ByteVector &pattern, offset_t fromOffset=0, const ByteVector &before=ByteVector())
void | insert (const ByteVector &data, offset_t start=0, size_t replace=0)
void | removeBlock (offset_t start=0, size_t length=0)
bool | readOnly () const
bool | isOpen () const
bool | isValid () const
void | seek (offset_t offset, Position p=Beginning)
void | clear ()
offset_t | tell () const
offset_t | 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
offset_t | 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 fileName)
| File (IOStream *stream)
void | setValid (bool valid)
void | truncate (offset_t length)

## Additional Inherited Members

Public Types inherited from TagLib::File
enum | Position { Beginning , Current , End }
enum | StripTags { StripNone , StripOthers }
enum | DuplicateTags { Duplicate , DoNotDuplicate }
Static Protected Member Functions inherited from TagLib::File
static unsigned int | bufferSize ()

## Detailed Description

A 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()

TagLib::RIFF::File::~File | ( |  | ) |

override virtual

Destroys this instance of the File.

Reimplemented from TagLib::File.

Reimplemented in TagLib::RIFF::WAV::File.

## File() [1/3]

TagLib::RIFF::File::File | ( | const File & |  | ) |

delete

References File().

Referenced by File(), and operator=().

## File() [2/3]

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

protected

## File() [3/3]

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()

offset_t 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).

## operator=()

File & TagLib::RIFF::File::operator= | ( | const File & |  | ) |

delete

References File().

## 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.

References TagLib::File::name(), and TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE.

## 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.

References TagLib::File::name().

## 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.

References TagLib::File::name().

## 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