--- libgig/trunk/ChangeLog 2016/09/20 22:13:37 2985 +++ libgig/trunk/ChangeLog 2017/07/29 09:57:08 3333 @@ -2,6 +2,14 @@ * 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 @@ -17,10 +25,33 @@ - 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()). + - Exception class now has a variadic constructor which allows to add + textual format specifiers like with printf(). + - On unknown leverage controller exception: show precise unknown leverage + controller number found. + - Ignore invalid leverage controller types and just show a warning on the + console instead of throwing an exception. + - Added new struct eg_opt_t and new class member variable + DimensionRegion::EG1Options and DimensionRegion::EG2Options as an + extension to the gig file format, which allows to override the default + behavior of the first two EGs' state machines. * src/DLS.cpp, src/DLS.h: - Sample: wave pool offsets are now 64 bits (to allow support for files larger than 4 GB). + - Exception class now has a variadic constructor which allows to add + textual format specifiers like with printf(). * src/RIFF.cpp, src/RIFF.h: - added support for RIFF files larger than 4 GB, by default the required @@ -30,6 +61,35 @@ 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 + - Exception class now has a variadic constructor which allows to add + textual format specifiers like with printf(). + + * 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. + - Exception class now has a variadic constructor which allows to add + textual format specifiers like with printf(). + - DataType fix: Retain backward compatiblity to older versions of native + C++ classes/strcts. * src/tools/akaidump.cpp, src/tools/akaiextract.cpp: - improved output of non-ascii characters in usage messages @@ -50,11 +110,17 @@ 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 + - Print the new EG behavior options (eg_opt_t). * 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.