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

Annotation of /libgig/trunk/NEWS

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3370 - (hide annotations) (download)
Sat Nov 25 01:19:10 2017 UTC (6 years, 5 months ago) by schoenebeck
File size: 9082 byte(s)
* Preparations for new release (libgig 4.1.0).

1 schoenebeck 3370 Version 4.1.0 (25 Nov 2017)
2    
3     This release adds support for files much larger than 2 GB for GigaStudio /
4     Gigasampler (.gig), DLS, as well as for RIFF files in general. This file size
5     limitation existed for a very long time due to the RIFF format's historical,
6     internal 32 bit file offsets. To circumvent this file size limitation the
7     concept of so called "extension files" was added in the past to the
8     GigaStudio format, which means that the GigaStudio instrument editor splitted
9     the respective overall instrument file into a set of files (.gig, .gx01,
10     .gx02, ...), each being max. 2 GB in size, and all of them were expected to be
11     located in the same directory for the sampler to load the entire large
12     instrument successfully. libgig always supported only reading such gig
13     extension files, however libgig never supported to create .gig files with
14     extension files, nor did it support modifying existing ones. In this release
15     it was necessary to finally get rid of this overall file size limitation in
16     libgig. Now when that concept of extension files was introduced years ago, it
17     made sense at that point, because there were still many systems out there
18     which still had no support for large files (on either OS or file system
19     level). However today even on low end mobile devices support for large files
20     is already a broad standard. Accordingly instead of adding write support for
21     extension files in libgig, the problem was addressed at its root by
22     transparently using appropriate, automatic file offset sizes. So when writing
23     .gig/DLS/RIFF files smaller than 2 GB there are still 32 bit file offsets
24     being used by libgig. Accordingly such files are still backward compatible
25     with older software. However if the overall file size to be written is 2 GB or
26     larger, then 64 bit file offsets are automatically used by libgig instead.
27     Note though that due to that circumstance such files >= 2 GB are not backward
28     compatible with older versions of libgig, nor could they be loaded with the
29     original GigaStudio software.
30    
31     Another major new feature in this libgig release is the entirely new
32     serialization API (Serialization.h) which provides a powerful and easy way
33     to serialize and deserialize an arbitrary set of native C++ objects into an
34     abstract data stream. Which means you can simply save the entire runtime state
35     of an application to a file or send it as data over "wire" (i.e. over network
36     or to another process) and restore that runtime state from that data there at
37     any time. In contrast to other C++ serialization frameworks out there, this
38     framework provides two major benefits:
39    
40     1. This serialization framework is designed to be very robust regarding
41     potential versioning changes of the native C++ classes being
42     (de)serialized. So even if the C++ classes have seen massive software
43     changes between the point where they were serialized and the point where
44     they are to be deserialized; for example if class member variables of
45     serialized C++ objects were renamed in meantime, or if variable offsets, or
46     variables' data types had been changed, then the deserialization algorithm
47     can still cope with such common software changes automatically in many
48     cases, that is as long as the deserialization algorithm can "guess" what
49     the changes were exactly. If the serialization framework is unable to
50     automatically detect the precise software changes, then it will abort the
51     deserialization task with an exception and an error message stating that
52     the software versions are incompatible.
53    
54     2. This serialization framework supports "partial" deserialization. That
55     means it not only allows to restore an entire runtime state, but it also
56     allows to only restore an arbitrary desired subset of information
57     from the previously serialized data stream, while leaving all other data
58     of the running C++ objects untouched. The serialization framework also
59     incorporates a reflection API which allows applications to implement
60     convenient editors on top of such serialized data, i.e. allowing end users
61     to pick or alter specific information within the serialized data.
62    
63     The new Serialization framework is already embedded into the gig classes of
64     libgig, and it is used as basis for the new powerful macro features in the
65     gigedit instrument editor application. Refer to the release notes of
66     gigedit 1.1.0 for more information about those new macro features in gigedit.
67    
68 schoenebeck 2785 Version 4.0.0 (14 Jul 2015)
69    
70     This major release of libgig adds support for other file formats:
71     SoundFont 2 (.sf2), KORG multi sample instruments (.KSF, .KMP) and AKAI
72     format sounds. The AKAI classes are a fork of S�bastien M�trot's libakai and
73     since it is released under a different license (LGPL) than libgig is (GPL),
74     the AKAI classes are built as separate DLL file. All other classes of those
75     new file formats are built and bundled with the existing libgig DLL. Thanks
76     to Grigor Iliev for his work on the SoundFont 2 classes! Please note that
77     there is currently no support for KORG's .PCG file format yet. That's because
78     this file format changes a lot and is not only dependent to the precise KORG
79     keyboard model, but also to the precise OS version on the same model. And
80     since basic conversion can also be done by just accessing the .KSF and .KMP
81     files (sample data, loop informations), the current classes should be
82     sufficient for many tasks. Adding support for KORG's .PCG files is not
83     planned at the moment.
84    
85     Various new command line tools have been added as well to dump, extract and
86     convert between all those file formats now. Each one of it has a man page,
87     so please refer to the respective man page of the individual command line
88     tool for details.
89    
90     The GigaStudio/Gigasampler classes received a load of fixes during the last
91     six years. And support for features introduced with the last official
92     GigaStudio 4 software (RIP) were added, for instance support for so called
93     "iMIDI Rules". Those rules allow i.e. to trigger notes by MIDI CC and to
94     define a sample set for legato playing style. In the meantime it seems as if
95     the GigaStudio software has seen its last version with GigaStudio 4, because
96     Tascam discontinued this product and the intellectual property of GigaStudio
97     had been sold several times between companies. It is currently not possible
98     to buy a new copy of GigaStudio anymore and we personally don't expect that
99     this situation will ever change.
100    
101     Does this also mean the end of new features for libgig? Not really! Actually
102     we already started to add new features to the GigaStudio/Gigasampler format
103     which never existed with the GigaStudio/Gigasampler software: The most
104     noteworthy new feature added by us is support for real-time instrument
105     scripts. These are little "programs" which you can bundle with your .gig
106     sounds to add a custom behavior to your sounds when playing them with i.e.
107     LinuxSampler. Find out more about this new major feature on:
108    
109     http://doc.linuxsampler.org/Instrument_Scripts/
110    
111     There are also some more minor extensions to the .gig format, for example
112     support for far more MIDI CC's than originally allowed by the GigaStudio
113     software. Obviously all those custom extensions will not work with any
114     version of the official GigaStudio software, those new features will only
115     work with a recent version of LinuxSampler and gigedit at the moment.
116    
117     Besides those major changes, a load of convenient methods have been added to
118     the existing libgig classes to reduce the overall effort working with all
119     those file formats with software applications based on libgig.
120    
121 schoenebeck 1953 Version 3.3.0 (30 Jul 2009)
122    
123     Partial support for MIDI rules, the rest are just bug fixes.
124    
125 schoenebeck 1549 Version 3.2.1 (5 Dec 2007)
126    
127     Just some minor performance optimizations.
128    
129 schoenebeck 1416 Version 3.2.0 (14 Oct 2007)
130 schoenebeck 1406
131 schoenebeck 1416 This release once again comes with a huge bunch of fixes regarding
132     Gigasampler write support. Instrument files created from scratch with
133     libgig can finally be loaded into the Gigasampler application as well.
134    
135 schoenebeck 1406 libgig's home has moved! From now on you can find it on:
136     http://www.linuxsampler.org/libgig/
137     Please update your links and bookmarks!
138    
139 schoenebeck 1116 Version 3.1.1 (24 Mar 2007)
140    
141     This is a bugfix release, fixing one important bug regarding gig v3
142     support (custom split points) and a lot of bugs regarding .gig write
143     support. And this is the first official release for the Windows platform.
144    
145 schoenebeck 933 Version 3.1.0 (24 Nov 2006)
146 schoenebeck 860
147     libgig's home has moved (slightly) from
148     http://stud.fh-heilbronn.de/~cschoene/projects/libgig/ to
149     http://stud.hs-heilbronn.de/~cschoene/projects/libgig/, please update your
150     links and bookmarks! This is due to the recent renaming of the University
151     of Heilbronn, which kindly hosts this and other projects.
152    
153 schoenebeck 854 Version 3.0.0 (28 Apr 2006)
154    
155     This is the first release which allows to create new and modify existing
156     .gig files. Beside that it also includes another bunch of bug fixes and
157     Gigasampler v3 support improvements.

  ViewVC Help
Powered by ViewVC