6 |
@section Intro |
@section Intro |
7 |
|
|
8 |
libgig is a C++ library for accessing audio-sample based instrument files, |
libgig is a C++ library for accessing audio-sample based instrument files, |
9 |
as they are shipped for various software samplers and hardware sampler devices. |
as they are shipped for various software samplers, hardware sampler devices |
10 |
|
and synthesizer keyboards. |
11 |
This C++ library was originally created to access Gigasampler files, but in the |
This C++ library was originally created to access Gigasampler files, but in the |
12 |
meantime grew to much more than that. At the moment libgig consists of the |
meantime grew to much more than that. At the moment libgig consists of the |
13 |
following major parts: |
following four major parts: |
14 |
|
|
15 |
- @b 1. @ref gig classes: These provide convenient access to |
- @b 1. @ref gig classes: These provide convenient access to |
16 |
@b Gigasampler / @b GigaStudio files (for all known format version, that is |
@b Gigasampler / @b GigaStudio files (for all known format version, that is |
25 |
Besides the fact that libgig supports all aspects of the original |
Besides the fact that libgig supports all aspects of the original |
26 |
Gigasampler / GigaStudio format, it now also provides some own extensions of |
Gigasampler / GigaStudio format, it now also provides some own extensions of |
27 |
that original format. Most notably libgig provides an extension to save |
that original format. Most notably libgig provides an extension to save |
28 |
real-time instrument scripts with .gig files. Those custom extensions are |
@ref gig::Script "real-time instrument scripts" with .gig files. |
29 |
|
Those custom extensions are |
30 |
however currently only supported by the graphical instrument editor |
however currently only supported by the graphical instrument editor |
31 |
application @b gigedit and by @b LinuxSampler, they will obviously not work |
application @b gigedit and by @b LinuxSampler, those extensions will |
32 |
with the original GigaStudio software. |
obviously not work with the original GigaStudio software. |
33 |
|
|
34 |
- @b 2. @ref Korg classes: These provide support for loading sample based |
- @b 2. @ref sf2 classes: These provide support for loading and modifying |
35 |
instrument files for KORG's synthesizer keyboard models <i>Kronos</i>, |
@b SoundFont version 2 files. Even though being an older format, the |
36 |
|
SoundFont format is still one of the most popular sample based instrument |
37 |
|
file formats and is widely supported by a variety of hardware and software. |
38 |
|
|
39 |
|
- @b 3. @ref Korg classes: These provide support for loading sample based |
40 |
|
instrument files of KORG's synthesizer keyboard models <i>Kronos</i>, |
41 |
<i>M3</i>, <i>Oasys</i>, <i>Triton</i> and <i>Trinity</i>. There is |
<i>M3</i>, <i>Oasys</i>, <i>Triton</i> and <i>Trinity</i>. There is |
42 |
currently no support for modifying KORG files yet. |
currently no support for modifying KORG files yet. |
43 |
|
|
44 |
- @b 3. @b AKAI classes: These provide support for loading sample based disks |
- @b 4. @b AKAI classes: These provide support for loading sample based disks |
45 |
(CDROMs, hard disks, ZIP disks) and disk image files of AKAI's hardware |
(CDROMs, hard disks, ZIP disks) and disk image files of AKAI's hardware |
46 |
sampler series <i>S1000</i>, <i>S01</i>, <i>S2000</i> and <i>S3000</i>.<br> |
sampler series <i>S1000</i>, <i>S01</i>, <i>S2000</i> and <i>S3000</i>.<br> |
47 |
<br> |
<br> |
58 |
sounds. |
sounds. |
59 |
|
|
60 |
Besides the mentioned major parts above, libgig also provides the following |
Besides the mentioned major parts above, libgig also provides the following |
61 |
other components: |
two other components: |
62 |
|
|
63 |
- @b 4. @ref DLS classes: Provide convenient methods to access |
- @b 5. @ref DLS classes: Provide convenient methods to access |
64 |
@b DLS (<i>Downloadable Sounds</i>) Level 1 and 2 files. The DLS file format |
@b DLS (<i>Downloadable Sounds</i>) Level 1 and 2 files. The DLS file format |
65 |
has been designed as open file format to be adopted by various keyboard |
has been designed as open file format to be adopted by various keyboard |
66 |
manufacturers for their sounds. However it never really made it to a broad |
manufacturers for their sounds. However it never really made it to a broad |
71 |
Gigasampler / GigaStudio file format was designed as extension on top of the |
Gigasampler / GigaStudio file format was designed as extension on top of the |
72 |
DLS file format (with quite some radical modifications though). |
DLS file format (with quite some radical modifications though). |
73 |
|
|
74 |
- @b 5. @ref RIFF classes: Provide convenient methods to parse and access |
- @b 6. @ref RIFF classes: Provide convenient methods to parse and access |
75 |
arbitrary RIFF files. The <i>Resource Interchange File Format</i> |
arbitrary RIFF files. The <i>"Resource Interchange File Format"</i> |
76 |
provides universal data containers ordered in a tree-like structure |
provides universal data containers ordered in a tree-like structure |
77 |
and can be compared to XML, but with the difference that RIFF is |
and can be compared to XML, but with the difference that RIFF is |
78 |
binary encoded.<br> |
binary encoded.<br> |
79 |
<br> |
<br> |
80 |
The DLS file format, the gig file format and KORG's file format are all |
The DLS file format, the gig file format, the sf2 file format and KORG's |
81 |
based on RIFF on lowest level of their file format. And consequently all |
file format are all based on RIFF on lowest level of their file format. And |
82 |
those classes mentioned above are using the RIFF classes for that purpose. |
consequently all those classes mentioned above are using the RIFF classes |
83 |
|
for that purpose. |
84 |
|
|
85 |
|
|
86 |
@section License |
@section License |
87 |
|
|
88 |
Most parts of libgig and its tools are released under the terms of the |
Most parts of libgig and its tools are released under the terms of the |
89 |
<a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License (GPL)</a>. |
<a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License (GPL)</a>. |
90 |
This applies to the @ref gig classes, @ref Korg classes, @ref DLS classes, |
This applies to the @ref gig classes, @ref sf2 classes, @ref Korg classes, @ref DLS classes, |
91 |
@ref RIFF classes and all their tools and example programs. We may offer you a |
@ref RIFF classes and all of their tools and example programs. We may offer you a |
92 |
commercial license for using libgig in commercial products. If you are |
commercial license for using libgig in commercial products. If you are |
93 |
interested in a commercial license, |
interested in a commercial license, |
94 |
<a href="http://www.linuxsampler.org/developers.html">contact us!</a> |
<a href="http://www.linuxsampler.org/developers.html">contact us!</a> |
95 |
|
|
96 |
The @b AKAI classes and its tools / demo programs are released under the terms |
The @b AKAI classes and their tools / example programs are released under the terms |
97 |
of the <a href="https://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public License (LGPL)</a>. |
of the <a href="https://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public License (LGPL)</a>. |
98 |
|
|
99 |
If you have any questions regarding license aspects, |
If you have any questions regarding license aspects, |