--- libgig/trunk/ChangeLog 2004/05/03 14:16:59 58 +++ libgig/trunk/ChangeLog 2007/06/01 19:19:28 1218 @@ -1,3 +1,308 @@ +Version CVS HEAD (?) + + * packaging changes: + - added Mac OSX XCode project files (patch by Toshi Nagata) + - Dev-C++ (win32) project file is automatically updated with + the version info from configure.in + + * src/DLS.cpp, src/DLS.h: + - added Sampler::AddSampleLoop() and Sampler::DeleteSampleLoop() methods + - fixed write support for big-endian systems + - improved handling of fixed length info strings - separate default + lengths can be specified for each INFO chunk + - added Resource::GenerateDLSID function + + * src/gig.cpp, src/gig.h: + - fixed segmentation fault in the gig::File destructor sequence which + happened when gig::Group informations were accessed before + - fixed write support for big-endian systems + - defined lengths of a fixed set of info strings. These strings + are saved when the file is written, even if they are empty. + - added missing parameter initalizations in sample, region and + instrument constructors + - clear unused fields when saving samples and regions + - fixed write support bugs: v3 dimension limits and chunksize + weren't saved, leverage controller of type controlchange + couldn't be saved, group name list chunk was placed wrong, + dimension region chunks also placed wrong + - added initialization of some fixed info strings in file and + instrument + - write support: files created by libgig will now have the RIFF + chunks in correct order + - write support: two previously unknown fields in dimension + definition are now saved + - added constants for gig file versions + - write support: the 3crc and einf chunks are now created or + updated when a file is saved (3crc contains sample checksums, + einf contains file statistics) + - write support: DLSID is now generated on the file and the + instruments + - write support: improved the default values for dimension region + parameters + + * src/RIFF.cpp, src/RIFF.h: + - added File::SetByteOrder method + +Version 3.1.1 (24 Mar 2007) + + * packaging changes: + - ported to Windows using native Windows functions for file IO + (provided Dev-C++ + mingw project file) + - only export relevant files to Doxygen API documentation + + * src/gig.cpp, src/gig.h: + - custom velocity splits now works for gig v3 files too + - added support for custom splits points for other dimensions than + velocity (gig v3 feature) + - added "smart midi" and "round robin keyboard" dimensions + - added new method File::DeleteGroupOnly() which only deletes the given + group but moves all its members to another group, the other method, + that is File::DeleteGroup() now removes not just the group, but also + all the samples that belong to that group + - fixed crash which occured on interfering File::DeleteSample() and + File::GetNextSample() calls (due to iterator invalidation) + - fixed group names which were not saved + - fixed group destructor which did not remove the RIFF chunk associated + with the group + - added Instrument::MoveRegion method + - fixed constructor for Region, which did not initialize correctly + when used from Instrument::AddRegion + - when saving, override the gig::Regions sample reference simply by + the region's first dimension region's sample (avoids an exception + when trying to save a new instrument) + - fixed AddDimension() method which did not fill out all mandatory + dimension definition fields + + * src/DLS.cpp, src/DLS.h: + - added Instrument::MoveRegion method + - fixed software info field which was wrongly stored on instruments, + causing an exception when trying to save a new instrument + + * src/RIFF.cpp, src/RIFF.h: + - fixed RIFF::Chunk destructor which did not unregister previously + resized chunks, leading to a "zero size chunk" exception when + File::Save() was called + - added List::MoveSubChunk method + +Version 3.1.0 (24 Nov 2006) + + * packaging changes: + - changed deprecated copyright attribute to license; + added ldconfig to post-(un)install steps on libgig.spec (RPM) + + * src/gig.cpp, src/gig.h: + - added support for more than one set of custom velocity splits + inside a region (for example different velocity split levels for + pedal up and pedal down) + - sample loop parameters are now taken from the DimensionRegion + instead of the wave chunk + - keyswitching dimension is changed from split type "normal" to + "bit" + - real support for 24 bit samples - samples are not truncated to + 16 bits anymore + - support for reading of ".art" files. (Merging of .art and .gig + files are not implemented yet.) + - several fixes for the write support + - support for sample groups added + + * src/DLS.cpp, src/DLS.h: + - support for reading of ".art" files + - removed incorrect use of memccpy in the write support (patch by + Jeremy Kerr) + - several fixes for the write support + + * src/gigextract.cpp: + - real support for 24 bit samples + + * src/gigdump.cpp: + - print global file informations + - print sample groups + + * general changes: + - added CPPUnit test cases (at the moment primarily for automatic check + of Gigasampler write support) + +Version 3.0.0 (28 Apr 2006) + + * general changes: + - added write support (that is for creating and modifying RIFF, DLS and + gig files) + - loading DLS and gig files is now much more permissive, DLS and gig + files are now loaded even if mandatory RIFF chunks are missing + - fixed some memory management errors, one of them was causing a + crash when a multi-file gig was deallocated + + * src/gig.cpp, src/gig.h: + - fixed the GetVelocityCutoff function, it wasn't always using the + VCFVelocityScale parameter when no cutoff controller was defined + - support for the gig v3 feature to have a number of dimension + splits not equal to a power of two + - added write support (highly experimental) + + * src/DLS.cpp, src/DLS.h: + - fixed loading of Articulation Connections ( list chunks were + seeked instead of ordinary data chunks) + - added write support (highly experimental) + + * src/RIFF.cpp, src/RIFF.h: + - added write support + - Chunk::LoadChunkData() can now be called again to resize the buffer + after a Chunk::Resize() and before the File::Save() call to allow + placing the new data in the chunk's write buffer and perform the + resize and write operations in one rush + + * src/gigdump.cpp: + - fixed to show the correct amount of dimension regions instead of 32 + (patch by James Wylder) + + * src/dlsdump.cpp: + - show for every region the name of the referenced sample + - show file name in quotation marks + +Version 2.0.2 (15 Aug 2005) + + * packaging changes: + - require automake (>= 1.5) for 'make -f Makefile.cvs' + (mandatory for 'dist-bzip2' automake option) + + * src/gig.cpp, src/gig.h: + - support for gig v3 multi-file format (.gig, .gx01, .gx02, ...), + the extension files are read automatically when the samples are + loaded + - fixed the 24 bit decompression, the result should now be exact + instead of an approximation + - added VCFCutoffControllerInvert parameter and GetVelocityCutoff + function to DimensionRegion + + * src/DLS.cpp, src/DLS.h: + - the upper bits of the pool table indices are read (used as + extension file numbers for gig v3) + + * src/RIFF.cpp, src/RIFF.h: + - the file name is remembered in the RIFF::File object + +Version 2.0.1 (12 Jun 2005) + + * packaging changes: + - include debian/ directory on 'make dist' + - create a bzip2 tarball on 'make dist' + + * src/gigextract.cpp: + - show also version of libsndfile or build version of libaudiofile when + using the -v switch + - fixed mutual link dependency to libsndfile / libaudiofile + + * src/gig.cpp, src/gig.h: + - added DimensionRegion::GetVelocityRelease function + +Version 2.0.0 (9 May 2005) + + * packaging changes: + - fixed conditional linkage of either libsndfile or libaudiofile + (if none of the two exist, configure script will abort) + - man pages are now auto generated with the correct libgig version + + * src/gig.cpp, src/gig.h: + - experimental support for Gigasampler v3 format; + 64 bit file offsets are truncated to 32 bit, 24 bit samples are + truncated to 16 bit, up to 8 dimensions are read, additional + articulation informations are ignored at the moment + (patch by Andreas Persson) + - added some file format compatibility checks + - fixed vcf_type_lowpassturbo value (vcf_type_lowpassturbo was actually + never used, because the necessary check was made before + initialization) + - fixed crossfade points order (structure for big endian and little + endian systems was interchanged) + - fixed some memory leaks (patch by 'Gene', a.k.a Anders Alm) + - fixed crash which occured when patches did not have a sample assigned + to their region or dimension region (patch by Andreas Persson) + - support for compressed mono samples + - experimental support for compressed 24 bit samples + - fixed decompression on big-endian CPUs + - fixed decompression bug that truncated the last block of samples + - external decompression buffers can now be used for streaming samples + to avoid race conditions in case of multiple streaming threads + - added pre-calculated sample attenuation parameter + - added v3 "random" and "round robin" dimensions + - implemented progress indicator callback mechanism for loading + instruments and samples + - added functions libraryName() and libraryVersion() + + * src/DLS.cpp, src/DLS.h: + - fixed File constructor which caused variable File::Instruments always + to be zero + - added functions libraryName() and libraryVersion() + + * src/RIFF.cpp, src/RIFF.h: + - fixed method List::LoadSubChunks() which did not restore the original + position within the body of the given list chunk + - added functions libraryName() and libraryVersion() + + * src/rifftree.cpp: + - added command line switch -v to show rifftree's revision and the used + libgig version + + * src/dlsdump.cpp: + - added command line switch -v to show dlsdump's revision and the used + libgig version + + * src/gigdump.cpp: + - added output of UnityNote, FineTune, Gain, SampleStartOffset an + LoopPlayCount + - added command line switch -v to show gigdump's revision and the used + libgig version + + * src/gigextract.cpp: + - support for compressed mono samples and compressed 24 bit samples + - added command line switch -v to show gigextract's revision and the + used libgig version + +Version 1.0.0 (26 Nov 2004) + + * packaging changes: + - renamed 'libgig.pc.in' -> 'gig.pc.in' and renamed pkg-config lib name + 'libgig' -> 'gig' as it's common practice to omit the 'lib' prefix + - fixed man pages automake install rule (which didn't work on Mandrake, + SuSE and Fedora) + - fixed generation of Doxygen API documentation (now also included in + RPM and Debian packages) + + * src/gig.cpp, src/gig.h: + - fixed / improved accuracy of all three velocity to volume + transformation functions a.k.a. 'nonlinear','linear','special' + (patch by Andreas Persson) + - denormals are filtered from the velocity to volume tables + - bugfix for dimension region switching (wrong handling of the release + trigger dimension, no bit range check for dimensions of split type + 'split_type_bit') + - fixed panorama value in DimensionRegion (invalid conversion from + signed 7 bit to signed 8 bit) + - added class attribute 'Layers' to class 'gig::Region' + - symbol prototyping of gig::Region (fixes build failure with qsampler) + + * src/gigextract.cpp: + - added support for libsndfile (if libaudiofile and libsndfile are + available then libsndfile is preferred) + + * src/gigdump.cpp: + - added printout for dimension informations (amount, type, bits, zones) + - added printout for velocity response curve parameters + - added printout for crossfade definitions + - added printout for panorama value for each DimensionRegion + - replaced printout of DLS Region layer by printout of amount of + Gigasampler layers + +Version 0.7.1 (2 Jul 2004) + + * packaging changes: + - added libgig.spec and libgig.pc package configurations for generating + Redhat packages + - header files included on installation. + - autotools-generated files removed from CVS repository. + - added support for generating Debian packages + - version of shared library can be set in configure.in + Version 0.7.0 (3 May 2004) * general changes: @@ -47,7 +352,6 @@ * src/gigdump.cpp: - added printout of samples' looping informations - Version 0.6.0 (3 Nov 2003) * initial release