libgig  4.0.0
RIFF Namespace Reference

RIFF specific classes and definitions. More...

Classes

class  Chunk
 Ordinary RIFF Chunk. More...
 
class  Exception
 Will be thrown whenever an error occurs while handling a RIFF file. More...
 
class  File
 RIFF File. More...
 
class  List
 RIFF List Chunk. More...
 
struct  progress_t
 Used for indicating the progress of a certain task. More...
 

Typedefs

typedef std::string String
 

Enumerations

enum  stream_mode_t { stream_mode_read = 0, stream_mode_read_write = 1, stream_mode_closed = 2 }
 Whether file stream is open in read or in read/write mode. More...
 
enum  stream_state_t { stream_ready = 0, stream_end_reached = 1, stream_closed = 2 }
 Current state of the file stream. More...
 
enum  stream_whence_t { stream_start = 0, stream_curpos = 1, stream_backward = 2, stream_end = 3 }
 File stream position dependent to these relations. More...
 
enum  endian_t { endian_little = 0, endian_big = 1, endian_native = 2 }
 Alignment of data bytes in memory (system dependant). More...
 
enum  layout_t { layout_standard = 0, layout_flat = 1 }
 General chunk structure of a file. More...
 

Functions

String libraryName ()
 Returns the name of this C++ library. More...
 
String libraryVersion ()
 Returns version of this C++ library. More...
 

Detailed Description

RIFF specific classes and definitions.

The Resource Interchange File Format (RIFF) is a generic tree-structured meta-format which stores data in so called "chunks". It can be compared to XML, but in contrast to XML, RIFF is entirely binary encoded, that is not ASCII based. RIFF is used as basis for many file formats like AVI, WAV, DLS and of course the Gigasampler file format. ;-)

RIFF chunks can be seen as containers for data. There are two distinct types of chunks:

  • ordinary chunks are the leafs of the data tree which encapsulate the actual data of the file (i.e. the sample data of a .wav file)
  • list chunks are the nodes of the data tree which hold an arbitrary amount of subchunks (can be both, list chunks and/or ordinary chunks)

Typedef Documentation

§ String

typedef std::string RIFF::String

Definition at line 140 of file RIFF.h.

Enumeration Type Documentation

§ endian_t

Alignment of data bytes in memory (system dependant).

Enumerator
endian_little 
endian_big 
endian_native 

Definition at line 167 of file RIFF.h.

§ layout_t

General chunk structure of a file.

Enumerator
layout_standard 

Standard RIFF file layout: First chunk in file is a List chunk which contains all other chunks and there are no chunks outside the scope of that very first (List) chunk.

layout_flat 

Not a "real" RIFF file: First chunk in file is an ordinary data chunk, not a List chunk, and there might be other chunks after that first chunk.

Definition at line 174 of file RIFF.h.

§ stream_mode_t

Whether file stream is open in read or in read/write mode.

Enumerator
stream_mode_read 
stream_mode_read_write 
stream_mode_closed 

Definition at line 145 of file RIFF.h.

§ stream_state_t

Current state of the file stream.

Enumerator
stream_ready 
stream_end_reached 
stream_closed 

Definition at line 152 of file RIFF.h.

§ stream_whence_t

File stream position dependent to these relations.

Enumerator
stream_start 
stream_curpos 
stream_backward 
stream_end 

Definition at line 159 of file RIFF.h.

Function Documentation

§ libraryName()

String RIFF::libraryName ( )

Returns the name of this C++ library.

This is usually "libgig" of course. This call is equivalent to DLS::libraryName() and gig::libraryName().

Definition at line 2079 of file RIFF.cpp.

Referenced by RIFF::Exception::~Exception().

§ libraryVersion()

String RIFF::libraryVersion ( )

Returns version of this C++ library.

This call is equivalent to DLS::libraryVersion() and gig::libraryVersion().

Definition at line 2087 of file RIFF.cpp.

Referenced by RIFF::Exception::~Exception().