rifftree(1) | libgig tools | rifftree(1) |
rifftree - Print RIFF tree structure of an arbitrary RIFF file.
rifftree [OPTIONS] FILE
The Resource Interchange File Format (RIFF) is a simple, binary file format intended for tree like data structures. Many proprietary file formats are built on top of the RIFF format (e.g. media file formats like WAV, AVI, DLS, GIG). Data in a RIFF file is encapsulated into so called "chunks". There are list chunks (containers) which can be seen as nodes in the data tree and thus can have children (that is can have subchunks) and there are normal data chunks which can be seen as leafs in the data tree and thus cannot have children. The regular chunks (leafs of the tree) contain the actual data to be stored. The list chunks themselves (nodes / containers) contain no data on their own.
Each list chunk and normal chunk has a 32 bit (non unique) ID, which is usually a four character human readable ASCII text, reflecting the purpose of the respective list or chunk. This application will print out this ID for each chunk found. Advantage of human readable list/chunk IDs is that files based on this practice can easily be analyzed manually with a hex editor.
A normal RIFF file always starts with a list chunk (either with chunk ID "RIFF" or "RIFX), which contains all other chunks. There are no other chunks outside the boundaries of that first chunk in a normal RIFF file. You may override this expectation with arguments described below though (see argument '--flat'), for being able to open other, RIFF-like files.
Show the file structure of a standard RIFF file (in the following example a Gigasampler/GigaStudio file) and show the exact sizes of each chunk in the file:
rifftree -s piano.gig
Do the same for a Korg Trinity/Triton/OASYS/Kronos sound file (which is not a standard RIFF file, but a RIFF-alike file):
rifftree -s --flat --first-chunk-id MSP1 --big-endian PIANO_000.KMP
Check and report bugs at http://bugs.linuxsampler.org
Application and manual page written by Christian Schoenebeck <cuse@users.sf.net>
7 May 2014 | libgig 4.3.0 |