--- libgig/trunk/ChangeLog 2019/02/22 12:12:50 3481 +++ libgig/trunk/ChangeLog 2020/05/17 14:05:08 3770 @@ -1,6 +1,57 @@ Version SVN trunk (?) * general changes: + - Require at least a C++11 compliant compiler. + - Require some UUID generating function by underlying system. + + * src/gig.cpp, src/gig.h: + - GIG FORMAT EXTENSION: Added attributes DimensionRegion::LFO1WaveForm, + DimensionRegion::LFO2WaveForm and DimensionRegion::LFO3WaveForm, which + allow to define override LFOs' wave form (e.g. saw or square instead of + the default wave form which was always sine in the original + Gigasampler/GigaStudio software). + - GIG FORMAT EXTENSION: Added attributes DimensionRegion::LFO1Phase, + DimensionRegion::LFO2Phase and DimensionRegion::LFO3Phase, which allow to + move the start point horizontally of the LFOs' waves (0° ... 360°). + - GIG FORMAT EXTENSION: Added attribute DimensionRegion::LFO3FlipPhase + (the original Gigasampler/GigaStudio software only had that flip phase + option for LFO1 and LFO2). + - Added methods DimensionRegion::UsesAnyGigFormatExtension(), + Region::UsesAnyGigFormatExtension(), + Instrument::UsesAnyGigFormatExtension() and + File::UsesAnyGigFormatExtension() (however only as private methods yet, + see comments on methods why). + - GIG FORMAT EXTENSION: added LinuxSampler specific filter type + implementations to enum vcf_type_t: vcf_type_lowpass_1p, + vcf_type_lowpass_2p, vcf_type_lowpass_4p, vcf_type_lowpass_6p, + vcf_type_highpass_1p, vcf_type_highpass_2p, vcf_type_highpass_4p, + vcf_type_highpass_6p, vcf_type_bandpass_2p, vcf_type_bandreject_2p. + - Compatibility fix: GigaStudio always expects 128 '3gnm' RIFF chunks + (patch by Ivan Maguidhir). + - Compatibility fix: GigaStudio 3 expects '3dnm' and '3ddp' RIFF chunks + (original patch by Ivan Maguidhir). + - Region::DeleteDimensionZone() and Region::SplitDimensionZone(): Fixed + dimensions being in different order after deleting a dimension zone. + - Script: Generate a persistent UUID for each script. + - GIG FORMAT EXTENSION: Added support for script 'patch' variables and + accordingly added new methods to Instrument class: + IsScriptPatchVariableSet(), GetScriptPatchVariables(), + GetScriptPatchVariable(), SetScriptPatchVariable(), + UnsetScriptPatchVariable(); stored persistently as new 'SCPV' RIFF chunk + as child of our '3LS ' list chunk on Instrument level. + + * src/Serialization.cpp, src/Serialization.h: + - Fixed broken Archive(RawData) constructor which always threw an + Exception. + + * src/tools/gigdump.cpp: + - Print dimension region properties LFO1WaveForm, LFO2WaveForm, + LFO3WaveForm, LFO1Phase, LFO2Phase, LFO3Phase, LFO1FlipPhase, + LFO2FlipPhase and LFO3FlipPhase. + +Version 4.2.0 (25 Jul 2019) + + * general changes: - Added MSVC build support (anonymous patch from mailing list). - Introduced CMake build support (yet constrained for building with MSVC) (anonymous patch from mailing list). @@ -11,6 +62,8 @@ - Fix: Many methods of DLS/gig classes assumed a RIFF chunk read position of zero; which is unsafe per se. - Added C++11 "override" keyword where appropriate. + - Fixed crash in RIFF, DLS and gig classes which occurred on certain + of their actions when not passing a progress_t callback structure. * src/gig.cpp, src/gig.h: - Fixed Doxygen API comments for enum types (currently latest Doxygen