--- libgig/trunk/ChangeLog 2020/05/19 14:55:48 3774 +++ libgig/trunk/ChangeLog 2021/06/15 11:00:50 3927 @@ -1,5 +1,51 @@ Version SVN trunk (?) + * src/gig.cpp, src/gig.h: + - Region::DeleteDimensionZone(): Fix clang sanatizer warning. + - Region::SplitDimensionZone(): Fix clang sanatizer warning. + - Sample: Fix unnecessary RAM consumption in case of 24 bit samples + (InternalDecompressionBuffer is no longer needed for 24 bit samples since + SVN r902 / libgig release 3.1.0). + - Use GetSubChunkAt() instead of GetFirstSubChunk() / GetNextSubChunk() in + entire gig.cpp file. + - Use GetSubListAt() instead of GetFirstSubList() / GetNextSubList() in + entire gig.cpp file. + - Added method Instrument::GetRegionAt(). + - Marked methods Instrument::GetFirstRegion() and + Instrument::GetNextRegion() as deprecated. + - Use GetRegionAt() instead of GetFirstRegion() / GetNextRegion() in entire + gig.cpp file. + + * src/SF.cpp, src/SF.h: + - File::DeleteInstrument(): Fix clang sanatizer warning. + + * src/DLS.cpp, src/DLS.h: + - Use GetSubChunkAt() instead of GetFirstSubChunk() / GetNextSubChunk() in + entire DLS.cpp file. + - Use GetSubListAt() instead of GetFirstSubList() / GetNextSubList() in + entire DLS.cpp file. + - Added method Instrument::GetRegionAt(). + - Marked methods Instrument::GetFirstRegion() and + Instrument::GetNextRegion() as deprecated. + - Use GetRegionAt() instead of GetFirstRegion() / GetNextRegion() in entire + DLS.cpp file. + + * src/RIFF.cpp, src/RIFF.h: + - Chunk::LoadChunkData(): Fix clang sanatizer warning. + - List::LoadSubChunks(): Fix potential garbage data access if reading a + RIFF chunk ID failed. + - Added methods File::IsIOPerThread() and File::SetIOPerThread(bool); the + latter allows to automatically use a separate file I/O stream state for + each thread. + - Added method List::GetSubChunkAt(). + - Added method List::GetSubListAt(). + - Marked methods List::GetFirstSubChunk(), List::GetNextSubChunk(), + List::GetFirstSubList() and List::GetNextSubList() as deprecated. + - Use GetSubListAt() instead of GetFirstSubList() / GetNextSubList() in + entire RIFF.cpp file. + +Version 4.3.0 (9 May 2021) + * general changes: - Require at least a C++11 compliant compiler. - Require some UUID generating function by underlying system. @@ -39,6 +85,10 @@ GetScriptPatchVariable(), SetScriptPatchVariable(), UnsetScriptPatchVariable(); stored persistently as new 'SCPV' RIFF chunk as child of our '3LS ' list chunk on Instrument level. + - Fixed undefined behaviour when modifying script slots on an instrument + that had been cloned and not been saved yet (e.g. unintended modification + of original instrument's script slots, and crash on Instrument destruction + due to double free of pScriptRefs). * src/Serialization.cpp, src/Serialization.h: - Fixed broken Archive(RawData) constructor which always threw an @@ -50,6 +100,19 @@ - Added new method Archive::operation() which allows applications to distinguish between serialization vs. deserialization in their serialize() method implementations. + - Added built-in support for C++ Array<> objects (a.k.a. std::vector from + the STL). + - Member offsets are now signed and for (newly added support of) member + variables on the heap -1 is always used as offset instead. + - Added built-in support for C++ Set<> objects (a.k.a. std::set from the + STL). + - DataType: Added optional 2nd custom type name. + - Added built-in support for C++ Map<> objects (a.k.a. std::map from the + STL). + + * src/helper.h: + - Fix compile error with GCC 9 due to ignored result value of vasprintf() + function call. * src/tools/gigdump.cpp: - Print dimension region properties LFO1WaveForm, LFO2WaveForm,