1 |
schoenebeck |
1378 |
/** |
2 |
|
|
|
3 |
|
|
@mainpage libgig |
4 |
|
|
|
5 |
|
|
|
6 |
|
|
@section Intro |
7 |
|
|
|
8 |
|
|
libgig is a C++ library for loading, modifying existing and creating new |
9 |
|
|
Gigasampler files and DLS (Downloadable Sounds) Level 1 & 2 files. |
10 |
|
|
|
11 |
|
|
The library actually consists of three parts: |
12 |
|
|
|
13 |
|
|
1. @ref RIFF classes: Provide convenient methods to parse and access |
14 |
|
|
arbitrary RIFF files. The <i>Resource Interchange File Format</i> |
15 |
|
|
provides universal data containers ordered in a tree-like structure |
16 |
|
|
and can be compared to XML, but with the difference that RIFF is |
17 |
|
|
binary encoded. |
18 |
|
|
|
19 |
|
|
2. @ref DLS classes: Provide convenient methods to parse and access |
20 |
|
|
DLS (<i>Downloadable Sounds</i>) Level 1 and 2 files. These classes |
21 |
|
|
use the RIFF classes to access such files, since the DLS format |
22 |
|
|
uses RIFF as its layer beneath to store and structure its data. |
23 |
|
|
|
24 |
|
|
3. @ref gig classes: These are based on the DLS classes and provide the |
25 |
|
|
necessary extensions for the Gigasampler file format, since the |
26 |
|
|
Gigasampler format is in fact based on the DLS Level 2 format, with |
27 |
|
|
quite some radical modifications though. |
28 |
|
|
|
29 |
|
|
|
30 |
|
|
@section License |
31 |
|
|
|
32 |
|
|
libgig and its tools are released under the GNU General Public License |
33 |
|
|
(GPL). |
34 |
|
|
|
35 |
|
|
|
36 |
|
|
@section Examples |
37 |
|
|
|
38 |
|
|
Beside the actual library there are four example applications which |
39 |
|
|
demonstrate how to use the library: |
40 |
|
|
|
41 |
|
|
- @e gigdump: Demo app that prints out the content of a .gig file. |
42 |
|
|
- @e gigextract: Extracts samples from a .gig file. |
43 |
|
|
- @e dlsdump: Demo app that prints out the content of a DLS file. |
44 |
|
|
- @e rifftree: Tool that prints out the RIFF tree of an arbitrary RIFF file. |
45 |
|
|
|
46 |
|
|
Since version 3.0.0 libgig also provides write support, that is for creating |
47 |
|
|
modifying .gig, DLS and RIFF files. You can find a test case called |
48 |
|
|
@c GigWriteTest.cpp which demonstrates how to create a .gig file with |
49 |
|
|
libgig. You find other demo apps regarding write support of libgig on the |
50 |
|
|
website. |
51 |
|
|
|
52 |
|
|
|
53 |
|
|
@section Portability |
54 |
|
|
|
55 |
|
|
This library is developed and optimized for POSIX compliant operating |
56 |
|
|
systems like Linux and OSX and since release 3.1.1 for Windows as well. |
57 |
|
|
libgig was developed to compile on any operating system, though since |
58 |
|
|
release 3.0.0 libgig uses one tiny operating system dependant method to be |
59 |
|
|
able to resize files. Should be a 5 minute job to implement this method for |
60 |
|
|
other operating systems as well though. |
61 |
|
|
|
62 |
|
|
|
63 |
|
|
@section Outro |
64 |
|
|
|
65 |
|
|
For compilation instructions, requirements and further details please refer |
66 |
|
|
to the README file et al. |
67 |
|
|
|
68 |
|
|
That's all folks. Happy hacking! |
69 |
|
|
|
70 |
|
|
-- Christian Schoenebeck <cuse@users.sourceforge.net> |
71 |
|
|
|
72 |
|
|
@see http://www.linuxsampler.org |
73 |
|
|
|
74 |
|
|
*/ |