--- linuxsampler/trunk/ChangeLog 2005/07/05 19:30:37 685 +++ linuxsampler/trunk/ChangeLog 2006/02/06 18:07:17 835 @@ -1,3 +1,95 @@ +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) + - do not automatically pick optimized gcc flags if the user already + provided some on his own (as CXXFLAGS) + + * 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 pitch and filter coefficients. The volume coefficient is + linearly interpolated inside a subfragment, unless + --disable-interpolate-volume is set.) + - 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. Attack + time now has a minimal value to prevent clicks. + - fixed pitch changes larger than one octave + - fixed EG3 (pitch envelope) synthesis which was neutral all the time + - implemented portamento mode and solo mode (a.k.a 'mono mode'): + all modes can be altered via standard GM messages, that is CC5 for + altering portamento time, CC65 for enabling / disabling portamento + mode, CC126 for enabling solo mode and CC127 for disabling solo mode + - fine tuning of the curves for volume (CC7), pan (CC10 and gig + parameter) and crossfade + - added support for the "attenuation controller threshold" gig + parameter + - added smoothing of volume changes caused by control change + messages + + * LSCP server: + - fixed application exit on broken pipe error (fixes bug #20) + - fixed the notification messages delay due to lack of + network activity (fixes bug #26) + - fixed parser bug which occured on space(s) within device parameters + (e.g. "SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 SOMEPARAM='foo bar'") + + * 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) + - fixed some memory management errors + +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: @@ -8,7 +100,6 @@ - fixed 'make dist' rule to include all necessary files - require automake (>= 1.5) for 'make -f Makefile.cvs' (due to 'dist-bzip2' automake option) - - fixed compilation with gcc 4.0 * Gigasampler format engine: - support for the gig parameters for "release velocity response" curves