--- libgig/trunk/ChangeLog 2021/06/04 11:28:11 3913 +++ libgig/trunk/ChangeLog 2021/07/19 14:35:37 3978 @@ -6,14 +6,131 @@ - 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. + - Changed signature of method File::GetSample(uint) to + File::GetSample(size_t,progress_t*). + - Marked methods File::GetFirstSample() and File::GetNextSample() as + deprecated. + - Use File::GetSample() instead of File::GetFirstSample() / + File::GetNextSample() in entire gig.cpp file. + - Added method Group::GetSample(). + - Marked methods Group::GetFirstSample() and Group::GetNextSample() as + deprecated. + - Use Group::GetSample() instead of Group::GetFirstSample() / + Group::GetNextSample() in entire gig.cpp file. + - Changed signature of method File::GetGroup(uint) to + File::GetGroup(size_t). + - Fixed File::GetGroup(size_t) to be reentrant-safe. + - Marked methods GetFirstGroup() and GetNextGroup() as deprecated. + - Fixed GetGroup(String) to be reentrant-safe. + - Use GetGroup() instead of GetFirstGroup() / GetNextGroup() in entire + gig.cpp file. + - Changed signature of method File::GetInstrument(uint,progress_t*) to + File::GetInstrument(size_t,progress_t*). + - Fixed File::GetInstrument(size_t,progress_t*) to be reentrant-safe. + - Marked methods File::GetFirstInstrument() and File::GetNextInstrument() + as deprecated. + - Use File::GetInstrument() instead of File::GetFirstInstrument() / + File::GetNextInstrument() in entire gig.cpp file. + - Optimized method ScriptGroup::GetScript() to have constant time + efficiency. + - Changed signature of method File::GetScriptGroup(uint) to + File::GetScriptGroup(size_t). + - Optimized method File::GetScriptGroup(size_t) to have constant time + efficiency. + - Changed signature of method ScriptGroup::GetScript(uint) to + ScriptGroup::GetScript(size_t). + - Changed signature of method Instrument::GetScriptOfSlot(uint) to + Instrument::GetScriptOfSlot(size_t). + - Changed signature of method Instrument::SwapScriptSlots(uint,uint) to + Instrument::SwapScriptSlots(size_t,size_t). + - Changed signature of method Instrument::RemoveScriptSlot(uint) to + Instrument::RemoveScriptSlot(size_t). + - Changed signature of method Instrument::ScriptSlotCount() to return + size_t instead of uint. + - Changed signature of method Instrument::IsScriptSlotBypassed(uint) to + Instrument::IsScriptSlotBypassed(size_t). + - Changed signature of method Instrument::SetScriptSlotBypassed(uint,bool) + to Instrument::SetScriptSlotBypassed(size_t,bool). + - Changed signature of method + Instrument::IsScriptPatchVariableSet(int,String) to + Instrument::IsScriptPatchVariableSet(size_t,String). + - Changed signature of method Instrument::GetScriptPatchVariables(int) to + Instrument::GetScriptPatchVariables(size_t). + - Changed signature of method + Instrument::GetScriptPatchVariable(int,String) to + Instrument::GetScriptPatchVariable(size_t,String). + - Changed signature of method + Instrument::SetScriptPatchVariable(int,String,String) to + Instrument::SetScriptPatchVariable(size_t,String,String). + - Changed signature of method + Instrument::UnsetScriptPatchVariable(int,String) to + Instrument::UnsetScriptPatchVariable(ssize_t,String). + - Fixed iterator invalidation (i.e. crash) caused by adding / removing + samples (only triggered if now deprecated File::GetFirstSample() / + File::GetNextSample() methods were still used). + - Fixed Sample::Write() method not having updated sample's CRC (correctly) + if sample was previously resized. + - Fixed iterator invalidation (i.e. crash) caused by adding / removing / + moving regions (only triggered if now deprecated File::GetFirstRegion() / + File::GetNextRegion() methods were still used). * 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. + - Added method File::GetSample(). + - Marked methods File::GetFirstSample() and File::GetNextSample() as + deprecated. + - Use File::GetSample() instead of File::GetFirstSample() / + File::GetNextSample() in entire DLS.cpp file. + - Added method Articulator::GetArticulation(). + - Marked methods Articulator::GetFirstArticulation() and + Articulator::GetNextArticulation() as deprecated. + - Added method File::GetInstrument(). + - Marked methods File::GetFirstInstrument() and File::GetNextInstrument() + as deprecated. + - Added method Instrument::CountRegions(). + - Fixed iterator invalidation (i.e. crash) caused by adding / removing + samples (only triggered if now deprecated File::GetFirstSample() / + File::GetNextSample() methods were still used). + - Fixed iterator invalidation (i.e. crash) caused by adding / removing / + moving regions (only triggered if now deprecated File::GetFirstRegion() / + File::GetNextRegion() methods were still used). + - Fixed iterator invalidation (i.e. crash) caused by adding / removing + instruments (only triggered if now deprecated File::GetFirstInstrument() / + File::GetNextInstrument() methods were still used). + * 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)