/[svn]/libgig/trunk/ChangeLog
ViewVC logotype

Diff of /libgig/trunk/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3464 by schoenebeck, Sun Feb 10 20:25:05 2019 UTC revision 3777 by schoenebeck, Sat May 23 19:55:32 2020 UTC
# Line 1  Line 1 
1  Version SVN trunk (?)  Version SVN trunk (?)
2    
3      * general changes:
4        - Require at least a C++11 compliant compiler.
5        - Require some UUID generating function by underlying system.
6    
7      * src/gig.cpp, src/gig.h:
8        - GIG FORMAT EXTENSION: Added attributes DimensionRegion::LFO1WaveForm,
9          DimensionRegion::LFO2WaveForm and DimensionRegion::LFO3WaveForm, which
10          allow to define override LFOs' wave form (e.g. saw or square instead of
11          the default wave form which was always sine in the original
12          Gigasampler/GigaStudio software).
13        - GIG FORMAT EXTENSION: Added attributes DimensionRegion::LFO1Phase,
14          DimensionRegion::LFO2Phase and DimensionRegion::LFO3Phase, which allow to
15          move the start point horizontally of the LFOs' waves (0° ... 360°).
16        - GIG FORMAT EXTENSION: Added attribute DimensionRegion::LFO3FlipPhase
17          (the original Gigasampler/GigaStudio software only had that flip phase
18          option for LFO1 and LFO2).
19        - Added methods DimensionRegion::UsesAnyGigFormatExtension(),
20          Region::UsesAnyGigFormatExtension(),
21          Instrument::UsesAnyGigFormatExtension() and
22          File::UsesAnyGigFormatExtension() (however only as private methods yet,
23          see comments on methods why).
24        - GIG FORMAT EXTENSION: added LinuxSampler specific filter type
25          implementations to enum vcf_type_t: vcf_type_lowpass_1p,
26          vcf_type_lowpass_2p, vcf_type_lowpass_4p, vcf_type_lowpass_6p,
27          vcf_type_highpass_1p, vcf_type_highpass_2p, vcf_type_highpass_4p,
28          vcf_type_highpass_6p, vcf_type_bandpass_2p, vcf_type_bandreject_2p.
29        - Compatibility fix: GigaStudio always expects 128 '3gnm' RIFF chunks
30          (patch by Ivan Maguidhir).
31        - Compatibility fix: GigaStudio 3 expects '3dnm' and '3ddp' RIFF chunks
32          (original patch by Ivan Maguidhir).
33        - Region::DeleteDimensionZone() and Region::SplitDimensionZone(): Fixed
34          dimensions being in different order after deleting a dimension zone.
35        - Script: Generate a persistent UUID for each script.
36        - GIG FORMAT EXTENSION: Added support for script 'patch' variables and
37          accordingly added new methods to Instrument class:
38          IsScriptPatchVariableSet(), GetScriptPatchVariables(),
39          GetScriptPatchVariable(), SetScriptPatchVariable(),
40          UnsetScriptPatchVariable(); stored persistently as new 'SCPV' RIFF chunk
41          as child of our '3LS ' list chunk on Instrument level.
42    
43      * src/Serialization.cpp, src/Serialization.h:
44        - Fixed broken Archive(RawData) constructor which always threw an
45          Exception.
46        - Added built-in support for C++ String objects (a.k.a. std::string
47          from the STL) and bumped Srx format version to 1.1 for that reason.
48        - Fixed assertion fault on some systems if a member variable defined was
49          serialized which was declared as size_t or ssize_t data type.
50        - Added new method Archive::operation() which allows applications to
51          distinguish between serialization vs. deserialization in their
52          serialize() method implementations.
53        - Added built-in support for C++ Array<> objects (a.k.a. std::vector from
54          the STL).
55        - Member offsets are now signed and for (newly added support of) member
56          variables on the heap -1 is always used as offset instead.
57        - Added built-in support for C++ Set<> objects (a.k.a. std::set from the
58          STL).
59        - DataType: Added optional 2nd custom type name.
60        - Added built-in support for C++ Map<> objects (a.k.a. std::map from the
61          STL).
62    
63      * src/tools/gigdump.cpp:
64        - Print dimension region properties LFO1WaveForm, LFO2WaveForm,
65          LFO3WaveForm, LFO1Phase, LFO2Phase, LFO3Phase, LFO1FlipPhase,
66          LFO2FlipPhase and LFO3FlipPhase.
67    
68    Version 4.2.0 (25 Jul 2019)
69    
70      * general changes:
71        - Added MSVC build support (anonymous patch from mailing list).
72        - Introduced CMake build support (yet constrained for building with MSVC)
73          (anonymous patch from mailing list).
74        - Fix: Don't automatically delete RIFF chunks from DLS/gig classes'
75          destructors. Added new virtual method DeleteChunks() to those classes
76          for this which must be explicitly called instead to remove their RIFF
77          chunks.
78        - Fix: Many methods of DLS/gig classes assumed a RIFF chunk read position
79          of zero; which is unsafe per se.
80        - Added C++11 "override" keyword where appropriate.
81        - Fixed crash in RIFF, DLS and gig classes which occurred on certain
82          of their actions when not passing a progress_t callback structure.
83    
84    * src/gig.cpp, src/gig.h:    * src/gig.cpp, src/gig.h:
85      - Fixed Doxygen API comments for enum types (currently latest Doxygen      - Fixed Doxygen API comments for enum types (currently latest Doxygen
86        [v1.8.13] only supports C comments in macro arguments expansion, but        [v1.8.13] only supports C comments in macro arguments expansion, but
# Line 19  Version SVN trunk (?) Line 100  Version SVN trunk (?)
100        DimensionRegion::NoNoteOffReleaseTrigger which allows to disable the        DimensionRegion::NoNoteOffReleaseTrigger which allows to disable the
101        regular behaviour of playing release trigger sample on MIDI note-off        regular behaviour of playing release trigger sample on MIDI note-off
102        events.        events.
103        - Introduced support for writing extension files (.gx01, .gx02, ...)
104          (original patch by Ivan Maguidhir).
105        - Many gig classes derive now from DLS::Storage (see DLS changes below).
106        - Added File::GetRiffFile() method.
107    
108    * src/DLS.cpp, src/DLS.h:    * src/DLS.cpp, src/DLS.h:
109      - File: Fixed implicitly allocated RIFF::File object never been freed.      - File: Fixed implicitly allocated RIFF::File object never been freed.
110        - Added new abstract interface base class DLS::Storage which is derived by
111          the respective classes for implementing (the old) UpdateChunks() and the
112          new DeleteChunks() method.
113        - Added File::GetRiffFile() method.
114    
115      * src/sf2.cpp, src/sf2.h:
116        - Added Sample::GetFile() method.
117        - Added File::GetRiffFile() method.
118    
119    * src/Serialization.cpp, src/Serialization.h:    * src/Serialization.cpp, src/Serialization.h:
120      - Hide pure internal declarations from header file to avoid numerous      - Hide pure internal declarations from header file to avoid numerous
# Line 32  Version SVN trunk (?) Line 125  Version SVN trunk (?)
125    * src/RIFF.cpp, src/RIFF.h:    * src/RIFF.cpp, src/RIFF.h:
126      - Fix: Calling File::SetMode() left an undefined file handle on Windows and      - Fix: Calling File::SetMode() left an undefined file handle on Windows and
127        caused a resource leak        caused a resource leak
128        - Avoid compiler warning when building for 32 bit windows.
129        - Added new method progress_t::subdivide().
130        - Fix: API doc comment for Chunk::GetFilePos() was completely wrong.
131        - progress_t: Added a 2nd (overridden) progress_t::subdivide() method which
132          allows a more fine graded control into which portions the subtasks are
133          divided to.
134    
135    * src/tools/gigdump.cpp:    * src/tools/gigdump.cpp:
136      - Added command line option --instrument-names which causes only      - Added command line option --instrument-names which causes only

Legend:
Removed from v.3464  
changed lines
  Added in v.3777

  ViewVC Help
Powered by ViewVC