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

Diff of /libgig/trunk/README

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2490 by schoenebeck, Tue Dec 31 12:56:28 2013 UTC revision 3476 by schoenebeck, Wed Feb 20 19:12:49 2019 UTC
# Line 5  Home Line 5  Home
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.
# Line 15  Content Line 15  Content
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
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:    Beside the actual library there are following example applications:
41    
# Line 23  Content Line 43  Content
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.      gigmerge:    Merges several .gig files to one .gig file.
45      gig2mono:    Converts .gig files from stereo to mono.      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
# Line 120  Compiling for Linux Line 149  Compiling for Linux
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    libgig and its tools can be compiled for Windows using Bloodshed Dev-C++,  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 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.
# Line 193  Test Cases Line 244  Test Cases
244    
245  License  License
246  =======  =======
247    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).
248    
249      libakai and its tools are released under the GNU Lesser General Public (LGPL).
250      Due to its different license model the Akai support part is built as separate
251      DLL (.so) file.
252    
253  API Documentation  API Documentation
254  =================  =================
# Line 213  Bugs Line 268  Bugs
268    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),
269    especially in case you are running on an odd system.    especially in case you are running on an odd system.
270    
271    Trademarks
272    ==========
273      Tascam, Gigasampler, GigaStudio, KORG, Trinity, Triton, OASYS, M3, Kronos
274      and Akai are trademarks of their respective owners.
275    
276  Credits  Credits
277  =======  =======
278    The initial library was based on the reverse engineering effort of    The initial library (Gigasampler part) was based on the reverse engineering
279    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
280    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
281    ChangeLog for all those who contributed. Thanks to all of you for your    ChangeLog for all those who contributed.
282    great work!  
283      Akai support files are a ported version of Sébastien Métrot's libakai. The
284      original libakai only supported Mac and Windows. This forked version of
285      libakai now also supports Linux and other POSIX compliant operating systems
286      as well and does not have a dependency to libngl as the original libakai had.
287    
288      The SoundFont 2 file format C++ classes were written by Grigor Iliev.
289    
290      Thanks to all of you for your great work!
291    
292   Christian Schoenebeck <cuse@users.sourceforge.net>   Christian Schoenebeck <cuse@users.sourceforge.net>

Legend:
Removed from v.2490  
changed lines
  Added in v.3476

  ViewVC Help
Powered by ViewVC