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