1 |
Home |
Home |
2 |
==== |
==== |
3 |
You can always find the latest version of libgig at: |
You can always find the latest version of libgig at: |
4 |
http://stud.hs-heilbronn.de/~cschoene/projects/libgig/ |
http://www.linuxsampler.org/libgig/ |
5 |
|
|
6 |
Content |
Content |
7 |
======= |
======= |
8 |
libgig actually consists of three parts: |
libgig actually consists of three major parts: |
9 |
|
|
10 |
- RIFF classes (RIFF.h, RIFF.cpp): Provides convenient methods to parse and |
- RIFF classes (RIFF.h, RIFF.cpp): Provides convenient methods to parse and |
11 |
access arbitrary RIFF files. |
access arbitrary RIFF files. |
15 |
data. |
data. |
16 |
- gig classes (gig.h, gig.cpp): These are based on the DLS classes and |
- gig classes (gig.h, gig.cpp): These are based on the DLS classes and |
17 |
provide the necessary extensions for |
provide the necessary extensions for |
18 |
the Gigasampler file format. |
the Gigasampler/GigaStudio file format. |
19 |
|
|
20 |
Beside the actual library there are four example applications: |
Despite its name, libgig also provides (since version 4.0.0) support for |
21 |
|
other sampler file formats as well: |
22 |
|
|
23 |
|
- SoundFont classes (SF.h, SF.cpp): They provide support for the very popular |
24 |
|
SoundFont v1 and v2 format (.sf2). |
25 |
|
|
26 |
|
- KORG classes (Korg.h, Korg.cpp): Provides support for sample based sounds |
27 |
|
used on many KORG synthesizer keyboards. |
28 |
|
|
29 |
|
- Akai classes (Akai.h): Currently S1000, S01, S2000 and S3000 |
30 |
|
series are supported. |
31 |
|
|
32 |
|
Additionally libgig contains the following separate API: |
33 |
|
|
34 |
|
- Serialization classes (Serialization.h, Serialization.cpp): |
35 |
|
Framework to serialize and deserialize |
36 |
|
the runtime state of native C++ objects |
37 |
|
(for saving and restoring their states |
38 |
|
as abstract data). |
39 |
|
|
40 |
|
Beside the actual library there are following example applications: |
41 |
|
|
42 |
gigdump: Demo app that prints out the content of a .gig file. |
gigdump: Demo app that prints out the content of a .gig file. |
43 |
gigextract: Extracts samples from a .gig file. |
gigextract: Extracts samples from a .gig file. |
44 |
|
gigmerge: Merges several .gig files to one .gig file. |
45 |
|
gig2mono: Converts .gig files from stereo to mono. |
46 |
|
gig2stereo: Converts .gig files to true interleaved stereo sounds. |
47 |
dlsdump: Demo app that prints out the content of a DLS file. |
dlsdump: Demo app that prints out the content of a DLS file. |
48 |
|
korgdump: Prints out the content of the various KORG file types. |
49 |
|
korg2gig: Convert KORG sound file to Gigasampler/GigaStudio format. |
50 |
|
sf2dump: Prints out the content of a .sf2 file. |
51 |
|
sf2extract: Extracts audio samples from a .sf2 file. |
52 |
rifftree: Tool that prints out the RIFF tree of an arbitrary RIFF |
rifftree: Tool that prints out the RIFF tree of an arbitrary RIFF |
53 |
file. |
file. |
54 |
|
akaidump: Dump an AKAI media i.e. from a CDROM drive as disk image file |
55 |
|
to your hard disk drive. |
56 |
|
akaiextract: Extracts samples from an Akai disk image, either from a media |
57 |
|
(i.e. CDROM or Zip drive) for from a AKAI disk image file. |
58 |
|
|
59 |
Since version 3.0.0 libgig also provides write support, that is for |
Since version 3.0.0 libgig also provides write support, that is for |
60 |
creating modifying .gig, DLS and RIFF files. |
creating modifying .gig, DLS and RIFF files. |
61 |
|
|
62 |
Requirements |
Requirements |
63 |
============ |
============ |
64 |
POSIX systems (e.g. Linux, OS X): |
POSIX systems (e.g. Linux, macOS): |
65 |
--------------------------------- |
--------------------------------- |
66 |
|
|
67 |
You need at least to have libtool installed to be able to build the |
You need at least to have libtool installed to be able to build the |
151 |
|
|
152 |
Compiling for Windows |
Compiling for Windows |
153 |
===================== |
===================== |
154 |
|
|
155 |
libgig and its tools can be compiled for Windows using Bloodshed Dev-C++, |
libgig and its tools can be compiled for Windows using Bloodshed Dev-C++, |
156 |
which is a free (GPL) C++ integrated development environment for Windows. |
which is a free (GPL) C++ integrated development environment for Windows. |
157 |
You can download it here: |
It is also possible to use MSYS from MinGW, which allows you to use |
158 |
|
'./configure && make' like the linux builds. |
159 |
|
|
160 |
|
You can download Dev-C++ here: |
161 |
|
|
162 |
http://www.bloodshed.net/devcpp.html |
http://www.bloodshed.net/devcpp.html |
163 |
|
|
222 |
|
|
223 |
License |
License |
224 |
======= |
======= |
225 |
libgig and its tools are released under the GNU General Public License. |
libgig and its tools are released under the GNU General Public License (GPL). |
226 |
|
|
227 |
|
libakai and its tools are released under the GNU Lesser General Public (LGPL). |
228 |
|
Due to its different license model the Akai support part is built as separate |
229 |
|
DLL (.so) file. |
230 |
|
|
231 |
API Documentation |
API Documentation |
232 |
================= |
================= |
246 |
You might also try to run the "Test Cases" coming with libgig (see above), |
You might also try to run the "Test Cases" coming with libgig (see above), |
247 |
especially in case you are running on an odd system. |
especially in case you are running on an odd system. |
248 |
|
|
249 |
|
Trademarks |
250 |
|
========== |
251 |
|
Tascam, Gigasampler, GigaStudio, KORG, Trinity, Triton, OASYS, M3, Kronos |
252 |
|
and Akai are trademarks of their respective owners. |
253 |
|
|
254 |
Credits |
Credits |
255 |
======= |
======= |
256 |
The initial library was based on the reverse engineering effort of |
The initial library (Gigasampler part) was based on the reverse engineering |
257 |
Paul Kellett and Ruben van Royen. We owe current support for the quite new |
effort of Paul Kellett and Ruben van Royen. We owe current support for the |
258 |
Gigasampler v3 format to Andreas Persson. Please also have a look at the |
Gigasampler v3/v4 format to Andreas Persson. Please also have a look at the |
259 |
ChangeLog for all those who contributed. Thanks to all of you for your |
ChangeLog for all those who contributed. |
260 |
great work! |
|
261 |
|
Akai support files are a ported version of Sébastien Métrot's libakai. The |
262 |
|
original libakai only supported Mac and Windows. This forked version of |
263 |
|
libakai now also supports Linux and other POSIX compliant operating systems |
264 |
|
as well and does not have a dependency to libngl as the original libakai had. |
265 |
|
|
266 |
|
The SoundFont 2 file format C++ classes were written by Grigor Iliev. |
267 |
|
|
268 |
|
Thanks to all of you for your great work! |
269 |
|
|
270 |
Christian Schoenebeck <cuse@users.sourceforge.net> |
Christian Schoenebeck <cuse@users.sourceforge.net> |