Log of /linuxsampler/trunk/src/engines
Directory Listing
Revision
899 -
Directory Listing
Modified
Wed Jul 5 17:43:48 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
just added API doc
Revision
890 -
Directory Listing
Modified
Sat Jul 1 13:43:04 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
just some refactoring work, moved the following files:
- src/engines/common/Engine.h -> src/engines/Engine.h,
- src/engines/common/EngineChannel.h ->
src/engines/EngineChannel.h,
- src/engines/common/EngineChannel.cpp ->
src/engines/EngineChannel.cpp
Revision
889 -
Directory Listing
Modified
Sat Jul 1 13:34:18 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
moved file src/engines/common/EngineChannel.h ->
src/engines/EngineChannel.h
Revision
888 -
Directory Listing
Modified
Sat Jul 1 13:33:21 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
moved file src/engines/common/EngineChannel.cpp ->
src/engines/EngineChannel.cpp
Revision
887 -
Directory Listing
Modified
Sat Jul 1 13:30:52 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
moved file src/engines/common/Engine.h -> src/engines/Engine.h
Revision
885 -
Directory Listing
Modified
Wed Jun 28 19:32:21 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
* various fixes to allow liblinuxsampler to be used
(as a native C++ library)
Revision
883 -
Directory Listing
Modified
Wed Jun 28 19:29:12 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
include SynthesisParam.h in release tarball
Revision
880 -
Directory Listing
Modified
Tue Jun 27 22:57:37 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
just some refactoring work:
- renamed class LinuxSamplerException -> Exception
- encapsulated LS API relevant files into LS namespace
- removed unnecessary header inclusions
Revision
877 -
Directory Listing
Modified
Sun Jun 25 13:54:17 2006 UTC
(17 years, 11 months ago)
by
persson
* new filter implementation, which is more accurate and supports all
filter types including bandreject and lowpass turbo
Revision
866 -
Directory Listing
Modified
Thu May 25 14:39:45 2006 UTC
(18 years ago)
by
persson
* gcc 4.1 compilation fix
Revision
865 -
Directory Listing
Modified
Sun May 14 07:15:52 2006 UTC
(18 years, 1 month ago)
by
persson
* 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
Revision
849 -
Directory Listing
Modified
Sat Mar 25 13:05:59 2006 UTC
(18 years, 2 months ago)
by
schoenebeck
* added compile time option to disable processing of All-Notes-Off
MIDI messages
Revision
846 -
Directory Listing
Modified
Sun Mar 19 16:38:22 2006 UTC
(18 years, 3 months ago)
by
persson
* more thread safety fixes: another fix for lscp "load engine" and
midi thread. Sysex midi protected against lscp. Instrument loader
thread protected against lscp thread.
Revision
841 -
Directory Listing
Modified
Sat Mar 4 16:23:53 2006 UTC
(18 years, 3 months ago)
by
persson
* fixed concurrency problems between the main thread doing
lscp notifications and the lscp thread
* bug fix: the LFOs were not properly initialized
Revision
840 -
Directory Listing
Modified
Sun Feb 26 13:00:08 2006 UTC
(18 years, 3 months ago)
by
persson
* fixed some concurrency problems between the lscp thread and the
audio/midi threads for these commands: load engine, set channel
audio output device, set channel midi input device/port/channel and
remove channel. Thanks to Vincent Bongiorno for bug reports and
testing.
* removed an autotools warning
* fixed an iterator bug
* minor code clean-ups
Revision
835 -
Directory Listing
Modified
Mon Feb 6 18:07:17 2006 UTC
(18 years, 4 months ago)
by
persson
* fixed some memory management errors
Revision
832 -
Directory Listing
Modified
Sun Feb 5 10:24:05 2006 UTC
(18 years, 4 months ago)
by
persson
* added smoothing of volume changes caused by control change messages
* fine tuning of the crossfade volume curve
Revision
831 -
Directory Listing
Modified
Sat Jan 28 16:55:30 2006 UTC
(18 years, 4 months ago)
by
persson
* fixed global pan (CC10) which hasn't been working for a while
* fine tuning of the curves for volume (CC7) and pan (CC10 and gig
parameter)
* added support for the "attenuation controller threshold" gig
parameter
Revision
830 -
Directory Listing
Modified
Sun Jan 15 18:23:11 2006 UTC
(18 years, 5 months ago)
by
persson
* 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.
Revision
829 -
Directory Listing
Modified
Sat Jan 14 14:07:47 2006 UTC
(18 years, 5 months ago)
by
schoenebeck
* 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
* fixed EG3 (pitch envelope) synthesis which was neutral all the time
* configure.in: do not automatically pick optimized gcc flags if the user
already provided some on his own (as CXXFLAGS)
Revision
799 -
Directory Listing
Modified
Sat Nov 5 10:59:37 2005 UTC
(18 years, 7 months ago)
by
persson
* Bug-fixes: pitch changes larger than one octave didn't work. Looped
samples small enough to fit in RAM didn't work.
Revision
797 -
Directory Listing
Modified
Wed Nov 2 19:26:15 2005 UTC
(18 years, 7 months ago)
by
persson
* minor EG fine tuning: attack time now has a minimum value to prevent
clicks
Revision
796 -
Directory Listing
Modified
Sun Oct 30 08:35:13 2005 UTC
(18 years, 7 months ago)
by
persson
* fixed voice stealing - stolen voices weren't killed
Revision
791 -
Directory Listing
Modified
Sun Oct 16 14:50:20 2005 UTC
(18 years, 8 months ago)
by
persson
* Filter tuning: calculation of cutoff frequency and bandwidth
improved. Removed use of "BasicBPFilter". Changed bandpass filter
from constant peak to constant skirt. Use gig parameter Resonance if
no resonance controller is set. Removed keyboard tracking influence
on resonance.
Revision
783 -
Directory Listing
Modified
Sun Oct 2 14:40:52 2005 UTC
(18 years, 8 months ago)
by
persson
* 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.
Revision
781 -
Directory Listing
Modified
Mon Sep 26 10:17:00 2005 UTC
(18 years, 8 months ago)
by
schoenebeck
* fixed event handling bug which was introduced by the recent synthesis
optimizations (events were only processed for the first active voice)
* added global volume attenuation of -9 dB (0.35f) to prevent clipping
which can be overridden with --enable-global-attenuation
Revision
776 -
Directory Listing
Modified
Wed Sep 21 19:05:41 2005 UTC
(18 years, 8 months ago)
by
iliev
* Added support for sostenuto pedal
Revision
775 -
Directory Listing
Modified
Wed Sep 21 14:30:43 2005 UTC
(18 years, 8 months ago)
by
schoenebeck
* src/drivers/MidiInputPort.cpp: fixed legacy SysEx code which caused
dispatching of MIDI SysEx messages several times instead of once
* src/engines/gig/Engine.cpp: fixed bug in SysEx handling
(patch by Juan Linietsky)
Revision
770 -
Directory Listing
Modified
Sun Sep 11 15:56:29 2005 UTC
(18 years, 9 months ago)
by
schoenebeck
* synthesis core optimizations
Revision
769 -
Directory Listing
Modified
Sat Sep 3 11:14:30 2005 UTC
(18 years, 9 months ago)
by
schoenebeck
* fixed endless loop which occured on MIDI control change
and pitch bend events
Revision
768 -
Directory Listing
Modified
Fri Sep 2 20:11:55 2005 UTC
(18 years, 9 months ago)
by
persson
* bug fixes for the new EG implementation
Revision
741 -
Directory Listing
Modified
Tue Aug 16 17:20:55 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
- deleted LFO.h
- added LFOBase.h, LFOTriangleDiHarmonic.h,
LFOTriangleIntAbsMath.h and LFOTriangleIntMath.h
Revision
740 -
Directory Listing
Modified
Tue Aug 16 17:17:52 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
deleted Manipulator.h
Revision
739 -
Directory Listing
Modified
Tue Aug 16 17:16:24 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
not in use anymore since LFO(s) were reimplemented
Revision
738 -
Directory Listing
Modified
Tue Aug 16 17:14:25 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
* 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)
Revision
729 -
Directory Listing
Modified
Tue Jul 26 11:18:46 2005 UTC
(18 years, 10 months ago)
by
persson
* 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 also scales
cutoff frequency, not just resonance.
Revision
727 -
Directory Listing
Modified
Mon Jul 25 15:18:44 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
* fixed little inconsistency: LSCP commands 'LIST AVAILABLE_ENGINES' and
'GET CHANNEL INFO' returned different names for the gig::Engine,
returning now only 'GIG'
Revision
724 -
Directory Listing
Modified
Mon Jul 25 09:28:00 2005 UTC
(18 years, 10 months ago)
by
iliev
- Fixed some typos
Revision
722 -
Directory Listing
Modified
Sun Jul 24 19:45:15 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
just a little API doc change
Revision
721 -
Directory Listing
Modified
Sun Jul 24 19:44:44 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
- fixed di-harmonic triangle LFO implementation
- calculated exact amplitude coefficient of 2nd harmonic
Revision
720 -
Directory Listing
Modified
Sun Jul 24 18:22:56 2005 UTC
(18 years, 10 months ago)
by
senkov
Added a variation of LFOTriangleIntMath using abs()
Revision
719 -
Directory Listing
Modified
Sun Jul 24 16:48:11 2005 UTC
(18 years, 10 months ago)
by
senkov
Adjusted code to build on gcc (GCC) 3.4.3-20050110
Revision
718 -
Directory Listing
Modified
Sun Jul 24 15:05:30 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
fixed integer math implementation of triangle LFO
Revision
717 -
Directory Listing
Modified
Sun Jul 24 10:26:17 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
Added "real" implementations of the triangle LFOs. Unfortunately
I introduced some bugs - the output results don't look like they should.
This has to be fixed.
Revision
716 -
Directory Listing
Modified
Sun Jul 24 06:57:30 2005 UTC
(18 years, 10 months ago)
by
iliev
* Added configure option --enable-process-muted-channels
which can be used to enable the processing of muted channels
Revision
713 -
Directory Listing
Modified
Thu Jul 21 20:50:45 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
oops, did I screw indention here? ;)
Revision
705 -
Directory Listing
Modified
Wed Jul 20 21:43:23 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
* 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 (patch by Grigor Iliev, a bit adjusted)
Revision
696 -
Directory Listing
Modified
Sat Jul 16 19:37:52 2005 UTC
(18 years, 11 months ago)
by
persson
* fine tuning of the EG modulation parameters
Revision
690 -
Directory Listing
Modified
Fri Jul 15 16:43:56 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
just to clearify that the previous change refers to voice stealing
Revision
688 -
Directory Listing
Modified
Thu Jul 14 12:25:20 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
* 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
Revision
687 -
Directory Listing
Modified
Tue Jul 12 22:37:21 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
* minor efficiency fix (LFO preprocessing was performed even though the
respective LFO was disabled by the instrument patch)
Revision
685 -
Directory Listing
Modified
Tue Jul 5 19:30:37 2005 UTC
(18 years, 11 months ago)
by
persson
* gcc 4.0 compilation fixes
Revision
675 -
Directory Listing
Modified
Wed Jun 22 22:09:28 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
* update MIDI channel info on program change
Revision
670 -
Directory Listing
Modified
Tue Jun 21 18:00:52 2005 UTC
(19 years ago)
by
schoenebeck
* don't reset volume, pan, pitch and MIDI controller values on instrument
or audio output device change
* send 'CHANNEL_INFO' LSCP event on MIDI program change messages
Revision
669 -
Directory Listing
Modified
Tue Jun 21 13:33:19 2005 UTC
(19 years ago)
by
schoenebeck
* 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)
Revision
668 -
Directory Listing
Modified
Mon Jun 20 15:30:47 2005 UTC
(19 years ago)
by
schoenebeck
* fixed a key group bug which caused undefined behavior in conjunction with
stolen voices (this case was usually followed by a "killed voice
survived" or "voice stealing didn't work out" error message)
Revision
665 -
Directory Listing
Modified
Sun Jun 19 15:11:20 2005 UTC
(19 years ago)
by
schoenebeck
finally fixes endless loop in voice stealing algorithm (hopefully)
Revision
663 -
Directory Listing
Modified
Sat Jun 18 21:37:03 2005 UTC
(19 years ago)
by
schoenebeck
* another voice stealing fix
(endless loop occured when voices were stolen from other engine channels)
Revision
660 -
Directory Listing
Modified
Fri Jun 17 19:49:30 2005 UTC
(19 years ago)
by
schoenebeck
* LSCP server: fixed LSCP event "CHANNEL_INFO" notification
(e.g. did not notify on volume changes)
Revision
659 -
Directory Listing
Modified
Thu Jun 16 21:35:30 2005 UTC
(19 years ago)
by
schoenebeck
* don't reset scale tuning on instrument or audio output device change
Revision
654 -
Directory Listing
Modified
Wed Jun 15 20:25:25 2005 UTC
(19 years ago)
by
schoenebeck
* fixed 'make dist' build rule to include all necessary files
Revision
649 -
Directory Listing
Modified
Wed Jun 15 00:01:28 2005 UTC
(19 years ago)
by
schoenebeck
* revised voice stealing (fixes crash caused by voice stealing)
Revision
630 -
Directory Listing
Modified
Sat Jun 11 14:51:49 2005 UTC
(19 years ago)
by
persson
* volume of release triggered samples now depends on note-on velocity,
note length and gig parameter "release trigger decay" instead of
note-off velocity.
Revision
617 -
Directory Listing
Modified
Wed Jun 8 21:00:06 2005 UTC
(19 years ago)
by
schoenebeck
* hand-crafted assembly optimization code can be disabled with
'./configure --disable-asm' (definitely not recommended)
Revision
614 -
Directory Listing
Modified
Mon Jun 6 16:54:20 2005 UTC
(19 years ago)
by
persson
* 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.
Revision
563 -
Directory Listing
Modified
Sun May 22 20:43:32 2005 UTC
(19 years ago)
by
schoenebeck
* (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
Revision
554 -
Directory Listing
Modified
Thu May 19 19:25:14 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
* 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.
Revision
539 -
Directory Listing
Modified
Wed May 11 20:03:02 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
lowered MAX_AUDIO_VOICES to pessimistic 64
Revision
538 -
Directory Listing
Modified
Wed May 11 20:02:17 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
just some cleanup
Revision
517 -
Directory Listing
Modified
Sun May 8 00:26:21 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
* implemented progress indicator for loading instruments
(can be polled with "GET CHANNEL INFO", field "INSTRUMENT_STATUS")
Revision
510 -
Directory Listing
Modified
Wed May 4 12:02:35 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
* autotools build fixes for PPC architecture
Revision
505 -
Directory Listing
Modified
Tue May 3 01:00:25 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
fixed libgig include rules
Revision
504 -
Directory Listing
Modified
Tue May 3 00:37:35 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
* removed statically included libgig sources from the LinuxSampler code
base - you now have to compile and install libgig separately
* added -Wreturn-type gcc switch to avoid bugs with no returns on non void
functions in future
Revision
502 -
Directory Listing
Modified
Fri Apr 29 14:20:22 2005 UTC
(19 years, 1 month ago)
by
letz
Fix destructor
Revision
498 -
Directory Listing
Modified
Sun Apr 10 18:37:45 2005 UTC
(19 years, 2 months ago)
by
schoenebeck
* fixed bug in MMX/SSE(1) implementation of the sample loop code (caused
RAM-only voices to crash when entering the sample's loop section under
certain conditions)
Revision
497 -
Directory Listing
Modified
Sun Apr 10 11:55:44 2005 UTC
(19 years, 2 months ago)
by
persson
* removed some build warnings
* fixed a bug with hanging notes when using sustain pedal
* release samples are not triggered anymore when sustain pedal is down
Revision
493 -
Directory Listing
Modified
Sun Apr 3 19:53:43 2005 UTC
(19 years, 2 months ago)
by
schoenebeck
* fixed MIDI GS scale tuning (via SysEx Message)
Revision
475 -
Directory Listing
Modified
Thu Mar 17 23:56:56 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* fixed segmentation fault on "GET CHANNEL INFO" commands which occured
when an engine type was selected but no audio device connected yet to
the sampler channel (fixes bug #4)
Revision
474 -
Directory Listing
Modified
Thu Mar 17 21:28:04 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
forgot to commit this with recent batch
Revision
473 -
Directory Listing
Modified
Thu Mar 17 20:13:08 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* fixed event leak (events sent to inactive keys were not freed)
* implemented MIDI channel mode messages "All Sound Off", "Reset All
Controller", "All Notes Off" (fixes bug #5)
Revision
466 -
Directory Listing
Modified
Tue Mar 15 19:27:01 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* fixed another crash under heavy load which was accidently introduced with
the previous commit - events have to be processed completely on all
engine channels before audio is rendered (fixes bug #7)
Revision
461 -
Directory Listing
Modified
Mon Mar 14 22:36:48 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
forgot to commit this with recent batch
Revision
460 -
Directory Listing
Modified
Mon Mar 14 22:35:44 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* spawning layered voices now within a loop instead of recursively (fixes
segmentation fault under heavy voice count load and reduces stress on the
stack)
* voice stealing operates on all engine channels now
* limit voice stealing to MAX_AUDIO_VOICES thefts per audio fragment cycle
* fixed keygroup handling (layered voices could kill each other)
Revision
438 -
Directory Listing
Modified
Wed Mar 9 22:12:15 2005 UTC
(19 years, 3 months ago)
by
persson
* 24-bit decompression now supports the 20 and 18 bit formats
* support for "random" and "round robin" dimensions
* removed a warning printout for empty samples during instrument
loading
Revision
425 -
Directory Listing
Modified
Sat Mar 5 07:27:48 2005 UTC
(19 years, 3 months ago)
by
persson
* fixed a bug that sometimes caused clicks at the beginning of samples
* added denormal number elimination for CPUs with SSE2 support
Revision
424 -
Directory Listing
Modified
Fri Mar 4 22:54:11 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* implemented MIDI Control Change 7 (Volume)
* implemented MIDI Control Change 10 (Panpot)
Revision
420 -
Directory Listing
Modified
Thu Mar 3 03:25:17 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* fixed some segfaults (which occured on EngineChannel destruction)
* InstrumentResourceManager: recache small samples if their current
number of silence sample points are not sufficient enough for the used
audio output device
* src/linuxsampler.cpp: voice / streams statistics on the console is back
again (can be turned on with command line switch --statistics)
Revision
412 -
Directory Listing
Modified
Sat Feb 26 22:44:51 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* gig::Engine: fixed silence (engine channels' events were not imported
into the engine, fixed undesired creation of new gig::Engine instances
(and disk threads)
* AudioOutputDevice: reverted behavior to render per Engine instance (and
not per EngineChannel instance)
Revision
411 -
Directory Listing
Modified
Sat Feb 26 02:01:14 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* design change: using now one sampler engine instance and one disk thread
instance for all sampler channels that are connected to the same audio
output device (and are using the same engine type of course)
* added EngineFactory / EngineChannelFactory to remove the annoying build
dependencies e.g. of the lscpserver to the actual sampler engine
implementations
* bumped version to 0.3.0 (current CVS state is still quite broken,
previous, stable CVS version was tagged as "v0_2_0" and is also available
as source tarball)
Revision
407 -
Directory Listing
Modified
Wed Feb 23 19:14:14 2005 UTC
(19 years, 3 months ago)
by
persson
* added support for sample parameter 'attenuation'
Revision
396 -
Directory Listing
Modified
Sun Feb 20 20:32:24 2005 UTC
(19 years, 3 months ago)
by
persson
* fixed a bug that made some release triggered samples too short
(envelope went directly from attack to release)
Revision
394 -
Directory Listing
Modified
Sun Feb 20 13:01:59 2005 UTC
(19 years, 4 months ago)
by
persson
fixed my previous fix.
Revision
393 -
Directory Listing
Modified
Sun Feb 20 12:30:36 2005 UTC
(19 years, 4 months ago)
by
persson
* fixed a bug that caused noise at end of samples
Revision
392 -
Directory Listing
Modified
Sat Feb 19 02:40:24 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* fixed possibility that memory got not locked
* immediately set instrument status when calling LOAD INSTUMENT NON_MODAL
Revision
386 -
Directory Listing
Modified
Thu Feb 17 10:45:30 2005 UTC
(19 years, 4 months ago)
by
letz
Add missing virtual destructor
Revision
385 -
Directory Listing
Modified
Thu Feb 17 02:53:45 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* lscpserver: we now only use one instrument loader thread; commands for
loading instruments in the background wait in a queue to be processed one
by one to avoid possible race conditions and to improve I/O efficiency
* fixed possible race condition while streaming with multiple disk threads
by using an own decompression buffer for each disk thread
* libgig: fixed some memory leaks caused by non virtual base constructors
Revision
376 -
Directory Listing
Modified
Sat Feb 12 23:48:50 2005 UTC
(19 years, 4 months ago)
by
senkov
* Added INSTRUMENT_NAME to GET CHANNEL INFO command result set
Revision
368 -
Directory Listing
Modified
Fri Feb 11 13:13:54 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* some fixes regarding the filter (fixes the "silence" bug which occured
occasionally, caused by random biquad parameters which lead to unstable
filter equation and thus to infinit filter output results)
Revision
361 -
Directory Listing
Modified
Wed Feb 9 01:22:18 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* bunch of fixes for OSX (patch by Stephane Letz)
Revision
354 -
Directory Listing
Modified
Sat Jan 29 15:17:59 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* support for keyswitching
* ignore if no sample was defined for region(s) or dimension region(s)
(patch by Andreas Persson)
Revision
351 -
Directory Listing
Modified
Tue Jan 25 22:11:43 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* fixed some memory leaks (patch by Gene Anders)
Revision
349 -
Directory Listing
Modified
Tue Jan 25 01:05:33 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
raised verbosity of debug message in case of caching a whole sample
Revision
348 -
Directory Listing
Modified
Sun Jan 23 21:24:16 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* another crossfade fix (honoring AttenuationController for case 0,0,0,0,
fixed cases in_start = in_end = CrossfadeControllerValue, fixed curve for
cases out_start < CrossfadeControllerValue < out_end, honoring
InvertAttenuationController parameter)
* support for up to 8 dimensions as introduced by Gig V3
(patch by Andreas Persson)
Revision
346 -
Directory Listing
Modified
Fri Jan 21 17:17:31 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* libgig: fixed vcf_type_lowpassturbo value, fixed crossfade points order
* gig::Voice: fixed special crossfade case 0,0,0,0 which actually means no
crossfade defined
Revision
336 -
Directory Listing
Modified
Mon Jan 3 03:33:51 2005 UTC
(19 years, 5 months ago)
by
senkov
* Fixed a bug in assembly that cause crashes in some cases
Revision
335 -
Directory Listing
Modified
Mon Jan 3 02:48:25 2005 UTC
(19 years, 5 months ago)
by
senkov
* Fixed pitch calculation. FineTune needs to be taken as is
without multiplying it by 10.
Revision
333 -
Directory Listing
Modified
Sat Jan 1 08:18:07 2005 UTC
(19 years, 5 months ago)
by
senkov
* Fix a basic diskthread multichannel issue.
Revision
332 -
Directory Listing
Modified
Sat Jan 1 03:06:06 2005 UTC
(19 years, 5 months ago)
by
senkov
* Initialize the synthesis mode bitmask properly
Revision
330 -
Directory Listing
Modified
Wed Dec 29 01:14:15 2004 UTC
(19 years, 5 months ago)
by
schoenebeck
* fixed endless loop at the end of sample playback
(patch by Andreas Persson)
Revision
329 -
Directory Listing
Modified
Tue Dec 28 09:43:04 2004 UTC
(19 years, 5 months ago)
by
senkov
* Fixes for engine reloading. Fixed streaming bugs in some
cases only, most probably not all yet.
Revision
328 -
Directory Listing
Modified
Sat Dec 25 21:58:58 2004 UTC
(19 years, 5 months ago)
by
schoenebeck
* architecture independence fixes, should now compile again for non x86
systems
* tiny fix of command line switch --version
Revision
326 -
Directory Listing
Modified
Tue Dec 21 04:59:11 2004 UTC
(19 years, 6 months ago)
by
senkov
Added profiler class
Revision
325 -
Directory Listing
Modified
Tue Dec 21 04:54:37 2004 UTC
(19 years, 6 months ago)
by
senkov
* Added some profiling capabilities, bugs.
Revision
324 -
Directory Listing
Modified
Sat Dec 18 18:54:46 2004 UTC
(19 years, 6 months ago)
by
senkov
* Applied patch from Andreas Persson and made a few other small
changes to fix a bug in the filter code.
Revision
323 -
Directory Listing
Modified
Tue Dec 14 00:32:21 2004 UTC
(19 years, 6 months ago)
by
schoenebeck
* fixed bug which caused samples not to be played back to their actual end
(patch by Andreas Persson, added a small extra fix)
Revision
322 -
Directory Listing
Modified
Mon Dec 13 03:33:59 2004 UTC
(19 years, 6 months ago)
by
senkov
* fixed CalculateBiquadParameters() to set parameters for
both right and left, not just left.
Revision
320 -
Directory Listing
Modified
Mon Dec 13 00:53:16 2004 UTC
(19 years, 6 months ago)
by
schoenebeck
* introduced 'synthesis mode' to reduce the amount of code and conditionals
for the current synthesis case in the main synthesis loop
* support for MMX and SSE(1) in the core synthesis algorithms (CPU feature
detection at runtime, only x86 so far)
Revision
319 -
Directory Listing
Modified
Mon Dec 13 00:46:42 2004 UTC
(19 years, 6 months ago)
by
schoenebeck
* introduced 'synthesis mode' to reduce the amount of code and conditionals
for the current synthesis case in the main synthesis loop
* support for MMX and SSE(1) in the core synthesis algorithms (CPU feature
detection at runtime, only x86 so far)
Revision
293 -
Directory Listing
Modified
Mon Oct 25 15:14:27 2004 UTC
(19 years, 7 months ago)
by
schoenebeck
* gig::Engine: changed way how events make it from the input event queue
into the engine's process chain (fixes forced segfault in EGADSR)
* Event.h: using signed type for fragment position for easier
differentiation if event might happened before or after current fragment
Revision
292 -
Directory Listing
Modified
Mon Oct 25 14:59:18 2004 UTC
(19 years, 7 months ago)
by
schoenebeck
encapsulated error message into quotation marks
Revision
288 -
Directory Listing
Modified
Tue Oct 19 00:36:34 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
* configure.in: added check for UNIX98 compatibility, check if there's at
least one supported MIDI input and audio output system available, added
conditionals for ALSA and JACK
* src/drivers/audio/Makefile.am: ALSA and JACK drivers are only compiled
respectively if they're supported by the system
* MidiInputDeviceFactory.cpp, AudioOutputDeviceFactory.cpp: little
workaround for reported linker problem
* removed autotools generated files from CVS
Revision
287 -
Directory Listing
Modified
Sat Oct 16 17:38:03 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
* fixed segfault which occured whenever a voice stole a voice and was in
turn killed in the same audio fragment, to fix that the MIDI key
informations are now updated only after all voices were processed
Revision
286 -
Directory Listing
Modified
Sat Oct 16 17:29:05 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
just added some sanity checks for debugging
Revision
285 -
Directory Listing
Modified
Thu Oct 14 21:31:26 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
* bunch of bugfixes (e.g. segfault on voice stealing)
Revision
284 -
Directory Listing
Modified
Thu Oct 14 21:24:39 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
raised EG_MIN_RELEASE_TIME a bit to avoid click sounds
Revision
273 -
Directory Listing
Modified
Fri Oct 8 21:04:51 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
forgot to modify include for Pool.h
Revision
271 -
Directory Listing
Modified
Fri Oct 8 20:51:39 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
* 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
Revision
268 -
Directory Listing
Modified
Thu Oct 7 22:20:20 2004 UTC
(19 years, 8 months ago)
by
capela
* gcc-c++ 3.4.1 compability fixes.
Revision
259 -
Directory Listing
Modified
Wed Sep 29 03:16:01 2004 UTC
(19 years, 8 months ago)
by
senkov
* Fixed a hang in stage_fadeout
Revision
252 -
Directory Listing
Modified
Thu Sep 23 21:33:43 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
* fixed another bug in EGADSR which caused clicks when voices were killed
near the audio fragment end
Revision
251 -
Directory Listing
Modified
Mon Sep 20 12:27:48 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* changed curve type from exponential to linear in stage 'end' of
EGADSR (fixes click sounds at the end of voices)
Revision
250 -
Directory Listing
Modified
Mon Sep 20 00:31:13 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* added first two experimental voice stealing algorithms ('oldestkey' -
which just steals the oldest voice on the oldest key and 'keymask' - which
tries to pick the oldest voice on the same key where the new voice should
be spawned, if it fails it behaves like 'oldestkey'), the desired algorithm
can be selected at compile time (see Engine.h) will be configurable via
LSCP soon though
Revision
249 -
Directory Listing
Modified
Mon Sep 20 00:26:40 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
reduced EG_MIN_RELEASE_TIME to allow to finish kill process of a voice
within the same audio fragment, this will be e.g. be mandatory for voice
stealing
Revision
247 -
Directory Listing
Modified
Sun Sep 19 23:44:23 2004 UTC
(19 years, 9 months ago)
by
senkov
* Small fix to pan coeff. calculation.
* (LS was silent with gigs where pan was 0).
Revision
246 -
Directory Listing
Modified
Sun Sep 19 14:12:55 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
just tidied up event type specific parameters (that is note-on specific
parameters, controle change specific parameters, etc.) in Event class
Revision
245 -
Directory Listing
Modified
Sat Sep 18 14:12:36 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* support patch panorama info
Revision
244 -
Directory Listing
Modified
Fri Sep 17 01:01:11 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* added support for scale tuning via MIDI GS system exclusive message
Revision
242 -
Directory Listing
Modified
Wed Sep 15 13:59:08 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* added support for release trigger dimension (that is voices which are
spawned when a key was released)
* libgig: bugfix in dimension region switching
Revision
239 -
Directory Listing
Modified
Sun Sep 12 14:48:19 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* 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
Revision
237 -
Directory Listing
Modified
Sun Sep 12 01:59:40 2004 UTC
(19 years, 9 months ago)
by
senkov
* Fixed a crash in EGADSR::Process()
Revision
236 -
Directory Listing
Modified
Thu Sep 9 18:44:18 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* added support for crossfades
* support sample playback start offset
Revision
233 -
Directory Listing
Modified
Tue Sep 7 09:32:21 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* added support for layers
* fixed initial pitch calculation which did not honor the sample's own
sample rate
Revision
230 -
Directory Listing
Modified
Thu Sep 2 21:52:29 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* src/engines/gig/Voice.cpp: dimension region selection takes current
MIDI controller values into account
Revision
225 -
Directory Listing
Modified
Sun Aug 22 14:46:47 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* set default volume to 1.0 in Gigasampler engine (was 0.0)
* implemented "SET CHANNEL AUDIO_OUTPUT_CHANNEL" LSCP command
* fixed "GET ENGINE INFO" LSCP command
* fixed "GET CHANNEL INFO" LSCP command
* src/network/lscp.y: fixed 'stringval' rule (returned string with formal
apostrophes), fixed 'dotnum' rule (ignored position after decimal point)
Revision
205 -
Directory Listing
Modified
Tue Jul 13 23:16:40 2004 UTC
(19 years, 11 months ago)
by
schoenebeck
accidently commited this file
Revision
203 -
Directory Listing
Modified
Tue Jul 13 22:44:13 2004 UTC
(19 years, 11 months ago)
by
schoenebeck
forgot to change some things which was mandatory due to the recent
directory movements ('/src/audiodriver' -> '/src/drivers/audio',
'/src/mididriver' -> '/src/drivers/midi')
Revision
133 -
Directory Listing
Modified
Fri Jun 18 14:29:02 2004 UTC
(20 years ago)
by
capela
* Load Instrument patch applied; this patch makes the
LOAD INSTRUMENT command to return immediately,
almost/always with an OK response, while spawning
the proper instrument file loading in the background.
* New INSTRUMENT_STATUS field on GET CHANNEL INFO result
set; the instrument status value holds the load progress
percentage if positive, otherwise a negative value is
evidence of a load exception error.
* VERSION is now set to 0.2.
Revision
123 -
Directory Listing
Modified
Mon Jun 14 19:33:16 2004 UTC
(20 years ago)
by
schoenebeck
* src/common: added template class 'optional<>' which can be used e.g. as
return type whenever a value might be returned, but don't has to; this
template class pretty much acts like a pointer of the given type, but is
much more safer than a simple pointer
* src/audiodriver: added static class AudioDeviceFactory to create audio
devices at runtime by using a string and to obtain driver informations
of drivers at runtime, driver classes should simply use the macro
REGISTER_AUDIO_OUTPUT_DRIVER(DriverName,DriverClass) in their cpp file
to register the driver to LinuxSampler (no changes needed anymore in the
LS code to add a new audio output driver)
* src/drivers: added classes to dynamically manage driver parameters; there
are two different kinds of parameters: parameters which are need to
create a new device (DeviceCreationParameterX) used to e.g. create an
audio output device or a MIDI input device and parameters which are only
available at runtime, means when a device is already created
(DeviceRuntimeParameterX) which will be e.g. used as audio channel
parameters and MIDI port parameters
* src/linuxsampler.cpp: all registered audio output drivers will be shown
on the console on startup
* src/network: implemented configuration of audio output devices via LSCP
Revision
112 -
Directory Listing
Modified
Sun Jun 6 20:57:28 2004 UTC
(20 years ago)
by
senkov
* Added methods for CHANNEL_INFO command
Revision
111 -
Directory Listing
Modified
Sat Jun 5 20:55:50 2004 UTC
(20 years ago)
by
schoenebeck
* LSCP allows now comment lines, that is lines starting with a hash ('#')
character
* src/engines/gig/Voice.cpp: fixed "SET CHANNEL VOLUME" bug
Revision
99 -
Directory Listing
Modified
Tue Jun 1 16:19:40 2004 UTC
(20 years ago)
by
letz
* Do polynomial interpolation computation in float
Revision
97 -
Directory Listing
Modified
Mon May 31 19:28:09 2004 UTC
(20 years ago)
by
schoenebeck
* src/engines/gig/Voice.h: fixed bug which caused to hear only one audio
channel
Revision
84 -
Directory Listing
Modified
Sun May 23 20:17:31 2004 UTC
(20 years ago)
by
schoenebeck
forgot to remove a redundant assignment (only a small efficiency issue)
Revision
80 -
Directory Listing
Modified
Sun May 23 19:16:33 2004 UTC
(20 years ago)
by
schoenebeck
* biquad filter parameters are now calculated outside the interpolate
loop for better performance
* couple of loop unroll optimizations
* filter is now enabled by default
* cubic interpolation is now enabled by default
* reduced debug level to 1 to lower verbosity
* raised default limit for voices to 128
* raised default limit for streams to 150
* added some compiler optimization flags (-ffast-math -march -mcpu)
Revision
64 -
Directory Listing
Modified
Thu May 6 20:06:20 2004 UTC
(20 years, 1 month ago)
by
schoenebeck
* src/Sampler.cpp: fixed 3 stupid but fatal bugs that left in the rush (in
method SamplerChannels(), CreateAudioOutputDevice() and
CreateMidiInputDevice())
* src/network/lscpserver.cpp: implemented LSCP command
'SET CHANNEL MIDI_INPUT_CHANNEL'
* src/Sampler.h: moved enums 'audio_output_type_t', 'midi_input_type_t'
and 'engine_type_t' into the respective base classes
('AudioOutputDevice', 'MidiInputDevice', 'Engine')
Revision
57 -
Directory Listing
Modified
Sun May 2 17:45:43 2004 UTC
(20 years, 1 month ago)
by
schoenebeck
* src/common/Thread.cpp: method StartThread() now blocks until thread
actually runs, mlockall() will only be applied for realtime threads
* libtoolized liblinuxsampler
* initiated automatic unit tests against the LinuxSampler codebase
(see src/testcases): already added a couple of tests for the Thread and
Mutex classes, you have to explicitly compile the unit tests by running
'make testcases' (you need to have cppunit installed though) and then you
can run the console version of the test runner by calling
'src/testcases/linuxsamplertest'
* src/Sampler.h: added API documentation
Revision
56 -
Directory Listing
Modified
Tue Apr 27 09:21:58 2004 UTC
(20 years, 1 month ago)
by
schoenebeck
updated copyright header for 2004
Revision
53 -
Directory Listing
Added
Mon Apr 26 17:15:51 2004 UTC
(20 years, 1 month ago)
by
schoenebeck
* 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