1 |
schoenebeck |
2 |
Content |
2 |
|
|
======= |
3 |
|
|
libgig actually consists of three parts: |
4 |
|
|
|
5 |
|
|
- RIFF classes (RIFF.h, RIFF.cpp): Provides convenient methods to parse and |
6 |
|
|
access arbitrary RIFF files. |
7 |
|
|
- DLS classes (DLS.h, DLS.cpp): They're using the RIFF classes to parse |
8 |
|
|
DLS (Downloadable Sounds) Level 1 and 2 |
9 |
|
|
files and provide abstract access to the |
10 |
|
|
data. |
11 |
|
|
- gig classes (gig.h, gig.cpp): These are based on the DLS classes and |
12 |
|
|
provide the neccessary extensions for |
13 |
|
|
the Gigasampler file format. |
14 |
|
|
|
15 |
|
|
Requirements |
16 |
|
|
============ |
17 |
|
|
I simply used automake & co this time so you will need to have automake, |
18 |
|
|
autoconf and libtool installed. I used the following versions: |
19 |
|
|
|
20 |
|
|
automake 1.6.3 |
21 |
|
|
autoconf 2.57 |
22 |
|
|
|
23 |
|
|
If you want to compile the 'gigextract' application that comes with these |
24 |
|
|
sources then you will additionally need to have libaudiofile installed (I |
25 |
|
|
used version 0.2.3). |
26 |
|
|
|
27 |
|
|
Non-POSIX systems |
28 |
|
|
================= |
29 |
|
|
If you don't have a POSIX system, you have to set 'POSIX' to '0' in RIFF.h. |
30 |
|
|
Instead of using POSIX calls then standard C calls will be used for file |
31 |
schoenebeck |
11 |
access. This applies e.g. to Windows systems. |
32 |
schoenebeck |
2 |
|
33 |
schoenebeck |
186 |
Compiling |
34 |
|
|
========= |
35 |
schoenebeck |
2 |
|
36 |
schoenebeck |
186 |
You can either compile the sources and install the library directly on |
37 |
|
|
your system or you can create Redhat or Debian packages. |
38 |
schoenebeck |
2 |
|
39 |
schoenebeck |
186 |
a) Compiling and installing directly |
40 |
|
|
|
41 |
|
|
Use 'make -f Makefile.cvs && ./configure && make' to compile the library, |
42 |
|
|
all tools, demo applications, documentation and install them with |
43 |
|
|
'make install'. You can use 'make distclean && make -f Makefile.cvs clean' |
44 |
|
|
to clean up everything again. |
45 |
|
|
|
46 |
|
|
b) Creating Debian packages |
47 |
|
|
|
48 |
|
|
Use 'make -f Makefile.cvs && dpkg-buildpackage -rfakeroot' to compile and |
49 |
|
|
create the Debian packages. This will generate 3 Debian packages: |
50 |
|
|
|
51 |
|
|
libgig: Contains the shared library files. |
52 |
|
|
libgig-dev: Contains the header files and documentation for building |
53 |
|
|
applications using libgig. |
54 |
|
|
gigtools: Contains the tools and demo applications. |
55 |
|
|
|
56 |
|
|
You can use 'fakeroot debian/rules clean && make -f Makefile.cvs clean' |
57 |
|
|
to clean up everything again. |
58 |
|
|
|
59 |
|
|
c) Creating Redhat packages |
60 |
|
|
|
61 |
|
|
TODO |
62 |
|
|
|
63 |
|
|
Tools |
64 |
|
|
===== |
65 |
|
|
|
66 |
|
|
Beside the actual library there are four applications: |
67 |
|
|
|
68 |
schoenebeck |
2 |
gigdump: Demo app that prints out the content of a .gig file. |
69 |
|
|
gigextract: Extracts samples from a .gig file. |
70 |
|
|
dlsdump: Demo app that prints out the content of a DLS file. |
71 |
|
|
rifftree: Tool that prints out the RIFF tree of an arbitrary RIFF |
72 |
|
|
file. |
73 |
|
|
|
74 |
schoenebeck |
186 |
API Documentation |
75 |
|
|
================= |
76 |
schoenebeck |
2 |
|
77 |
schoenebeck |
186 |
If you have Doxygen installed you can generate the API documentation by |
78 |
|
|
just running 'doxygen' in the sources' top level directory. The API |
79 |
|
|
documentation will be generated in the 'html' subdirectory. |
80 |
schoenebeck |
2 |
|
81 |
schoenebeck |
11 |
Patches |
82 |
|
|
======= |
83 |
|
|
If you find bugs or have improvements, your patches are always welcome! |
84 |
|
|
Send them either directly to me or to the LinuxSampler developer's mailing |
85 |
|
|
list <linuxsampler-devel@lists.sourceforge.net>. |
86 |
|
|
|
87 |
|
|
Credits |
88 |
|
|
======= |
89 |
|
|
This library is based on the reverse engineering work of Paul Kellett and |
90 |
|
|
Ruben van Royen. Thanks for your great work! |
91 |
|
|
|
92 |
schoenebeck |
2 |
Christian Schoenebeck <cuse@users.sourceforge.net> |