--- libgig/trunk/ChangeLog 2005/02/14 18:22:42 383 +++ libgig/trunk/ChangeLog 2007/05/17 17:24:26 1195 @@ -1,8 +1,195 @@ 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 + + * 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 + + * 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; @@ -23,12 +210,42 @@ - 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 and FineTune + - 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)