Parent Directory | Revision Log
Links to HEAD: | (view) (download) (annotate) |
Sticky Revision: |
* Fixed a bunch of minor issues (mostly compiler warnings). * Bumped version (2.0.0.svn31).
* gig engine: fixed EG1 modulation when attack or release is zero
* sfz engine: added support for v2 multiple stage envelope generators * sfz engine: added a fine-tuned v1 envelope generator instead of using the one from the gig engine
* bugfix: note off was ignored when EG was in decay stage (bug introduced 2009-05-16)
* bugfix: sometimes, when playing a note twice fast, the second note was silent
* bugfix: notes triggered at position 0 in the audio buffer were sometimes wrongly killed in the same buffer, causing no sound to be played * fixes for audio drivers with varying buffer sizes * Makefile fix: JACK_CFLAGS wasn't used * JACK driver: use jack_client_open instead of the deprecated jack_client_new
* code cleanup: - global.h now only covers global definitions that are needed for the C++ API header files, all implementation internal global definitions are now in global_private.h - atomic.h is not exposed to the C++ API anymore (replaced the references in SynchronizedConfig.h for this with local definitions) - no need to include config.h anymore for using LS's API header files - DB instruments classes are not exposed to the C++ API - POSIX callback functions of Thread.h are hidden - the (optional) gig Engine benchmark compiles again - updated Doxyfile.in - fixed warnings in API doc generation * preparations for release 0.5.0
* fixed some more EG bugs that could cause noises or crashes
* 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%
* EG fix: a release value of zero could cause noises or crash * fix of previous thread safety fix, which in some cases locked the engine
* added linear interpolation of volume modulation inside a subfragment; this prevents clicks during voice stealing. Can be switched off with the --disable-interpolate-volume configure option.
* minor EG fine tuning: attack time now has a minimum value to prevent clicks
* fixed voice stealing - stolen voices weren't killed
* EG fixes: the length of "attack hold" stage was wrong. Release stage can now start before attack stage ends. Cancel release didn't work when sustain was zero.
* bug fixes for the new EG implementation
* 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 (everything's still very buggy ATM)
* if period time of chosen audio device is too small (< MIN_RELEASE_TIME) then simply show a warning about possible click sounds and reduce the volume ramp down appropriately instead of cancelling the audio device connection
* support for the gig parameters for "release velocity response" curves, which means the decay and release times now depends on velocity. The softer velocity, the longer release. * fine tuning of the envelope curves. Decay1 and release now have two parts, first linear and then exponential at the end.
* (re)implemented voice stealing algorithm "oldestvoiceonkey" and made it the default voice stealing algorithm * added new LSCP command "GET SERVER INFO" which currently returns description and version about this sampler * added some API documentation comments * minor cleanup
* All compile time options are now centrally alterable as arguments to the ./configure script. All options are C Macros beginning with CONFIG_ prefix and will be placed into auto generated config.h file.
* fixed a bug that made some release triggered samples too short (envelope went directly from attack to release)
just added some sanity checks for debugging
* bunch of bugfixes (e.g. segfault on voice stealing)
* libgig: fixed panorama value in DimensionRegion (invalid conversion from signed 7 bit to signed 8 bit) * src/linuxsampler.cpp: stacktrace is now automatically shown on fatal errors (that is segmentation faults, etc.), gdb should be installed for this to work * gig::Voice: tiny accuracy fix of pan calculation * replaced old pool classes by completely new ones which now offer Iterator abstraction
* Fixed a hang in stage_fadeout
* fixed another bug in EGADSR which caused clicks when voices were killed near the audio fragment end
* changed curve type from exponential to linear in stage 'end' of EGADSR (fixes click sounds at the end of voices)
* implemented key groups (a.k.a exclusive groups) which is important for drum patches and monphonic instruments * src/engines/gig/Engine.cpp: bugfix in ProcessNoteOn() - did not always stick the note on event to the respective key's own event list although e.g. the EGADRS expects it to find there
* Fixed a crash in EGADSR::Process()
updated copyright header for 2004
* completely restructured source tree * implemented multi channel support * implemented instrument manager, which controls sharing of instruments between multiple sampler engines / sampler channels * created abstract classes 'AudioOutputDevice' and 'MidiInputDevice' for convenient implementation of further audio output driver and MIDI input driver for LinuxSampler * implemented following LSCP commands: 'SET CHANNEL MIDI INPUT TYPE', 'LOAD ENGINE', 'GET CHANNELS', 'ADD CHANNEL', 'REMOVE CHANNEL', 'SET CHANNEL AUDIO OUTPUT TYPE' * temporarily removed all command line options * LSCP server is now launched by default
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
ViewVC Help | |
Powered by ViewVC |