--- libgig/trunk/ChangeLog 2009/03/26 13:32:59 1875 +++ libgig/trunk/ChangeLog 2014/12/29 16:25:51 2682 @@ -1,8 +1,116 @@ Version CVS HEAD (?) + * general changes: + - minor Makefile fix for parallel make + - Mac OS X: link with CoreFoundation (for the UUID function) + - removed gcc 4.7 warnings + - modernized configure script + - removed usage of deprecated Automake variable INCLUDES + - added new command line tool "gigmerge" + - added "const" keyword to several methods + - added new command line tool "gig2mono" + - added man page for "sf2dump" + - added new command line tool "korgdump" (and a man page for it) + - added new command line tool "korg2gig" (and a man page for it) + - moved source files of command line tools to new subdir src/tools + - libgig.so and libakai.so files are now installed under + $(prefix)/lib/libgig/ by default. + - Header files are now installed under $(prefix)/include/libgig/ by default. + - Fixed various packaging issues regarding installation directories + (fixes #218). + + * SoundFont file format: + - initial implementation + - changed region lookup API to avoid malloc in RT threads + - fixed GetEG1Sustain which didn't return correct value + - bugfix: GetPan always returned -1, 0 or 1 + + * KORG file format: + - initial support for sample based instruments in KORG's file format + (.KMP and .KSF files) + + * AKAI file format: + - Added Linux/POSIX ported version of libakai. Note that libakai is released + under LGPL terms while libgig is released under GPL terms. To handle this + license difference appropriately the AKAI support part is built as + separate DLL (.so file). + - Fixed Mac OSX support so that the Akai lib files and tools compile without + any exotic third party libraries. + - Fixed various compilation errors for Windows. + - POSIX fix: open() requires third (mode) argument if used with O_CREAT + (fixes #219). + + * src/gig.cpp: + - bugfix: VCF velocity dynamic range and VCF velocity curve + weren't saved correctly + - implemented File::AddDuplicateInstrument() + - bugfix: negative EG3 depth values were not correctly parsed or + saved + - added write support for CtrlTrigger midi rule + - added read and write support for Legato and Alternator midi + rules + - bugfix: sample groups were sometimes created multiple times or with + wrong textual group name + - added new method File::AddContentOf() for merging .gig files + - GIG FORMAT EXTENSION: added additional MIDI controllers for leverage + controller types (only works with LinuxSampler & gigedit, will not + work with Gigasampler/GigaStudio) + - added new method File::GetGroup(String name) for getting group by name + - added new method Region::GetDimensionDefinition(dimension_t type) + - bugfix: don't alter region pointer in DimensionRegion::CopyAssign() + - added some more sanity checks in Region::AddDimension() + - added new method Region::DeleteDimensionZone(dimension_t, int) + - added new method Region::SplitDimensionZone(dimension_t, int) + - Fixed crash caused by Region::GetDimensionRegionByValue() that happened + with certain velocity split sounds under certain conditions (added bound + constraints to prevent that) + - GIG FORMAT EXTENSION: added support for real-time instrument scripts. + - added new method Region::GetDimensionRegionIndexByValue() + - added new method Script::GetGroup() + - added new method Region::SetDimensionType() + - Added support for custom progress notification while saving to gig file. + + * src/DLS.cpp, src/DLS.h: + - added new method File::GetFileName() + - fixed minor "memory leak on exception" bug found with cppcheck + - added new method File::GetExtensionFile(int index) + - added new method File::SetFileName() allowing to call File::Save() + later on without passing a file name + - added inline helper methods overlaps() for struct range_t + - Added support for custom progress notification while saving to DLS file. + + * src/RIFF.cpp, src/RIFF.h: + - bugfix: avoid calling read() with count 0 when writing a file, + as this may hang on some systems + - fixed memory leak and memory handling errors when file loading + fails + - added new method Chunk::ReadString + - added new method File::SetFileName() allowing to call File::Save() + later on without passing a file name + - added new method File::IsNew() + - added support for loading RIFF-like files with a bit different layout + than "real" RIFF files (used for KORG format support) + - added new method Chunk::GetFile() + - added new method Chunk::GetLayout() + - added 2nd, alternative method for List::MoveSubChunk(), the old 1st one + allows to move a subchunk within the current List, whereas the new 2nd + one allows to move the subchunk from the current list to another list + - POSIX: only assume -1 result value as error on open() calls + - POSIX: show operating system's error reason if opening a file failed + - Added support for custom progress notification while saving to RIFF file. + + * src/gigextract.cpp: + - export sample loop, unity note and fine tune with libsndfile + + * src/riftree.cpp: + - added more command line options for being able to also dump other kind + of file formats similar but not equal to the RIFF format + +Version 3.3.0 (30 Jul 2009) * general changes: - fixed compilation with gcc 4.3 - fixes for building with Visual C++ + - minor fix in configure for building DLL on Windows * src/gig.cpp, src/gig.h: - added partial support for MIDI rules, only the Controller @@ -26,6 +134,8 @@ - bugfix: destructor for base class RIFF::Chunk accessed members of derived class RIFF::File, which is bad, and caused crashes when using Visual C++ + - bugfix: files that contain zero length RIFF lists were not read + correctly (fixes #127) (bug was introduced 2009-03-13) Version 3.2.1 (5 Dec 2007)