--- libgig/trunk/TODO 2005/05/09 14:09:16 530 +++ libgig/trunk/TODO 2006/10/24 19:32:47 928 @@ -1,13 +1,26 @@ +In General: + - introduce 'iterator' design pattern as a replacement for the simple but + error-prone GetFirstFoo() / GetNextFoo() 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() - real support for 64 bit offsets (used by Gigasampler v3 files) + - 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: - - Write support? Please let me know if you are interested to write an - instrument editor based on libgig. I'm not going to add write support - to libgig until somebody tells me his intention to seriously write such - a tool! - support for <3dnl> chunk in gig::Region class which provides optional textual descriptions for dimensions - support for <3gnm> chunk in gig::File class which contains names of @@ -19,6 +32,6 @@ - low level optimization in decompression algorithm - optional writing of frame table to disk to speed up loading of compressed samples - - real support for 24 bit samples (introduced by Gigasampler v3 format) - support for additional articulation informations introduced by the Gigasampler v3 format + - support for creating and modifying compressed samples