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

Annotation of /libgig/trunk/README

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2543 - (hide annotations) (download)
Sat May 10 02:06:58 2014 UTC (9 years, 11 months ago) by schoenebeck
File size: 9946 byte(s)
* Initial support for sample based instruments in KORG's file format (.KMP
  and .KSF files) -> Korg.h, Korg.cpp.
* Added new command line tool "korgdump" (and a man page for it).
* Added new command line tool "korg2gig" (and a man page for it), for
  converting KORG sounds to Giga format.
* riftree tool: Added more command line options for being able to also dump
  other kind of file formats similar but not equal to the RIFF format.
* gig.h/.cpp: Added new method File::GetGroup(String name) for retrieving
  group by name.
* RIFF.h/.cpp: Added support for loading RIFF-like files with a bit
  different layout than "real" RIFF files (used for KORG format support).
* RIFF.h/.cpp: Added new method Chunk::GetFile().
* RIFF.h/.cpp: Added new method Chunk::GetLayout().
* Bumped version (3.3.0.svn9).

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

  ViewVC Help
Powered by ViewVC