--- linuxsampler/trunk/ChangeLog 2011/08/20 15:54:07 2253 +++ linuxsampler/trunk/ChangeLog 2012/07/08 14:44:47 2356 @@ -1,7 +1,7 @@ Version CVS HEAD (?) * plugin changes: - - LV2 Persist + Files support (patch by David Robillard) + - LV2 "state" extension support (patch by David Robillard) * packaging changes: - fixed building with newer MinGW-w64 @@ -18,6 +18,10 @@ - Mac OS X: made it possible to specify plugin installation dir to configure - Mac OS X: Makefile fix for the install-strip target + - fixed compilation with gcc 4.7 + - fixed configure script error with old autoconf versions + - lsatomic.h: use gcc provided atomic functions if building with + gcc 4.7 and C++11 * general changes: - Refactoring: moved the independent code from @@ -42,6 +46,14 @@ - raised limit of program change queue from 100 to 512 (as suggested by Alex Stone) - implemented sine LFO, pulse LFO and saw LFO + - experimental support for per voice equalization + - added command line option --exec-after-init + - Introduced new C++ API method: + EngineChannel::InstrumentFileName(int index) + allowing to retrieve the whole list of files used for the loaded + instrument on an engine channel (a.k.a. part). Some GigaStudio + instruments for example are splitted over several files like + "Foo.gig", "Foo.gx01", "Foo.gx02", ... * Gigasampler format engine: - implemented the "round robin keyboard" dimension @@ -121,7 +133,7 @@ - implemented opcodes ampeg_delayccN, ampeg_startccN, ampeg_attackccN, ampeg_holdccN, ampeg_decayccN, ampeg_sustainccN, ampeg_releaseccN, egN_timeX_onccY, egN_levelX_onccY - - lfoN_* and egN_* opcodes defined in group sections + - lfoN_* and egN_* opcodes defined in group sections are now taken into account - implemented curves - implemented opcodes volume_onccN, volume_curveccN @@ -164,6 +176,45 @@ - implemented opcodes fillfo_depthchanaft, fillfo_freqchanaft, amplfo_depthchanaft, amplfo_freqchanaft, pitchlfo_depthchanaft, pitchlfo_freqchanaft + - implemented opcodes pitch_onccN, + pitch_curveccN, pitch_smoothccN, pitch_stepccN + - implemented opcodes volume_stepccN, pan_stepccN, + cutoff_stepccN, resonance_stepccN, lfoN_freq_stepccX, + lfoN_volume_stepccX, lfoN_pitch_stepccX, lfoN_pan_stepccX, + lfoN_cutoff_stepccX, lfoN_resonance_stepccX + - implemented opcodes eq1_freq, eq2_freq, eq3_freq, + eq1_freqccN, eq2_freqccN, eq3_freqccN, eq1_bw, eq2_bw, eq3_bw, + eq1_bwccN, eq2_bwccN, eq3_bwccN, eq1_gain, eq2_gain, eq3_gain, + eq1_gainccN, eq2_gainccN, eq3_gainccN + - implemented opcodes delay, delay_onccN, delay_random, + delay_samples, delay_samples_onccN + - implemented opcodes egN_eq1gain, egN_eq2gain, egN_eq3gain, + egN_eq1gain_onccX, egN_eq2gain_onccX, egN_eq3gain_onccX, egN_eq1freq, + egN_eq2freq, egN_eq3freq, egN_eq1freq_onccX, egN_eq2freq_onccX, + egN_eq3freq_onccX, egN_eq1bw, egN_eq2bw, egN_eq3bw, egN_eq1bw_onccX, + egN_eq2bw_onccX, egN_eq3bw_onccX, lfoN_eq1gain, lfoN_eq2gain, + lfoN_eq3gain, lfoN_eq1gain_onccX, lfoN_eq2gain_onccX, lfoN_eq3gain_onccX, + lfoN_eq1gain_smoothccX, lfoN_eq2gain_smoothccX, lfoN_eq3gain_smoothccX, + lfoN_eq1gain_stepccX, lfoN_eq2gain_stepccX, lfoN_eq3gain_stepccX, + lfoN_eq1freq, lfoN_eq2freq, lfoN_eq3freq, lfoN_eq1freq_onccX, + lfoN_eq2freq_onccX, lfoN_eq3freq_onccX, lfoN_eq1freq_smoothccX, + lfoN_eq2freq_smoothccX, lfoN_eq3freq_smoothccX, lfoN_eq1freq_stepccX, + lfoN_eq2freq_stepccX, lfoN_eq3freq_stepccX, lfoN_eq1bw, lfoN_eq2bw, + lfoN_eq3bw, lfoN_eq1bw_onccX, lfoN_eq2bw_onccX, lfoN_eq3bw_onccX, + lfoN_eq1bw_smoothccX, lfoN_eq2bw_smoothccX, lfoN_eq3bw_smoothccX, + lfoN_eq1bw_stepccX, lfoN_eq2bw_stepccX, lfoN_eq3bw_stepccX + - implemented opcodes eq1_vel2freq, eq2_vel2freq, + eq3_vel2freq, eq1_vel2gain, eq2_vel2gain, eq3_vel2gain + - sfz parser: allow double spaces in sample filenames + - sfz parser: allow absolute paths for sample filenames + - use linear decay and release for filter and pitch EG + - bugfix: only the first amp_veltrack definition in a file was + used + - bugfix: looping was disabled if loop_start was set to 0 + - allow regions with end=-1 to turn off other regions using the + group and off_by opcodes (#168) + - made end=0 play the whole sample + - fixed support for lochan and hichan opcodes (#155) * SoundFont format engine: - Initial implementation (not usable yet) @@ -172,6 +223,7 @@ - fine-tuned amplitude EG (by switching from gig to sfz EG) - initial implementation of Vibrato LFO and Modulation LFO - initial implementation of cutoff filter + - use linear decay and release for filter and pitch EG * Gigasampler format engine: - bugfix: pitch LFO controller "internal+aftertouch" was broken @@ -193,12 +245,31 @@ - VST: made it possible to build the VST plugin for Mac - AU: link AU plugin dynamically if --disable-shared isn't specified + - VST bugfix: instrument loading hang and crashed the host when + the plugin was loaded a second time (#174) + - plugin bugfix: instrument loading hang when the plugin was + loaded a second time (this time it's for Linux and Mac, previous + similar fix was for Windows) + - thread safety fixes for the instrument loading thread + - LV2: use the new lv2 package if present + - VST: try to open Fantasia automatically on Linux and Mac too (on + Linux, the Fantasia jar should be placed in /share/java) + - VST: fixed crashes on Linux Ardour and EnergyXT + - DSSI bugfix: it wasn't possible to change engine type. The MIDI + port and audio channel routing for DSSI plugins are now visible. + - LV2: use urid and atom extensions instead of deprecated uri-map + and event + - LV2: lv2 package 1.0 is now required to build the LV2 plugin + - LV2: changed number of output channels to 16 stereo, just like + the VST and AU plugins * MIDI driver: - ALSA MIDI driver supports now "NAME" device parameter, for overriding the ALSA sequencer client name - removed limit of maximum amount of MIDI ports per MIDI device, since there is no reason for this limit + - MME: fixed memory handling bug found with cppcheck + - MME: removed compiler warning * audio driver: - ASIO driver fixes for newer gcc versions (fix from PortAudio) @@ -258,6 +329,28 @@ it caused hanging threads on Windows - Fixed possible crashes due to corrupted MIDI/audio device list after MIDI/audio device creation failure + - When creating MIDI instrument map entries with "PERSISTENT" type, the + instruments were uselessly precached with zero samples, however it still + took the full preloading time and on 1st program change the respective + instrument was completely reloaded again. + - fixed handling of rapid bank select and program change messages + sent to the same sampler channel (patch from the Open Octave + project, slightly adjusted) + - fixed crash when trying to create an effect instance with controls + which min and/or max values depend on the sample rate + - fixed bug #162 + - bugfix: LADSPA_PATH was not evaluated correctly when containing + multiple paths (#165) + - thread safety fixes for the instrument loading thread + - bugfix: instrument loading crashed for sfz and sf2 in Ardour + (#176) + - more thread safety fixes for the instrument loading thread + - sfz/sf2 engine: fixed crash when using small audio fragment size + - Mac OS X: fixed crash when unloading plugin on 10.7 and later + - Mac OS X: fixed process hang when unloading 32-bit plugin (bug + introduced in previous fix) + - fixed crash when a channel received a program change while + playing a note in a key group Version 1.0.0 (31 July 2009)