|
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 RIFF chunk structure of a RIFF file. More...
|
|
enum | offset_size_t { offset_size_auto = 0,
offset_size_32bit = 4,
offset_size_64bit = 8
} |
| Size of RIFF file offsets used in all RIFF chunks' headers. More...
|
|
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)