--- libgig/trunk/ChangeLog 2015/01/12 23:22:29 2700 +++ libgig/trunk/ChangeLog 2017/05/17 15:42:58 3185 @@ -1,4 +1,112 @@ -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 + - fixed minor issues with man pages (patch by Debian maintainer) + - fixed various spelling mistakes (patch by Debian maintainer) + - Added new "Serialization" framework (and equally named namespace) + which allows to serialize and deserialize native C++ objects + in a portable, easy and flexible way. + - print compiler warning if no RTTI available + - Fixed potential crash in command line tools gig2stereo, korg2gig, + korgdump and sf2extract. + + * 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. + - added new method Sample::VerifyWaveData() which allows to check whether + a sample had been damaged for some reason + - Fix: samples' CRC checksums were damaged on file structure changes. + - Fix: samples' CRC checksums were misordered when a Sample was deleted. + - Added new method Sample::GetWaveDataCRC32Checksum(). + - Changed default value of EG2Release (filter release time) to 60s. + - Instruments' default pitch bend range is now +-2 semi tones. + - Fixed CRC checksums being wrong sometimes. + - Fix: method File::AddContentOf() did not clone script groups and scripts + of passed original file. + - Added support for serializing & deserializing DimensionRegion + objects (and crossfade_t and leverage_ctrl_t objects). + - Added enum reflection API functions for retrieving enum declaration type + information at runtime (enumCount(), enumKey(), enumKeys(), enumValue()). + + * 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/Serialization.cpp, src/Serialization.h: + - Archive: Added method isModified(). + - Archive: Added method setAutoValue(). + - Archive: Added method setIntValue(). + - Archive: Added method setRealValue(). + - Archive: Added method setBoolValue(). + - Archive: Added method setEnumValue(). + - Archive: Added method valueAsString(). + - Archive::rawData(): Automatically re-encode new raw data stream if + archive had been modified (i.e. by remove(), setAutoValue(), etc.). + - Object: Added method memberByUID(). + - Object: remove() method is now protected. + - Archive: Added method removeMember(). + - Archive: Added methods name() and setName(). + - Archive: Added methods comment() and setComment(). + - Archive: Added methods timeStampCreated(), timeStampModified(), + dateTimeCreated() and dateTimeModified(). + - Archive: Added methods valueAsInt(), valueAsReal() and valueAsBool(). + - DataType: Implemented demangling C++ type names (for methods + asLongDescr() and customTypeName(bool demangle=false)). + - Archive::setAutoValue(): Handle human readable boolean text + representations like "yes", "no", "true", "false" as expected. + + * 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 + - additionally print RIFF chunk file offset and RIFF chunk size of sample + data + - added and implemented new parameter "--verify" which allows to check + the raw wave form data integrity of all samples + - added and implemented new parameter "--rebuild-checksums" which allows + to recalculate the CRC32 checksum of all samples' raw wave data and + rebuilding the gig file's global checksum table (i.e. in case the + file's checksum table was damaged) + - print samples' CRC32 checksums + + * src/tools/gigextract.cpp: + - Fix: if sample name contains a path separator (slash or backslash) then + replace them by a minus sign to avoid file system issues. + + * src/tools/gig2stereo.cpp: + - Also merge mono sample pairs with non matching loop information if + argument --incompatible was given. + + * 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) @@ -18,6 +126,9 @@ - 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 @@ -87,6 +198,9 @@ 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, as this may hang on some systems @@ -108,6 +222,7 @@ - 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