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

Diff of /libgig/trunk/ChangeLog

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

revision 383 by schoenebeck, Mon Feb 14 18:22:42 2005 UTC revision 2155 by persson, Thu Jan 6 11:33:40 2011 UTC
# Line 1  Line 1 
1  Version CVS HEAD (?)  Version CVS HEAD (?)
2      * general changes:
3        - minor Makefile fix for parallel make
4    
5      * SoundFont file format
6        - initial implementation
7        - changed region lookup API to avoid malloc in RT threads
8    
9      * src/gig.cpp:
10        - bugfix: VCF velocity dynamic range and VCF velocity curve
11          weren't saved correctly
12    
13      * src/RIFF.cpp, src/RIFF.h:
14        - bugfix: avoid calling read() with count 0 when writing a file,
15          as this may hang on some systems
16        - fixed memory leak and memory handling errors when file loading
17          fails
18    
19    Version 3.3.0 (30 Jul 2009)
20    
21      * general changes:
22        - fixed compilation with gcc 4.3
23        - fixes for building with Visual C++
24        - minor fix in configure for building DLL on Windows
25    
26      * src/gig.cpp, src/gig.h:
27        - added partial support for MIDI rules, only the Controller
28          Triggered rule is supported so far
29        - bugfix: removed another iterator invalidation in DeleteSample
30        - bugfix in Sample::LoadSampleData*(): reset sample read position to
31          sample start before trying to (re)load sample data from file (#82)
32        - bugfix: EG3 depth parameter was not saved correctly
33        - fixed crash which occured when streaming a gig sample with
34          bi-directional (a.k.a. 'pingpong') loop type (fixes #102)
35    
36      * src/RIFF.cpp, src/RIFF.h:
37        - bugfix: saving to the same file after the file size had been
38          increased made the file corrupt (#82)
39        - bugfix: refuse Chunk::Read() in case chunk has just been added, that
40          is not written physically yet (#82)
41        - bugfix: saving to the same file after the file size had been
42          decreased sometimes also made the file corrupt!
43        - bugfix: undefined behavior (e.g. endless loop) when opening zero
44          length files, now throws a RIFF::Exception instead (fixes bug #121)
45        - bugfix: destructor for base class RIFF::Chunk accessed members
46          of derived class RIFF::File, which is bad, and caused crashes
47          when using Visual C++
48        - bugfix: files that contain zero length RIFF lists were not read
49          correctly (fixes #127) (bug was introduced 2009-03-13)
50    
51    Version 3.2.1 (5 Dec 2007)
52    
53      * src/RIFF.cpp, src/RIFF.h:
54        - avoid Windows to perform unnecessary file stream caching which would
55          decrease disk streaming performance on Windows systems otherwise
56    
57      * src/gig.cpp, src/gig.h:
58        - added File::SetAutoLoad() and File::GetAutoLoad() for allowing
59          applications to retrieve very superficial informations like amount of
60          instruments and their names in a very fast way
61    
62    Version 3.2.0 (14 Oct 2007)
63    
64      * packaging changes:
65        - added Mac OSX XCode project files (patch by Toshi Nagata)
66        - Dev-C++ (win32) project file is automatically updated with
67          the version info from configure.in
68        - the configure script can now be used in Windows with MSYS
69        - added a mainpage for the Doxygen API documentation
70    
71      * src/DLS.cpp, src/DLS.h:
72        - added Sampler::AddSampleLoop() and Sampler::DeleteSampleLoop() methods
73        - fixed write support for big-endian systems
74        - improved handling of fixed length info strings - separate default
75          lengths can be specified for each INFO chunk
76        - added Resource::GenerateDLSID function
77        - write support fix: allow regions without mapped samples
78        - added method SetKeyRange() to the Region class which should be used
79          instead of setting the KeyRange member variable directly
80        - MoveRegion() method of Region class is now private
81        - added SetGain() method to Sampler class
82        - fixed crash when saving a file after a sample loop was added
83    
84      * src/gig.cpp, src/gig.h:
85        - fixed segmentation fault in the gig::File destructor sequence which
86          happened when gig::Group informations were accessed before
87        - fixed write support for big-endian systems
88        - defined lengths of a fixed set of info strings. These strings
89          are saved when the file is written, even if they are empty.
90        - added missing parameter initalizations in sample, region and
91          instrument constructors
92        - clear unused fields when saving samples and regions
93        - fixed write support bugs: v3 dimension limits and chunksize
94          weren't saved, leverage controller of type controlchange
95          couldn't be saved, group name list chunk was placed wrong,
96          dimension region chunks also placed wrong
97        - added initialization of some fixed info strings in file and
98          instrument
99        - write support: files created by libgig will now have the RIFF
100          chunks in correct order
101        - write support: two previously unknown fields in dimension
102          definition are now saved
103        - added constants for gig file versions
104        - write support: the 3crc and einf chunks are now created or
105          updated when a file is saved (3crc contains sample checksums,
106          einf contains file statistics)
107        - write support: DLSID is now generated on the file and the
108          instruments
109        - write support: improved the default values for dimension region
110          parameters
111        - more write support fixes: crossfade parameters were not saved,
112          v3 dimension limits were not correctly initialized and saved
113          when dimensions were added or deleted, v3 wave pool offsets were
114          not saved correctly
115        - write support: 24 bit samples can now be written
116        - write support: version 3 is now the default for new files
117        - more write support fixes: the 3ewg chunk is now bigger for v3,
118          dimension regions without mapped samples are now allowed, 3gnl
119          list in v3 files now always has 128 entries, several parameters
120          where incorrectly saved due to an operator precedence mistake
121        - DeleteSample now removes all references to the deleted sample
122        - AddDimension now copies all parameters from existing dimension
123          regions and also makes sure that the samplechannel dimension is
124          placed first in the list of dimensions.
125        - added method GetParent() to class 'DimensionRegion', which returns its
126          parent Region
127        - fixed Instrument::UpdateRegionKeyTable() method which did not reset
128          unused areas
129        - added various setter methods to DimensionRegion class which take care
130          of updating lookup tables / caches.
131    
132      * src/RIFF.cpp, src/RIFF.h:
133        - added File::SetByteOrder method
134        - Windows fix: saving a new file didn't work
135    
136      * src/gigdump.cpp:
137        - added some missing dimension strings
138    
139    Version 3.1.1 (24 Mar 2007)
140    
141      * packaging changes:
142        - ported to Windows using native Windows functions for file IO
143          (provided Dev-C++ + mingw project file)
144        - only export relevant files to Doxygen API documentation
145    
146      * src/gig.cpp, src/gig.h:
147        - custom velocity splits now works for gig v3 files too
148        - added support for custom splits points for other dimensions than
149          velocity (gig v3 feature)
150        - added "smart midi" and "round robin keyboard" dimensions
151        - added new method File::DeleteGroupOnly() which only deletes the given
152          group but moves all its members to another group, the other method,
153          that is File::DeleteGroup() now removes not just the group, but also
154          all the samples that belong to that group
155        - fixed crash which occured on interfering File::DeleteSample() and
156          File::GetNextSample() calls (due to iterator invalidation)
157        - fixed group names which were not saved
158        - fixed group destructor which did not remove the RIFF chunk associated
159          with the group
160        - added Instrument::MoveRegion method
161        - fixed constructor for Region, which did not initialize correctly
162          when used from Instrument::AddRegion
163        - when saving, override the gig::Regions sample reference simply by
164          the region's first dimension region's sample (avoids an exception
165          when trying to save a new instrument)
166        - fixed AddDimension() method which did not fill out all mandatory
167          dimension definition fields
168    
169      * src/DLS.cpp, src/DLS.h:
170        - added Instrument::MoveRegion method
171        - fixed software info field which was wrongly stored on instruments,
172          causing an exception when trying to save a new instrument
173    
174      * src/RIFF.cpp, src/RIFF.h:
175        - fixed RIFF::Chunk destructor which did not unregister previously
176          resized chunks, leading to a "zero size chunk" exception when
177          File::Save() was called
178        - added List::MoveSubChunk method
179    
180    Version 3.1.0 (24 Nov 2006)
181    
182      * packaging changes:
183        - changed deprecated copyright attribute to license;
184          added ldconfig to post-(un)install steps on libgig.spec (RPM)
185    
186      * src/gig.cpp, src/gig.h:
187        - added support for more than one set of custom velocity splits
188          inside a region (for example different velocity split levels for
189          pedal up and pedal down)
190        - sample loop parameters are now taken from the DimensionRegion
191          instead of the wave chunk
192        - keyswitching dimension is changed from split type "normal" to
193          "bit"
194        - real support for 24 bit samples - samples are not truncated to
195          16 bits anymore
196        - support for reading of ".art" files. (Merging of .art and .gig
197          files are not implemented yet.)
198        - several fixes for the write support
199        - support for sample groups added
200    
201      * src/DLS.cpp, src/DLS.h:
202        - support for reading of ".art" files
203        - removed incorrect use of memccpy in the write support (patch by
204          Jeremy Kerr)
205        - several fixes for the write support
206    
207      * src/gigextract.cpp:
208        - real support for 24 bit samples
209    
210      * src/gigdump.cpp:
211        - print global file informations
212        - print sample groups
213    
214      * general changes:
215        - added CPPUnit test cases (at the moment primarily for automatic check
216          of Gigasampler write support)
217    
218    Version 3.0.0 (28 Apr 2006)
219    
220      * general changes:
221        - added write support (that is for creating and modifying RIFF, DLS and
222          gig files)
223        - loading DLS and gig files is now much more permissive, DLS and gig
224          files are now loaded even if mandatory RIFF chunks are missing
225        - fixed some memory management errors, one of them was causing a
226          crash when a multi-file gig was deallocated
227    
228      * src/gig.cpp, src/gig.h:
229        - fixed the GetVelocityCutoff function, it wasn't always using the
230          VCFVelocityScale parameter when no cutoff controller was defined
231        - support for the gig v3 feature to have a number of dimension
232          splits not equal to a power of two
233        - added write support (highly experimental)
234    
235      * src/DLS.cpp, src/DLS.h:
236        - fixed loading of Articulation Connections (<artl> list chunks were
237          seeked instead of ordinary <artl> data chunks)
238        - added write support (highly experimental)
239    
240      * src/RIFF.cpp, src/RIFF.h:
241        - added write support
242        - Chunk::LoadChunkData() can now be called again to resize the buffer
243          after a Chunk::Resize() and before the File::Save() call to allow
244          placing the new data in the chunk's write buffer and perform the
245          resize and write operations in one rush
246    
247      * src/gigdump.cpp:
248        - fixed to show the correct amount of dimension regions instead of 32
249          (patch by James Wylder)
250    
251      * src/dlsdump.cpp:
252        - show for every region the name of the referenced sample
253        - show file name in quotation marks
254    
255    Version 2.0.2 (15 Aug 2005)
256    
257      * packaging changes:
258        - require automake (>= 1.5) for 'make -f Makefile.cvs'
259          (mandatory for 'dist-bzip2' automake option)
260    
261      * src/gig.cpp, src/gig.h:
262        - support for gig v3 multi-file format (.gig, .gx01, .gx02, ...),
263          the extension files are read automatically when the samples are
264          loaded
265        - fixed the 24 bit decompression, the result should now be exact
266          instead of an approximation
267        - added VCFCutoffControllerInvert parameter and GetVelocityCutoff
268          function to DimensionRegion
269    
270      * src/DLS.cpp, src/DLS.h:
271        - the upper bits of the pool table indices are read (used as
272          extension file numbers for gig v3)
273    
274      * src/RIFF.cpp, src/RIFF.h:
275        - the file name is remembered in the RIFF::File object
276    
277    Version 2.0.1 (12 Jun 2005)
278    
279      * packaging changes:
280        - include debian/ directory on 'make dist'
281        - create a bzip2 tarball on 'make dist'
282    
283      * src/gigextract.cpp:
284        - show also version of libsndfile or build version of libaudiofile when
285          using the -v switch
286        - fixed mutual link dependency to libsndfile / libaudiofile
287    
288      * src/gig.cpp, src/gig.h:
289        - added DimensionRegion::GetVelocityRelease function
290    
291    Version 2.0.0 (9 May 2005)
292    
293    * packaging changes:    * packaging changes:
294      - fixed conditional linkage of either libsndfile or libaudiofile      - fixed conditional linkage of either libsndfile or libaudiofile
295        (if none of the two exist, configure script will abort)        (if none of the two exist, configure script will abort)
296        - man pages are now auto generated with the correct libgig version
297    
298    * src/gig.cpp, src/gig.h:    * src/gig.cpp, src/gig.h:
299      - experimental support for Gigasampler v3 format;      - experimental support for Gigasampler v3 format;
# Line 23  Version CVS HEAD (?) Line 314  Version CVS HEAD (?)
314      - experimental support for compressed 24 bit samples      - experimental support for compressed 24 bit samples
315      - fixed decompression on big-endian CPUs      - fixed decompression on big-endian CPUs
316      - fixed decompression bug that truncated the last block of samples      - fixed decompression bug that truncated the last block of samples
317        - external decompression buffers can now be used for streaming samples
318          to avoid race conditions in case of multiple streaming threads
319        - added pre-calculated sample attenuation parameter
320        - added v3 "random" and "round robin" dimensions
321        - implemented progress indicator callback mechanism for loading
322          instruments and samples
323        - added functions libraryName() and libraryVersion()
324    
325      * src/DLS.cpp, src/DLS.h:
326        - fixed File constructor which caused variable File::Instruments always
327          to be zero
328        - added functions libraryName() and libraryVersion()
329    
330      * src/RIFF.cpp, src/RIFF.h:
331        - fixed method List::LoadSubChunks() which did not restore the original
332          position within the body of the given list chunk
333        - added functions libraryName() and libraryVersion()
334    
335      * src/rifftree.cpp:
336        - added command line switch -v to show rifftree's revision and the used
337          libgig version
338    
339      * src/dlsdump.cpp:
340        - added command line switch -v to show dlsdump's revision and the used
341          libgig version
342    
343    * src/gigdump.cpp:    * src/gigdump.cpp:
344      - added output of UnityNote and FineTune      - added output of UnityNote, FineTune, Gain, SampleStartOffset an
345          LoopPlayCount
346        - added command line switch -v to show gigdump's revision and the used
347          libgig version
348    
349    * src/gigextract.cpp:    * src/gigextract.cpp:
350      - support for compressed mono samples and compressed 24 bit samples      - support for compressed mono samples and compressed 24 bit samples
351        - added command line switch -v to show gigextract's revision and the
352          used libgig version
353    
354  Version 1.0.0 (26 Nov 2004)  Version 1.0.0 (26 Nov 2004)
355    

Legend:
Removed from v.383  
changed lines
  Added in v.2155

  ViewVC Help
Powered by ViewVC