1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
In General:
- introduce 'iterator' design pattern as a replacement for the simple but
error-prone GetFirstFoo() / GetNextFoo() methods (this issue at least has
been mitigated with libgig 4.4.0 by adding GetFoo(size_t index) or
GetFooAt(size_t index) methods)
RIFF Part:
- replace Chunk::SetPos(), Chunk::GetPos(), Chunk::Read() and
Chunk::Write() methods and all other position dependant methods by a
'Reader' / 'Writer' design pattern, that is each Chunk object would
only provide a new instance to a 'Reader' / 'Writer' object which allows
to read and write to the chunk independant how many parties are
currently using the respective Chunk object for reading/writing
DLS Part:
- support for conditional chunks
- check for ZSTR terminated strings in DLS::Info::LoadString()
- adding methods Articulator::AddArticulation() and
Articulator::DeleteArticulation(Articulation* pArticulation) to allow
creating and deleting DLS::Articulation objects
- modify DLS::Articulation class to allow adding and deleting
DLS::Connection objects
Gig Part:
- support for <3dnl> chunk in gig::Region class which provides optional
textual descriptions for dimensions
- additional scan for compressed samples in
gig::Sample::ScanCompressedSample() to build a table with the compression
mode of each compressed frame in the sample allowing a more efficient
Read() on runtime
- low level optimization in decompression algorithm
- optional writing of frame table to disk to speed up loading of compressed
samples
- support for creating and modifying compressed samples
KORG Classes:
- support for .PCG files
|