--- linuxsampler/trunk/ChangeLog 2006/02/26 13:00:08 840 +++ linuxsampler/trunk/ChangeLog 2006/12/27 16:17:08 1001 @@ -1,6 +1,49 @@ Version CVS HEAD (?) + * 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 audio/MIDI device changes, + MIDI instrument map changes and MIDI instrument changes + - 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 + + * MIDI driver: + - dispatch bank select (MSB and LSB) messages + + * 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) + + * Bug fixes: + - fixed crash occurring on certain LSCP scripts (Bug 39) + +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) - install necessary development header files for allowing 3rd party applications to link against liblinuxsampler - liblinuxsampler's API documentation can be generated with 'make docs' @@ -12,6 +55,12 @@ configure script argument though (mandatory for cross-compilation) - do not automatically pick optimized gcc flags if the user already provided some on his own (as CXXFLAGS) + - added compile time option to disable processing of All-Notes-Off MIDI + 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 @@ -27,10 +76,7 @@ controller is defined), Control invert, Minimum cutoff, Velocity curve and Velocity range. The keyboard tracking now scales cutoff frequency instead of resonance. - - filter fine tuning: calculation of cutoff frequency and - bandwidth improved. Removed use of "BasicBPFilter". Changed - bandpass filter from constant peak to constant skirt. Added - support for gig parameter Resonance. + - added support for gig parameter Resonance. - fixed bug in sysex handling (patch by Juan Linietsky) - added global volume attenuation of -9 dB (0.35f) to prevent clipping which can be overridden with --enable-global-attenuation @@ -50,6 +96,19 @@ parameter - added smoothing of volume changes caused by control change messages + - sample loop parameters are now taken from the DimensionRegion + instead of the wave chunk + - fixed keyswitching for v3 gigs with a number of keyswitch splits + not equal to a power of two + - reimplementation of the filter algorithm. The new filter is more + accurate and supports all gig filter types, including bandreject + and lowpass turbo. + - real support for 24 bit samples - samples are not truncated to + 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) @@ -64,6 +123,12 @@ * MIDI driver: - fixed legacy sysex code which caused dispatching of MIDI SysEx 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 * general changes: - support for muting sampler channels and solo mode of the same, two new @@ -78,8 +143,10 @@ (new LSCP commands: GET TOTAL_VOICE_COUNT, GET TOTAL_VOICE_COUNT_MAX, SUBSCRIBE TOTAL_VOICE_COUNT, UNSUBSCRIBE TOTAL_VOICE_COUNT) - fixed some memory management errors - - fixed some concurrency problems between the lscp thread and the - audio/midi threads + - 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)