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 |
Despite its name, libgig also provides (since version 4.0.0) support for |
Despite its name, libgig also provides (since version 4.0.0) support for |
21 |
other sampler file formats as well: |
other sampler file formats as well: |
29 |
- Akai classes (Akai.h): Currently S1000, S01, S2000 and S3000 |
- Akai classes (Akai.h): Currently S1000, S01, S2000 and S3000 |
30 |
series are supported. |
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: |
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. |
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 |
149 |
On success, the resulting rpm(s) can usually be found under the proper |
On success, the resulting rpm(s) can usually be found under the proper |
150 |
"/usr/src/<rpmdir>/RPMS/<arch>" directory. |
"/usr/src/<rpmdir>/RPMS/<arch>" directory. |
151 |
|
|
152 |
Compiling for Windows |
Compiling for Windows using CMake |
153 |
===================== |
================================= |
154 |
|
The easiest way is to compile is to use vcpkg (https://github.com/Microsoft/vcpkg) |
155 |
|
to install libsndfile (required) and cppunit (optional). In the vcpkg install dir |
156 |
|
type: |
157 |
|
.\vcpkg.exe install libsndfile cppunit [--triplet x64-windows] |
158 |
|
|
159 |
|
This should install the libraries in vcpkg, add the triplet option if you wish to |
160 |
|
get the 64bit libraries. |
161 |
|
|
162 |
|
In an empty directory type: |
163 |
|
cmake <libgig source dir> -DCMAKE_TOOLCHAIN_FILE=<vcpkg dir>\scripts\buildsystems\vcpkg.cmake |
164 |
|
[-G"Visual Studio 15 2017 Win64"] |
165 |
|
|
166 |
|
Use the -G option to select the visual studio version and whether to compile for |
167 |
|
64bits. |
168 |
|
|
169 |
|
This will create libgig.sln file which you can open in visual studio or you can use |
170 |
|
the following command line to compile: |
171 |
|
|
172 |
|
cmake --build . --config <Release|Debug|MinRelSize|RelWithDebInfo> |
173 |
|
|
174 |
|
Compiling for Windows using Dev-C++ |
175 |
|
=================================== |
176 |
|
|
177 |
libgig and its tools can be compiled for Windows using Bloodshed Dev-C++, |
libgig and its tools can also be compiled on Windows using Bloodshed Dev-C++, |
178 |
which is a free (GPL) C++ integrated development environment for Windows. |
which is a free (GPL) C++ integrated development environment for Windows. |
179 |
It is also possible to use MSYS from MinGW, which allows you to use |
It is also possible to use MSYS from MinGW, which allows you to use |
180 |
'./configure && make' like the linux builds. |
'./configure && make' like the linux builds. |