--- libgig/trunk/ChangeLog 2014/05/21 20:33:45 2571 +++ libgig/trunk/ChangeLog 2016/05/21 08:54:32 2923 @@ -1,4 +1,50 @@ -Version CVS HEAD (?) +Version SVN trunk + * general changes: + - removed 2 GB limitation when loading a gig or DLS file + - using now native integer size where appropriate + + * src/gig.cpp, src/gig.h: + - fixed bug in Script::SetGroup: the script chunk wasn't moved + - fixed compilation error with clang 3.4 + - GIG FORMAT EXTENSION: added support for saving gig file larger than 4 GB + as one single monolithic gig file. In case .gig file is >= 2GB expect a + large monolithic file, otherwise if .gig file is < 2 GB check for + "extension" files (.gx01, .gx02, ...) instead. + - fixed Region::UpdateUpdateVelocityTable() which did not work correctly + if there were dimensions after the velocity dimension: it only created + valid velocity tables for cases of dimensions lower than the velocity + dimension. + + * src/DLS.cpp, src/DLS.h: + - Sample: wave pool offsets are now 64 bits (to allow support for files + larger than 4 GB). + + * src/RIFF.cpp, src/RIFF.h: + - added support for RIFF files larger than 4 GB, by default the required + internal RIFF file offset size is automatically detected (that is RIFF + files < 4 GB automatically use 32 bit offsets while files >= 4 GB + automatically use 64 bit offsets), a particular offset size can be forced + with a new option added to the RIFF File constructor though + - when saving a modified, grown RIFF file, the temporary file size during + Save() operation will no longer be larger than the final grown file size + + * src/tools/akaidump.cpp, src/tools/akaiextract.cpp: + - improved output of non-ascii characters in usage messages + - fixed printf format strings + + * src/tools/korg2gig.cpp: + - fixed c++11 narrowing warnings + - fixed fine tuning which was not translated at all + + * src/tools/gigdump.cpp: + - additionally print VelocityUpperLimit and DimensionUpperLimits of all + dimension regions + + * packaging changes: + - Automake: set environment variable GCC_COLORS=auto to allow GCC to + auto detect whether it (sh/c)ould output its messages in color. + +Version 4.0.0 (14 Jul 2015) * general changes: - minor Makefile fix for parallel make - Mac OS X: link with CoreFoundation (for the UUID function) @@ -12,6 +58,15 @@ - added new command line tool "korgdump" (and a man page for it) - added new command line tool "korg2gig" (and a man page for it) - moved source files of command line tools to new subdir src/tools + - libgig.so and libakai.so files are now installed under + $(prefix)/lib/libgig/ by default. + - Header files are now installed under $(prefix)/include/libgig/ by default. + - Fixed various packaging issues regarding installation directories + (fixes #218). + - added new command line tool "gig2stereo" (and a man page for it) + - unit tests: fixed wrong return value when test suite app exits + (patch by Ryan Schmidt) + - added new command line tool "sf2extract" (and a man page for it) * SoundFont file format: - initial implementation @@ -23,6 +78,17 @@ - initial support for sample based instruments in KORG's file format (.KMP and .KSF files) + * AKAI file format: + - Added Linux/POSIX ported version of libakai. Note that libakai is released + under LGPL terms while libgig is released under GPL terms. To handle this + license difference appropriately the AKAI support part is built as + separate DLL (.so file). + - Fixed Mac OSX support so that the Akai lib files and tools compile without + any exotic third party libraries. + - Fixed various compilation errors for Windows. + - POSIX fix: open() requires third (mode) argument if used with O_CREAT + (fixes #219). + * src/gig.cpp: - bugfix: VCF velocity dynamic range and VCF velocity curve weren't saved correctly @@ -47,6 +113,16 @@ - Fixed crash caused by Region::GetDimensionRegionByValue() that happened with certain velocity split sounds under certain conditions (added bound constraints to prevent that) + - GIG FORMAT EXTENSION: added support for real-time instrument scripts. + - added new method Region::GetDimensionRegionIndexByValue() + - added new method Script::GetGroup() + - added new method Region::SetDimensionType() + - Added support for custom progress notification while saving to gig file. + - Bugfix: Adding a new region in between two existing regions caused the + new one being dropped after save operation and the gig file being tainted + (chunks at wrong location in the RIFF tree). + - Added new method Instrument::MoveTo() which allows to rearrange the order + of instruments within the same gig file. * src/DLS.cpp, src/DLS.h: - added new method File::GetFileName() @@ -55,6 +131,13 @@ - added new method File::SetFileName() allowing to call File::Save() later on without passing a file name - added inline helper methods overlaps() for struct range_t + - Added support for custom progress notification while saving to DLS file. + - Bugfix: Adding a new region in between two existing regions caused the + new one being dropped after save operation and the gig file being tainted + (chunks at wrong location in the RIFF tree). + + * src/SF.cpp, src/SF.h: + - added new method Sample::ReadNoClear() * src/RIFF.cpp, src/RIFF.h: - bugfix: avoid calling read() with count 0 when writing a file, @@ -69,6 +152,15 @@ than "real" RIFF files (used for KORG format support) - added new method Chunk::GetFile() - added new method Chunk::GetLayout() + - added 2nd, alternative method for List::MoveSubChunk(), the old 1st one + allows to move a subchunk within the current List, whereas the new 2nd + one allows to move the subchunk from the current list to another list + - POSIX: only assume -1 result value as error on open() calls + - POSIX: show operating system's error reason if opening a file failed + - Added support for custom progress notification while saving to RIFF file. + - Fixed embarrassing old bug: POSIX read() errors were never detected on + Chunk::Read() calls due to signment incompatible variable. + - Cleanup of an old DLL binary backward compatibility hack. * src/gigextract.cpp: - export sample loop, unity note and fine tune with libsndfile