--- linuxsampler/trunk/ChangeLog 2006/07/23 16:44:08 906 +++ linuxsampler/trunk/ChangeLog 2007/06/19 15:54:13 1245 @@ -1,6 +1,110 @@ Version CVS HEAD (?) * packaging changes: + - config.h is not going to be installed along with liblinuxsampler's + API header files anymore + - only the API relevant header (and source) files will be exported to + the Doxygen API documentation (explicitly listed in Doxyfile.in) + - added completely new XCode project files for Mac OSX which is now + capable to execute our autoconf environment, thus no need anymore + to maintain the compile time configuration file (osx/version.h) for + OSX manually (patch by Toshi Nagata) + + * general changes: + - replaced the old, confusing MIDI program change mechanism by a + flexible MIDI instrument mapper which allows to map arbitrary + (MIDI bank, MIDI program) pairs with arbitrary + (engine type, instrument file, file index) triplets which will be + loaded on the respective channel when such MIDI program change + messages arrive, beside that, each entry allows to define a life-time + strategy for the instrument, so the user can define whether the + instrument should i.e. be permanently loaded (to be able to switch + quickly among sounds) or i.e. loaded just on demand when the + respective program change arrives (to safe RAM space), as well as a + global volume factor for each entry, so the user can adjust the volume + dynamic of his mapped instrument collection without having to modify + the instrument files, also one can manage arbitrary amount of such + MIDI instrument maps and assign each sampler channel individually + a certain map, so that i.e. separation of normal instruments and + drumkits is possible + - new notification events for tracking changes to audio/MIDI devices, + MIDI instrument maps, MIDI instruments, FX sends, global volume. + - sampler was limited to load max. 200 instruments in the background + due to a constant size RingBuffer FIFO which is now replaced by a + dynamic (unlimited) size std::list FIFO + - added FX sends, these allow to route audio signals to arbitrary audio + output channels for being processed by external effect processors + (i.e. jack-rack), the send levels are controllable via arbitrary MIDI + controllers + - global (sampler wide) volume can now be controlled at runtime + - Implemented new, improved notification system + - fixed compilation errors regarding OSX + (patch by Toshi Nagata) + - implemented instruments database + - added highly experimental support for on-the-fly instrument editing + within the sampler's process (by using instrument editor plugins), + you'll notice the new "Registered instrument editors:" message on + startup, added a new LSCP command "EDIT INSTRUMENT " + to spawn a matching instrument editor for the instrument on the + given sampler channel, the plugin path can be overridden at compile + time with ./configure --enable-plugin-dir=/some/dir + - fixed several issues in fundamental "Thread" class: set scheduling + policy and priority on thread level, set a minimum stack size for + thread (TODO: a reasonable value yet to be tested), bugfix: non-RT + threads simply inherited properties of starting thread instead of + setting their own policy and priority + - minor fix in our automatic stack trace mechanism on crashes, the + main process did not wait for the stack trace process to finish + its output + + * MIDI driver: + - dispatch bank select (MSB and LSB) messages + + * audio driver: + - the ALSA audio output driver parameters now reflect the correct + parameter value ranges for the respective selected sound card + (patch by Till Wimmer, a bit fixed and extended) + + * Gigasampler format engine: + - if a filter is used and EG2 finishes before EG1, let the voice + die when EG2 has finished (this fixes a problem with clicks and + voice starvation for some gigs) + - playback is no longer disabled during instrument loading + - all notes playing on a channel that changes its instrument keep + playing with the old instrument until they get a note off + command + - EG fix: a release value of zero could cause noises or crash + - handle MIDI coarse tuning messages (MIDI RPN #0 MSB #2 LSB) + - EG fine tuning: when attack is zero the EG starts at a level + above max sustain level, which means that there is a decay phase + even if sustain is 100% + - more EG fixes: the level could sometimes go below zero and cause + noises or crashes + - minor fix of EGDecay (patch by Toshi Nagata) + - fixed compiler error when --enable-override-filter-type was + supplied to the configure script (fixes #46) + + * LSCP server: + - fixed compile time error for old Bison versions + (i.e. v1.28 found on MacOS 10.4, patch by Toshi Nagata) + - parser now supports extended ASCII character set + (up to ASCII code 255, i.e. includes now umlauts and accents) + - filename arguments in LSCP commands now allow to use escape + sequences, that is directly literal as one of: \', \", \\, \n, \r, + \f, \t, \v, or as octal ASCII code value like \132, or as hex ASCII + code value like \xf2) (fixes bug #24) + + * Bug fixes: + - fixed crash occurring on certain LSCP scripts (Bug 39) + - another thread safety fix for lscp "load engine" and "set + channel audio output device" + + * test cases: + - updated and fixed (haven't been touched in a while) + +Version 0.4.0 (24 November 2006) + + * packaging changes: - changed deprecated copyright attribute to license; added ldconfig to post-(un)install steps; added devel package for liblinuxsampler; to linuxsampler.spec (RPM) @@ -19,6 +123,8 @@ messages - added compile time options to allow disabling the various audio and MIDI drivers + - fixed automatic GCC CPU switch detection on PPC + (patch by Ebrahim Mayat) * Gigasampler format engine: - extensive synthesis optimization @@ -65,6 +171,8 @@ 16 bits anymore - support for aftertouch (channel pressure, not polyphonic aftertouch) + - LFO1 behaviour fixed (dampening from max volume instead of + amplifying from 0) * LSCP server: - fixed application exit on broken pipe error (fixes bug #20) @@ -81,6 +189,7 @@ messages several times instead of once - API extension for MIDI drivers which already supply exact time stamps for events (i.e. for offline rendering based MIDI drivers) + - added checks for bad MIDI data * linuxsampler application: - show available sampler engine types on startup @@ -100,6 +209,8 @@ - fixed some memory management errors - fixed some concurrency problems that could lead to crashes when LSCP commands were executed + - fixed crash when instrument loading failed previously on the same + sampler channel (fixes bug #36) Version 0.3.3 (15 July 2005)