/[svn]/libgig/trunk/README
ViewVC logotype

Annotation of /libgig/trunk/README

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2490 - (hide annotations) (download)
Tue Dec 31 12:56:28 2013 UTC (10 years, 3 months ago) by schoenebeck
File size: 9228 byte(s)
- Just minor update on "README" file.

1 schoenebeck 859 Home
2     ====
3     You can always find the latest version of libgig at:
4 schoenebeck 1406 http://www.linuxsampler.org/libgig/
5 schoenebeck 859
6 schoenebeck 2 Content
7     =======
8     libgig actually consists of three parts:
9    
10     - RIFF classes (RIFF.h, RIFF.cpp): Provides convenient methods to parse and
11     access arbitrary RIFF files.
12     - DLS classes (DLS.h, DLS.cpp): They're using the RIFF classes to parse
13     DLS (Downloadable Sounds) Level 1 and 2
14     files and provide abstract access to the
15     data.
16     - gig classes (gig.h, gig.cpp): These are based on the DLS classes and
17 schoenebeck 312 provide the necessary extensions for
18 schoenebeck 2 the Gigasampler file format.
19    
20 schoenebeck 2490 Beside the actual library there are following example applications:
21 schoenebeck 650
22     gigdump: Demo app that prints out the content of a .gig file.
23     gigextract: Extracts samples from a .gig file.
24 schoenebeck 2490 gigmerge: Merges several .gig files to one .gig file.
25     gig2mono: Converts .gig files from stereo to mono.
26 schoenebeck 650 dlsdump: Demo app that prints out the content of a DLS file.
27     rifftree: Tool that prints out the RIFF tree of an arbitrary RIFF
28     file.
29    
30 schoenebeck 859 Since version 3.0.0 libgig also provides write support, that is for
31     creating modifying .gig, DLS and RIFF files.
32    
33 schoenebeck 2 Requirements
34     ============
35 schoenebeck 650 POSIX systems (e.g. Linux, OS X):
36     ---------------------------------
37 schoenebeck 2
38 schoenebeck 650 You need at least to have libtool installed to be able to build the
39     library with "./configure && make".
40 schoenebeck 2
41 schoenebeck 650 Additionally you need to have either libaudiofile (>= 0.2.3) or
42     libsndfile (>= 1.0.2) installed which is mandatory to be able to compile
43     the 'gigextract' example application. But of course 'gigextract' is still
44     just an example application, so it would make sense to compile it only if
45     one of those libraries are available. That would remove that hard
46     dependency to those two libs. But that's not a priority for me now.
47     Note: for Windows systems only libsndfile is available.
48    
49     If you want to regenerate all autotools build files (that is configure,
50     Makefile.in, etc.) then you need to have automake (>= 1.5) and autoconf
51 schoenebeck 859 installed.
52 schoenebeck 650
53 schoenebeck 1063 Windows:
54     --------
55 schoenebeck 859
56 schoenebeck 1063 The precompiled versions of libgig (and its tools) should be compatible
57     with any Windows operating system of at least Win95 or younger. Notice
58     that all example / demo applications coming with libgig are pure console
59     applications, thus you won't see a GUI showing up! :)
60 schoenebeck 2
61 schoenebeck 1063 If you want to compile libgig and its tools by yourself, please also
62     notice the requirements under "Compiling for Windows".
63    
64     Other Operating Systems:
65     ------------------------
66    
67     libgig was written to compile for any operating system, using standard C
68     library functions. However the latest versions of libgig lack a portable
69     implementation of one tiny method called RIFF::File::ResizeFile(). So you
70     would either have to add native OS API calls for that particular method,
71     that is dependant to your OS, or you have to add a portable
72     implementation. No matter which way you choose, please let us know! :)
73    
74     Compiling for Linux
75     ===================
76 schoenebeck 186 You can either compile the sources and install the library directly on
77     your system or you can create Redhat or Debian packages.
78 schoenebeck 2
79 schoenebeck 186 a) Compiling and installing directly
80    
81 schoenebeck 650 Call './configure && make' on the console to compile the library, all
82     tools and demo applications, documentation and install them with
83     'make install'. The latter has to be called as root.
84 schoenebeck 186
85 schoenebeck 650 If you are compiling from CVS you have to call 'make -f Makefile.cvs'
86     to generate all autotools build files before calling
87     './configure && make'.
88    
89     You can use 'make distclean' and probably 'make -f Makefile.cvs clean'
90     to clean up everything again. The latter will also delete all automatic
91     generated autools build files.
92    
93 schoenebeck 186 b) Creating Debian packages
94    
95 schoenebeck 650 Use 'dpkg-buildpackage -rfakeroot -b' to compile and create the Debian
96     packages. This will generate 3 Debian packages:
97 schoenebeck 186
98     libgig: Contains the shared library files.
99     libgig-dev: Contains the header files and documentation for building
100     applications using libgig.
101     gigtools: Contains the tools and demo applications.
102    
103 schoenebeck 650 You can use 'fakeroot debian/rules clean' to clean up everything again.
104 schoenebeck 186
105     c) Creating Redhat packages
106    
107 schoenebeck 191 You need to have the rpmbuild tool installed and properly configured to
108     create RPM packages. To create the RPM packages do the following:
109 schoenebeck 186
110 schoenebeck 191 * Get .spec file generated by ./configure and edit it as appropriate.
111    
112     * Copy the source tarball to "/usr/src/<rpmdir>/SOURCES" directory,
113     where <rpmdir> is dependent to the system you are using. For SuSE
114     <rmpdir> will be "packages", for Mandrake <rpmdir> is "RPM" and for
115     Redhat / Fedora <rpmdir> always equals "redhat".
116    
117     * Build the rpm(s) by invoking 'rpmbuild -bb <specfile>' from the
118     command line.
119    
120     On success, the resulting rpm(s) can usually be found under the proper
121     "/usr/src/<rpmdir>/RPMS/<arch>" directory.
122    
123 schoenebeck 1063 Compiling for Windows
124     =====================
125 persson 1330
126 schoenebeck 1063 libgig and its tools can be compiled for Windows using Bloodshed Dev-C++,
127     which is a free (GPL) C++ integrated development environment for Windows.
128 persson 1330 It is also possible to use MSYS from MinGW, which allows you to use
129     './configure && make' like the linux builds.
130 schoenebeck 1063
131 persson 1330 You can download Dev-C++ here:
132    
133 schoenebeck 1063 http://www.bloodshed.net/devcpp.html
134    
135     Make sure you install a version with Mingw integrated.
136    
137     a) Compiling libgig.dll
138    
139     Simply open the project file "win32/libgig.dev" either directly in Dev-C++
140     or by double clicking on the project file in the Windows explorer, then
141     click on "Compile" in the Dev-C++ menu and that's it! After compilation
142     finished, you can find the files "libgig.dll", "libgig.a" and
143     "liblibgig.def" in the "win32" directory.
144    
145     b) Compiling the example tools "rifftree", "dlsdump" and "gigdump"
146    
147     You need to have libgig.dll compiled as described in a). Then you can
148     compile the respective tool by simply opening the respective project
149     (.dev) file and clicking on "Compile" from the Dev-C++ menu. After
150     compilation you can find the respective .exe file in the "win32"
151     directory.
152    
153     c) Compiling the example tool "gigextract"
154    
155     You need to have libgig.dll compiled as described in a). Also you need
156     libsndfile (as DLL) which is used to create the .wav files. You can
157     download libsndfile already precompiled as DLL here:
158    
159     http://www.mega-nerd.com/libsndfile/
160    
161     Extract the .zip file i.e. to "C:\". The libsndfile .dll file should then
162     be i.e. under "C:\libsndfile-1_0_17". Beside the .dll file, make sure
163     libsndfile's .lib file exists in that directory as well. If the .lib file
164     does not exist yet, you have to create it with:
165    
166     dlltool --input-def libsndfile-1.def --output-lib libsndfile-1.lib
167    
168     Then you have to ensure the settings of gigextract's Dev-C++ project file
169     are pointing to the correct location of your local copy of libsndfile. For
170     that click in the Dev-C++ menu on "Project" -> "Project Options". Then
171     click on the tab "Parameter" and make sure the path to "libsndfile-1.lib"
172     in the "Linker" list view is correct. Then click on the tab "Directories"
173     and then on the tab "Include Directories" and make sure the path to
174     libsndfile points to the correct location there as well.
175    
176     After that you should finally be able to compile "gigextract" by clicking
177     on "Compile" in the Dev-C++ menu. After compilation succeeded, you can
178     find the "gigextract.exe" file in the "win32" directory.
179    
180 schoenebeck 923 Test Cases
181     ==========
182     The libgig sources come with a tiny console application which allows to
183     automatically test libgig's functions on your system. This test
184     application is not compiled by default, you have to compile it explicitly
185     with the following commands on the console (cppunit has to be installed):
186    
187     cd src/testcases
188     make libgigtests
189    
190     and then run the test application from the same directory with:
191    
192     ./libgigtests
193    
194 schoenebeck 859 License
195     =======
196     libgig and its tools are released under the GNU General Public License.
197    
198 schoenebeck 186 API Documentation
199     =================
200 schoenebeck 859 If you have Doxygen installed you can generate the API documentation by
201     running 'make docs' in the sources' top level directory. The API
202     documentation will be generated in the 'doc' subdirectory.
203 schoenebeck 2
204 schoenebeck 11 Patches
205     =======
206 schoenebeck 923 If you have bug fixes or improvements, your patches are always welcome!
207 schoenebeck 11 Send them either directly to me or to the LinuxSampler developer's mailing
208     list <linuxsampler-devel@lists.sourceforge.net>.
209    
210 schoenebeck 923 Bugs
211     ====
212     Please use http://bugs.linuxsampler.org to check and report possible bugs.
213     You might also try to run the "Test Cases" coming with libgig (see above),
214     especially in case you are running on an odd system.
215    
216 schoenebeck 11 Credits
217     =======
218 schoenebeck 530 The initial library was based on the reverse engineering effort of
219     Paul Kellett and Ruben van Royen. We owe current support for the quite new
220     Gigasampler v3 format to Andreas Persson. Please also have a look at the
221 schoenebeck 859 ChangeLog for all those who contributed. Thanks to all of you for your
222     great work!
223 schoenebeck 11
224 schoenebeck 2 Christian Schoenebeck <cuse@users.sourceforge.net>

  ViewVC Help
Powered by ViewVC