/[svn]/libgig/trunk/man/rifftree.1.in
ViewVC logotype

Contents of /libgig/trunk/man/rifftree.1.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2778 - (show annotations) (download)
Sun Jun 14 18:19:23 2015 UTC (8 years, 9 months ago) by schoenebeck
File size: 4133 byte(s)
- Minor update of man pages and README file.

1 .TH "rifftree" "1" "7 May 2014" "libgig @VERSION@" "libgig tools"
2 .SH NAME
3 rifftree \- Print RIFF tree structure of an arbitrary RIFF file.
4 .SH SYNOPSIS
5 .B rifftree
6 [OPTIONS] FILE
7
8 .SH DESCRIPTION
9 The Resource Interchange File Format (RIFF) is a simple, binary file format
10 intended for tree like data structures. Many proprietary file formats are built
11 on top of the RIFF format (e.g. media file formats like WAV, AVI, DLS, GIG).
12 Data in a RIFF file is encapsulated into so called "chunks". There are list
13 chunks (containers) which can be seen as nodes in the data tree and thus can
14 have children (that is can have subchunks) and there are normal data chunks
15 which can be seen as leafs in the data tree and thus cannot have childs.
16 The regular chunks (leafs of the tree) contain the actual data to be stored.
17 The list chunks themselves (nodes / containers) contain no data on their own.
18
19 Each list chunk and normal chunk has a 32 bit (non unique) ID, which is usually
20 a four character human readable ASCII text, reflecting the purpose of the
21 respective list or chunk. This application will print out this ID for each chunk
22 found. Advantage of human readable list/chunk IDs is that files based on this
23 practice can easily be analyzed manually with a hex editor.
24
25 A normal RIFF file always starts with a list chunk (either with chunk ID "RIFF"
26 or "RIFX), which contains all other chunks. There are no other chunks outside
27 the boundaries of that first chunk in a normal RIFF file. You may override this
28 expectation with arguments described below though (see argument '--flat'), for
29 being able to open other, RIFF-like files.
30
31 .SH OPTIONS
32
33 .TP
34 .B \ FILE
35 Filename of the RIFF based file.
36
37 .TP
38 .B \ -v
39 Print version and exit.
40
41 .TP
42 .B \ -s
43 Print the size of each RIFF chunk.
44
45 .TP
46 .B \ --flat
47 First chunk of file is not a list (container) chunk. You might want to use this
48 if the file is not a "real" RIFF file. A "real" RIFF file always has a RIFF
49 list (container) chunk as very first chunk in a file, and it expects all chunks
50 to be contained in that first (list/container) chunk. So in a "real" RIFF file
51 there would also be no other chunks outside the scope (that is after end) of the
52 file's first chunk. Many primitive file formats though are a flat sequence of
53 ordinary data chunks (not list/container chunks). If you are using this option
54 then you must also use --first-chunk-id as well.
55
56 .TP
57 .B \ --first-chunk-id CKID
58 Currently only used in combination with --flat. CKID shall be the 32 bit chunk
59 ID of the very first chunk in the file. If the first chunk in the file does not
60 have the given chunk ID, then this application will abort. This ensures that
61 the file is actually the format you expected. The argument expected here shall
62 be a four character human readable ASCII text, since RIFF chunk IDs are usually
63 human readable ASCII strings.
64
65 .TP
66 .B \ --big-endian
67 File is in big endian format. Currently only used in combination with --flat.
68 Without --flat the endian type will automatically be detected. If you are using
69 --flat and do neither provide --big-endian nor --little-endian, then the native
70 endian type of your machine will be used by default.
71
72 .TP
73 .B \ --little-endian
74 File is in little endian format. Currently only used in combination with --flat.
75 Without --flat the endian type will automatically be detected. If you are using
76 --flat and do neither provide --big-endian nor --little-endian, then the native
77 endian type of your machine will be used by default.
78
79 .SH EXAMPLES
80 Show the file structure of a standard RIFF file (in the following example a
81 Gigasampler/GigaStudio file) and show the exact sizes of each chunk in the file:
82 .PP
83 .nf
84 .RS
85 rifftree -s piano.gig
86 .RE
87 .fi
88 .PP
89 Do the same for a Korg Trinity/Triton/OASYS/Kronos sound file (which is not a
90 standard RIFF file, but a RIFF-alike file):
91 .PP
92 .nf
93 .RS
94 rifftree -s --flat --first-chunk-id MSP1 --big-endian PIANO_000.KMP
95 .RE
96 .fi
97 .PP
98
99 .SH "SEE ALSO"
100 .BR dlsdump(1),
101 .BR gigdump(1),
102 .BR korgdump(1)
103
104 .SH "BUGS"
105 Check and report bugs at http://bugs.linuxsampler.org
106 .SH "Author"
107 Application and manual page written by Christian Schoenebeck <cuse@users.sf.net>

  ViewVC Help
Powered by ViewVC