--- linuxsampler/trunk/ChangeLog 2005/06/08 23:16:13 620 +++ linuxsampler/trunk/ChangeLog 2005/10/16 14:50:20 791 @@ -1,15 +1,113 @@ Version CVS HEAD (?) * packaging changes: + - install necessary development header files for allowing 3rd party + applications to link against liblinuxsampler + - liblinuxsampler's API documentation can be generated with 'make docs' + (Doxygen required) + - added benchmark to automatically detect the best triangle LFO + implementation (currently either an integer math solution or a + di-harmonic approximation), automatic detection can be overriden + with --enable-signed-triang-algo=x and --enable-unsigned-triang-algo=x + configure script argument though (mandatory for cross-compilation) + + * Gigasampler format engine: + - extensive synthesis optimization + (reimplementation of EGs and LFO(s), removed synthesis parameter + prerendering and the synthesis parameter matrix in general, splitting + each audio fragment into subfragments now where each subfragment uses + constant synthesis parameters - that is volume, pitch and filter + coefficients) + - fine tuning of the EG modulation parameters + - improved filter cutoff calculation by adding support for the + following gig parameters: Cutoff freq (used when no cutoff + 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. + - 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 + - EG fixes: made the length of "attack hold" stage more + accurate. Release stage can now start before attack stage + ends. Cancel release didn't work when sustain was zero. + + + * LSCP server: + - fixed application exit on broken pipe error (fixes bug #20) + + * MIDI driver: + - fixed legacy sysex code which caused dispatching of MIDI SysEx + messages several times instead of once + + * general changes: + - support for muting sampler channels and solo mode of the same, two new + LSCP commands ("SET CHANNEL MUTE" and "SET CHANNEL SOLO") and two new + fields ("MUTE" and "SOLO") for command "GET CHANNEL INFO" were + introduced for this, the behavior is the same like on a mixer console + (patch by Grigor Iliev, a bit adjusted). Also added configure option + --enable-process-muted-channels which can be used to enable the + processing of muted channels. + - support for sostenuto pedal + - support for monitoring the total number of active voices + (new LSCP commands: GET TOTAL_VOICE_COUNT, GET TOTAL_VOICE_COUNT_MAX, + SUBSCRIBE TOTAL_VOICE_COUNT, UNSUBSCRIBE TOTAL_VOICE_COUNT) + +Version 0.3.3 (15 July 2005) + + * packaging changes: + - fixed compilation with gcc 4.0 + + * Gigasampler format engine: + - LFO preprocessing was performed even though the respective LFO was + disabled by the instrument patch (minor efficiency fix) + - if period time of chosen audio device is too small (< MIN_RELEASE_TIME) + for volume ramp downs in the same fragment (needed for current voice + stealing implementation) then simply inform the user with a warning + about possible click sounds and reduce the volume ramp down + appropriately instead of cancelling the audio device connection + +Version 0.3.2 (24 June 2005) + + * packaging changes: - updated autotools build files to compile on OS X (conditional compilation of CoreMIDI and MidiShare drivers) - hand-crafted assembly optimization code can be disabled with './configure --disable-asm' (definitely not recommended) - * support for the gig parameters for "release velocity response" - curves - * fine tuning of the EGADSR envelope + - fixed 'make dist' rule to include all necessary files + - require automake (>= 1.5) for 'make -f Makefile.cvs' + (due to 'dist-bzip2' automake option) + + * Gigasampler format engine: + - support for the gig parameters for "release velocity response" curves + - fine tuning of the EGADSR envelope + - volume of release triggered samples now depends on note-on velocity, + note length and gig parameter "release trigger decay" instead of + note-off velocity. + - revised voice stealing + (fixes crash and endless loop caused by voice stealing) + - don't reset scale tuning on instrument or audio output device change + - handle key group conflicts right at the beginning of each fragment + instead of when the respective voice is actually launched + (fixes undefined behavior if stolen voices belonged to a key group - + this case was followed by a "killed voice survived" error message) + - fixed minor issue with null/silence samples + (those stole voices even though they don't need a voice at all which + resulted in "voice stealing didn't work out" messages) + - don't reset volume, pan, pitch and MIDI controller values on + instrument or audio output device change + * LSCP server: - - fixed some crashs (patch by Grigor Iliev, fixes #19) + - fixed some crashes (patch by Grigor Iliev, fixes #19) + - fixed LSCP event "CHANNEL_INFO" notification + (e.g. did not notify on volume changes or MIDI program change events) + + * linuxsampler application: + - added command line parameters --lscp-addr and --lscp-port to override + default IP address and port of LSCP server Version 0.3.1 (24 May 2005)