--- libgig/trunk/ChangeLog 2017/02/15 13:21:31 3112 +++ libgig/trunk/ChangeLog 2017/05/11 11:34:19 3175 @@ -4,6 +4,12 @@ - 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 @@ -23,6 +29,13 @@ - 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 (countEnum(), enumKey(), enumKeys(), enumValue()). * src/DLS.cpp, src/DLS.h: - Sample: wave pool offsets are now 64 bits (to allow support for files @@ -37,6 +50,27 @@ - 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)). + * src/tools/akaidump.cpp, src/tools/akaiextract.cpp: - improved output of non-ascii characters in usage messages - fixed printf format strings @@ -62,6 +96,10 @@ - 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.