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

Diff of /libgig/trunk/README

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

revision 2785 by schoenebeck, Tue Jul 14 13:19:11 2015 UTC revision 3878 by schoenebeck, Sun May 9 10:37:39 2021 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    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:
# Line 29  Content Line 29  Content
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.
# Line 53  Content Line 61  Content
61    
62  Requirements  Requirements
63  ============  ============
64    POSIX systems (e.g. Linux, OS X):  
65      All systems
66      -----------
67    
68      Since libgig 4.3.0 you need at least a C++11 compliant compiler.
69    
70      POSIX systems (e.g. Linux, macOS):
71    ---------------------------------    ---------------------------------
72    
73    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 86  Requirements Line 100  Requirements
100    ------------------------    ------------------------
101    
102    libgig was written to compile for any operating system, using standard C    libgig was written to compile for any operating system, using standard C
103    library functions. However the latest versions of libgig lack a portable    library functions. However there are some OS dependent requirements:
104    implementation of one tiny method called RIFF::File::ResizeFile(). So you  
105    would either have to add native OS API calls for that particular method,    * Since libgig 3.0.0 an OS dependent implementation for a tiny method called
106    that is dependant to your OS, or you have to add a portable      RIFF::File::ResizeFile() is required. So you would either have to add
107    implementation. No matter which way you choose, please let us know! :)      native OS API calls for that particular method, that is dependant to your
108        OS, or you have to add a portable implementation. No matter which way you
109        choose, please let us know! :)
110    
111      * Since libgig 4.3.0 presence of some UUID generating function is required to
112        be provided by the underlying system. This was an optional feature in
113        previous versions of libgig for many years, its absence only meant that you
114        were unable to load gig files created/modified by libgig to be accepted by
115        Tascam's original GigaStudio studio software, did not mean any restriction
116        for being used with LinuxSampler though. This has changed in the meantime,
117        so this is now a hard build requirement, as you would potentially encounter
118        misbehaviours now even if you stay entirely in the Linux eco system if UUIDs
119        were missing in gig files.
120    
121  Compiling for Linux  Compiling for Linux
122  ===================  ===================
# Line 141  Compiling for Linux Line 167  Compiling for Linux
167    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
168    "/usr/src/<rpmdir>/RPMS/<arch>" directory.    "/usr/src/<rpmdir>/RPMS/<arch>" directory.
169    
170  Compiling for Windows  Compiling for Windows using CMake
171  =====================  =================================
172    The easiest way is to compile is to use vcpkg (https://github.com/Microsoft/vcpkg)
173    to install libsndfile (required) and cppunit (optional). In the vcpkg install dir
174    type:
175    .\vcpkg.exe install libsndfile cppunit [--triplet x64-windows]
176    
177    This should install the libraries in vcpkg, add the triplet option if you wish to
178    get the 64bit libraries.
179    
180    In an empty directory type:
181    cmake <libgig source dir> -DCMAKE_TOOLCHAIN_FILE=<vcpkg dir>\scripts\buildsystems\vcpkg.cmake
182    [-G"Visual Studio 15 2017 Win64"]
183    
184    Use the -G option to select the visual studio version and whether to compile for
185    64bits.
186    
187    This will create libgig.sln file which you can open in visual studio or you can use
188    the following command line to compile:
189    
190    cmake --build . --config <Release|Debug|MinRelSize|RelWithDebInfo>
191    
192    Compiling for Windows using Dev-C++
193    ===================================
194    
195    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++,
196    which is a free (GPL) C++ integrated development environment for Windows.    which is a free (GPL) C++ integrated development environment for Windows.
197    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
198    './configure && make' like the linux builds.    './configure && make' like the linux builds.

Legend:
Removed from v.2785  
changed lines
  Added in v.3878

  ViewVC Help
Powered by ViewVC