Log of /linuxsampler/branches/release1_0_0/src/engines
Directory Listing
Revision
1958 -
Directory Listing
Modified
Fri Jul 31 08:09:09 2009 UTC
(14 years, 8 months ago)
by
(unknown author)
This commit was manufactured by cvs2svn to create branch 'release1_0_0'.
Revision
1923 -
Directory Listing
Modified
Sat Jun 27 16:55:41 2009 UTC
(14 years, 10 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* fixed crash happening when a pitch bend event arrived at the same
time a new instrument was loading
* fixed building with sqlite installed in a non-standard directory
Revision
1896 -
Directory Listing
Modified
Mon May 4 18:34:44 2009 UTC
(14 years, 11 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* bugfix: two private structs had the same name, which could cause
problems if the linker chose the wrong constructor
Revision
1895 -
Directory Listing
Modified
Sun May 3 12:15:40 2009 UTC
(14 years, 11 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* fixes for using large audio device buffers
* VST: added support for sample rate and buffer size changes
* VST: close editor (Fantasia) when the VST is removed
* minor fix in configure for mmsystem.h detection on MinGW
* removed warnings from gcc 4.4 and valgrind
Revision
1893 -
Directory Listing
Modified
Sat May 2 18:57:49 2009 UTC
(14 years, 11 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* fixed crash which occured when max. voices / streams limits were altered
while voices were still active
Revision
1876 -
Directory Listing
Modified
Fri Mar 27 12:16:12 2009 UTC
(15 years, 1 month ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* added optional 3rd party user data parameter for following
liblinuxsampler C++ API methods: InstrumentEditor::Main(),
InstrumentEditor::Launch(), InstrumentManager::LaunchInstrumentEditor()
* minor cosmetics regarding configure script summary
* debian packaging: include DSSI and LV2 plugin binaries of the sampler
into the liblinuxsampler package
* RPM packaging: include DSSI and LV2 plugin binaries of the sampler
into the liblinuxsampler package
* bumped version to 0.5.1.12cvs
Revision
1868 -
Directory Listing
Modified
Wed Mar 18 22:16:14 2009 UTC
(15 years, 1 month ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* C++ API method InstrumentManager::LaunchInstrumentEditor() now returns
a pointer to the launched InstrumentEditor object
Revision
1862 -
Directory Listing
Modified
Wed Mar 11 19:03:37 2009 UTC
(15 years, 1 month ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* allow gig files to use unlimited downward pitch shifting
* added a limit check for upward pitch shifting
Revision
1858 -
Directory Listing
Modified
Sun Mar 8 09:57:19 2009 UTC
(15 years, 1 month ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* optimized the DSSI plugin: all plugin instances now share the same
disk streaming buffers
* added support for the "fine tune" and "pitch bend range"
instrument-level gig parameters
* fixed minor artifacts in pitch bend handling
Revision
1857 -
Directory Listing
Modified
Sat Mar 7 19:23:10 2009 UTC
(15 years, 1 month ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* fixed hanging notes which occured when note-off event had the exact
same time stamp as the voice's note-on event and occured both in the
same audio fragment cycle (fixes bug #112)
* bumped version to 0.5.1.11cvs
Revision
1855 -
Directory Listing
Modified
Mon Mar 2 15:33:38 2009 UTC
(15 years, 1 month ago)
by
iliev
Original Path:
linuxsampler/trunk/src/engines
* fixed endless loop in Engine::SuspendAll() (bug #120)
* AU plugin, work in progress: minor fixes in the build files
Revision
1852 -
Directory Listing
Modified
Sun Mar 1 22:22:03 2009 UTC
(15 years, 1 month ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* bugfix: on sample reference changes (instrument editor), only un-cache
the respective sample if it's really not used by any sampler engine
anymore
* re-cache samples in case they were changed by an instrument editor, e.g.
when a sample was added while playing (#82)
* bumped version to 0.5.1.10cvs
Revision
1847 -
Directory Listing
Modified
Fri Feb 27 17:12:40 2009 UTC
(15 years, 2 months ago)
by
iliev
Original Path:
linuxsampler/trunk/src/engines
* fixed crash when changing the audio output device of a sampler
channel with loaded instrument and start playing notes
Revision
1835 -
Directory Listing
Modified
Mon Feb 16 17:56:50 2009 UTC
(15 years, 2 months ago)
by
iliev
Original Path:
linuxsampler/trunk/src/engines
* Adapted drivers/Plugin class to be used as a base class for the
AudioUnit plugin and fixed orphaned pointers when deleting PluginGlobal
* Fixed possible iterator invalidations when resetting the sampler
* Fixed memory leaks when issuing the following LSCP commands:
GET AUDIO_OUTPUT_DRIVER INFO
GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO
GET MIDI_INPUT_DRIVER INFO
GET MIDI_INPUT_DRIVER_PARAMETER INFO
* Fixed possible compilation error when sqlite is not present
Revision
1826 -
Directory Listing
Modified
Sat Jan 24 14:32:35 2009 UTC
(15 years, 3 months ago)
by
iliev
Original Path:
linuxsampler/trunk/src/engines
* fixed a crash which occurs when removing a sampler channel with
instrument loading in progress (bug #113)
Revision
1800 -
Directory Listing
Modified
Sun Dec 7 01:26:46 2008 UTC
(15 years, 4 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* maximum voices and disk streams can now be altered at runtime (added new
LSCP commands "GET VOICES", "SET VOICES", "GET STREAMS", "SET STREAMS"
and accordingly new LSCP events "GLOBAL_INFO:VOICES" and
"GLOBAL_INFO:STREAMS")
* bumped version to 0.5.1.8cvs
Revision
1797 -
Directory Listing
Modified
Thu Dec 4 19:33:13 2008 UTC
(15 years, 4 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* let the GET FILE INSTRUMENT INFO command only return keyswitch range
if keyswitching is actually used (#106)
Revision
1789 -
Directory Listing
Modified
Sat Nov 1 19:01:27 2008 UTC
(15 years, 5 months ago)
by
iliev
Original Path:
linuxsampler/trunk/src/engines
* notification events for stream/voice count statistics are now sent
only when there are actual changes
* use atomic_t for stream/voice count statistics
Revision
1774 -
Directory Listing
Modified
Thu Sep 11 18:11:06 2008 UTC
(15 years, 7 months ago)
by
iliev
Original Path:
linuxsampler/trunk/src/engines
* don't retrieve key bindings and keyswitch bindings if
the instrument is not loaded in the instrument manager
* notification events are now sent when sending MIDI
messages using SEND CHANNEL MIDI_DATA lscp command
* fixed a bug in the keyswitch bindings retrieval
Revision
1771 -
Directory Listing
Modified
Wed Sep 10 15:02:24 2008 UTC
(15 years, 7 months ago)
by
iliev
Original Path:
linuxsampler/trunk/src/engines
* added new LSCP command: SEND CHANNEL MIDI_DATA which can be used by
frontends to send MIDI messages to specific sampler channel
* added two additional fields to GET FILE INSTRUMENT INFO command -
KEY_BINDINGS and KEYSWITCH_BINDINGS
* InstrumentResourceManager::GetInstrumentInfo now scans the specified
instrument file only if it is not loaded in the instrument manager
Revision
1764 -
Directory Listing
Modified
Sat Sep 6 14:55:18 2008 UTC
(15 years, 7 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* rewrote the ConditionServer class to make it possible to create
multiple sample channels when the audio thread isn't running
Revision
1762 -
Directory Listing
Modified
Fri Aug 29 17:33:02 2008 UTC
(15 years, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* global volume sysex message can now be selected at compile time to be
only applied to the sampler channels that are connected to the respective
MIDI input port the SysEx message arrived on (by default global volume
SysEx messages apply globally to the whole sampler)
* bumped version to 0.5.1.7cvs
Revision
1761 -
Directory Listing
Modified
Fri Aug 29 15:42:06 2008 UTC
(15 years, 7 months ago)
by
iliev
Original Path:
linuxsampler/trunk/src/engines
* fixed a crash which occurs when removing a sampler channel waiting
to start instrument loading after another channel
Revision
1751 -
Directory Listing
Modified
Mon Jul 28 07:36:35 2008 UTC
(15 years, 9 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* bugfix: process chromatic / drumkit mode sysex message only for
the respective engine channels that are connected to the MIDI
input port on which the message was received
Revision
1750 -
Directory Listing
Modified
Thu Jul 10 15:00:38 2008 UTC
(15 years, 9 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* added support for chromatic / drumkit mode Roland GS Sysex message
which is usally used to switch a part between chromatic sounds and
drumkit sounds (as opposed to their common default setting of MIDI
part 10 being a drumkit part and all other ones chromatic parts), in
LS however one can switch between the first 16 MIDI instrument maps
of all ones defined for the sampler
* bumped version to 0.5.1.6cvs
Revision
1748 -
Directory Listing
Modified
Sun Jun 22 14:46:46 2008 UTC
(15 years, 10 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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
Revision
1723 -
Directory Listing
Modified
Sun Apr 20 08:53:39 2008 UTC
(16 years ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* allow pan control of engine channels on C++ API level
* export denormals-are-zero mode feature to C++ API
Revision
1715 -
Directory Listing
Modified
Tue Mar 11 15:20:46 2008 UTC
(16 years, 1 month ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* dispatch bank select as ordinary CC as well, the user might seriously
want to (mis)use it for some purpose ("fixed" in all current MIDI
input drivers: ALSA, CoreMIDI, JACK, MidiShare, MME)
* minor fix: only mark FX sends as being modified if really the
respective FX send MIDI controller was used
Revision
1700 -
Directory Listing
Modified
Sun Feb 17 12:40:59 2008 UTC
(16 years, 2 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* added partial support for the "Controller Triggered" MIDI rule,
enough for piano gigs with pedal noise samples
Revision
1686 -
Directory Listing
Modified
Thu Feb 14 14:58:50 2008 UTC
(16 years, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* added new LSCP event "CHANNEL_MIDI" which can be used by frontends to
react on MIDI data arriving on certain sampler channels (so far only
Note-On and Note-Off events are sent via this LSCP event)
* bumped LSCP compliance version to 1.4
* bumped LS version to 0.5.1.3cvs
Revision
1681 -
Directory Listing
Modified
Wed Feb 13 15:10:13 2008 UTC
(16 years, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
- fixed di-harmonic triangle LFO implementation (this LFO implementation
is only used by very few systems, most pick the int math
implementation, which is usually faster)
Revision
1662 -
Directory Listing
Modified
Sun Feb 3 16:21:38 2008 UTC
(16 years, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* the promised "cleanup": rewrote virtual MIDI device's notification a bit
(using now a safe double buffer approach using "SynchronizedConfig"
instead of the Trylock() approach previously to synchronize the list of
virtual MIDI devices)
* bumped version to 0.5.1.2cvs
Revision
1659 -
Directory Listing
Modified
Sun Feb 3 00:13:27 2008 UTC
(16 years, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* added support for triggering notes by instrument editors
(still some cleanup / refactoring ahead, but it should work)
* bumped version to 0.5.1.1cvs
Revision
1653 -
Directory Listing
Modified
Wed Jan 30 01:51:46 2008 UTC
(16 years, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* added support for notifying instrument editors on note-on / note-off
events (e.g. to highlight the pressed keys on the virtual keyboard
of gigedit)
* fixed return value of recently added Thread::TestCancel() method
* be verbose on DLL load errors (on Linux)
Revision
1649 -
Directory Listing
Modified
Fri Jan 25 15:06:02 2008 UTC
(16 years, 3 months ago)
by
nagata
Original Path:
linuxsampler/trunk/src/engines
* added a new config option --enable-pthread-testcancel, which uses
pthread_testcancel() instead of asynchronous canceling (needed for OSX)
Revision
1644 -
Directory Listing
Modified
Sat Jan 19 16:55:03 2008 UTC
(16 years, 3 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* fixed memory leaks that occurred when liblinuxsampler was unloaded
* fixed a memory leak that could happen when a channel was deleted
while notes were playing
* fixed memory management bug in ASIO driver
* optimized the SynchronizedConfig class so it doesn't wait
unnecessarily long after an update
Revision
1552 -
Directory Listing
Modified
Wed Dec 5 22:37:42 2007 UTC
(16 years, 4 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* seems mingw has problems with accessing static variables from another
static (noinst) libtool library, at least it prevented it from producing
the liblinuxsampler.dll and just created a static archive
* fixed Perl script which automatically updates our LSCP spec source file
(lscp.xml), it didn't remove multi line C++ code
Revision
1525 -
Directory Listing
Modified
Sun Nov 25 17:47:46 2007 UTC
(16 years, 5 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* LSCP: added new LSCP commands: "GET FILE INSTRUMENTS <file>",
"LIST FILE INSTRUMENTS <file>" and
"GET FILE INSTRUMENT INFO <file> <index>" for retrieving informations
about an arbitrary instrument file on the system where the sampler is
running on (LSCP specs yet to be updated!)
* bumped version to 0.5.0.1cvs
* bumped LSCP compliance to LSCP version 1.3
Revision
1502 -
Directory Listing
Modified
Wed Nov 21 07:29:52 2007 UTC
(16 years, 5 months ago)
by
senoner
Original Path:
linuxsampler/trunk/src/engines
* win32 port, work in progress: added autoconf checks for Windows
- win32 additions in linuxsampler.cpp
Revision
1485 -
Directory Listing
Modified
Thu Nov 15 23:35:45 2007 UTC
(16 years, 5 months ago)
by
senoner
Original Path:
linuxsampler/trunk/src/engines
* win32 port, work in progress:
* added MME MIDI Input driver
* Resampler.h, gig/Synthesizer.h:
* changed return type of getSample() from int to int32_t
Revision
1484 -
Directory Listing
Modified
Thu Nov 15 13:24:41 2007 UTC
(16 years, 5 months ago)
by
senoner
Original Path:
linuxsampler/trunk/src/engines
* Stream.h: added a missing divide by BytesPerSample in GetWriteSpace()
* since this function is currently only used in the stream's
* qsort() compare function, it did trigger any bugs
* Resampler.h, Synthesizer.h:
* cubic interpolation now works in 24bit mode too
* faster method to read 24bit words on little endian machines (x86):
* replaced 3 byte reads + shifts with a 1 unaligned 32bit read and shift
Revision
1481 -
Directory Listing
Modified
Wed Nov 14 23:42:15 2007 UTC
(16 years, 5 months ago)
by
senoner
Original Path:
linuxsampler/trunk/src/engines
* win32 port work in progress:
* - implemented win32 support in the following classes:
* Thread, Condition, Mutex, Path, LscpServer
* - lscp.y use DONTCARE instead of VOID
* (a win32 symbol defined)
* - completed win32 editor plugin loader
Revision
1424 -
Directory Listing
Modified
Sun Oct 14 22:00:17 2007 UTC
(16 years, 6 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
Revision
1399 -
Directory Listing
Modified
Thu Oct 11 18:53:29 2007 UTC
(16 years, 6 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* the following LSCP command return escape sequences in at least one
of their LSCP response fields: "GET ENGINE INFO", "GET CHANNEL INFO",
"GET MIDI_INSTRUMENT INFO", "GET MIDI_INSTRUMENT_MAP INFO",
"GET FX_SEND INFO", "GET SERVER INFO"
* listed all LSCP commands in the LSCP specs which may use escape
sequences in at least on of their response fields
* hide instrument editor related debug messages in the gig::Engine when
using the default debug level (which is 1)
* bumped version to 0.4.0.8cvs
Revision
1375 -
Directory Listing
Modified
Wed Oct 3 18:41:09 2007 UTC
(16 years, 6 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* code refactoring, moved the following files from
src/engines/ -> src/plugins/ :
InstrumentEditor.h ,
InstrumentEditor.cpp ,
InstrumentEditorFactory.h ,
InstrumentEditorFactory.cpp
Revision
1348 -
Directory Listing
Modified
Fri Sep 14 14:45:11 2007 UTC
(16 years, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* behavior fix: on MIDI CC# 65 (portamento on / off), 126 (mono mode),
127 (solo mode) only kill voices if the respective mode really changed
Revision
1321 -
Directory Listing
Modified
Tue Sep 4 01:12:49 2007 UTC
(16 years, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* added highly experimental code for synchronizing instrument editors
hosted in the sampler's process to safely edit instruments while playing
without a crash (hopefully) by either suspending single regions wherever
possible or - if unavoidable - whole engine(s)
* disk thread: queue sizes are now proportional to CONFIG_MAX_STREAMS
instead of fix values
* removed legacy Makefiles in meanwhile deleted src/lib directory and its
subdirectories
* bumped version to 0.4.0.7cvs
Revision
1305 -
Directory Listing
Modified
Mon Aug 27 07:51:28 2007 UTC
(16 years, 8 months ago)
by
iliev
Original Path:
linuxsampler/trunk/src/engines
* added default min and max values to restrict the number of allowed
audio output channels and MIDI input ports
* the connection to the PCM interface is now closed when destroying
an audio output device
Revision
1298 -
Directory Listing
Modified
Fri Aug 17 12:55:37 2007 UTC
(16 years, 8 months ago)
by
iliev
Original Path:
linuxsampler/trunk/src/engines
* ensure that a notification event is sent when already
loaded instrument is assigned to another sampler channel
Revision
1259 -
Directory Listing
Modified
Tue Jun 26 21:41:09 2007 UTC
(16 years, 10 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* reenabled assembly features support, at the moment only for
enabling a fast denormal FPU mode (x86 platforms supporting SSE2)
* bumped version to 0.4.0.6cvs
Revision
1212 -
Directory Listing
Modified
Tue May 29 23:59:36 2007 UTC
(16 years, 11 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* added highly experimental support for on-the-fly instrument editing
within the sampler's process (by using instrument editor plugins),
you'll notice the new "Registered instrument editors:" message on
startup, the plugin path can be overridden at compile time with
./configure --enable-plugin-dir=/some/dir
* added a new LSCP command "EDIT INSTRUMENT <sampler-channel>" to spawn
a matching instrument editor for the instrument on the given sampler
channel (LSCP command syntax might be subject to change soon)
* config.h is not going to be installed along with liblinuxsampler's
API header files anymore (not necessary anymore)
* take care of $(DESTDIR) when creating the instruments DB on 'make
install' rule (needed for packaging and cross compilation)
* bumped version to 0.4.0.5cvs
Revision
1181 -
Directory Listing
Modified
Sat May 12 16:03:00 2007 UTC
(16 years, 11 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* fixed compiler error when --enable-override-filter-type was
supplied to the configure script (fixes #46)
Revision
1046 -
Directory Listing
Modified
Sat Feb 10 12:00:55 2007 UTC
(17 years, 2 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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%
Revision
1044 -
Directory Listing
Modified
Wed Feb 7 21:51:19 2007 UTC
(17 years, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
- small fix regarding previously added MIDI RPN controller handling
(all subsequent CC #6 messages were misinterpreted as being
values for the previously selected RPN controller)
Revision
1043 -
Directory Listing
Modified
Wed Feb 7 21:02:04 2007 UTC
(17 years, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* for now just set all notes off when receiving a MIDI coarse tuning
message to prevent hanging notes when transposing while playing
Revision
1041 -
Directory Listing
Modified
Wed Feb 7 17:45:19 2007 UTC
(17 years, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* handle MIDI coarse tuning messages (MIDI RPN #0 MSB, #2 LSB),
currently lazy implementation, transpose value is simply added on the
note on/off values instead only at the mandatory places, thus when
altering transpose while playing, voices can unintendedly survive
Revision
1040 -
Directory Listing
Modified
Wed Feb 7 15:41:31 2007 UTC
(17 years, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* bugfix: sampler crashed when trying to persistently map a not existent or
corrupt .gig file ("MAP MIDI_INSTRUMENT ... PERSISTENT")
* behavior fix: reset FX send levels i.e. when receiving a MIDI "reset all
controllers" message
* bumped version to 0.4.0.3cvs
Revision
1039 -
Directory Listing
Modified
Sat Feb 3 20:46:44 2007 UTC
(17 years, 2 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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
Revision
1038 -
Directory Listing
Modified
Sat Feb 3 15:33:00 2007 UTC
(17 years, 2 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* playback is no longer disabled during instrument loading
* all notes playing on a channel that changes its instrument keep
playing with the old instrument until they get a note off command
* new thread safety fix for lscp "load engine" and "set channel audio
output device"
Revision
1037 -
Directory Listing
Modified
Tue Jan 23 20:03:22 2007 UTC
(17 years, 3 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* bugfix regarding FX Sends: when more than one sampler channel used FX
sends, only the audio signal of the last sampler channel made it into the
final output signal
* fixed small autoconf compilation issue on certain systems (complained
about missing AM_PATH_ARTS macro)
Revision
1026 -
Directory Listing
Modified
Sun Jan 14 17:10:59 2007 UTC
(17 years, 3 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* extended response of LSCP command "GET FX_SEND INFO" to return the FX
Send's MIDI controller and current send level and added two new LSCP
commands "SET FX_SEND MIDI_CONTROLLER" and "SET FX_SEND LEVEL"
respectively
Revision
1012 -
Directory Listing
Modified
Sun Jan 7 15:52:36 2007 UTC
(17 years, 3 months ago)
by
capela
Original Path:
linuxsampler/trunk/src/engines
* Fixed a memory leak due to EngineFactory::Destroy() not doing it
as an actual destructor and just removing the engine instance from
factory stock and all instances allocated via EngineFactory::Create()
never got delete'd and thus their destructors never called. This bug
was evident while having many mapped instruments and querying the
instrument status via GET MIDI_INSTRUMENT INFO command, eating up
system memory very quickly and never let it go.
Revision
1005 -
Directory Listing
Modified
Fri Dec 29 20:06:14 2006 UTC
(17 years, 4 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* global volume can now be altered at runtime
(added two new LSCP commands for this, LSCP specs updated)
Revision
1001 -
Directory Listing
Modified
Wed Dec 27 16:17:08 2006 UTC
(17 years, 4 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* implemented effect sends (also added new LSCP commands for this feature,
updated LSCP spec document along with this commit batch as well)
Revision
989 -
Directory Listing
Modified
Tue Dec 19 19:34:08 2006 UTC
(17 years, 4 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* bugfix: sampler was limited to load max. 200 instruments in the
background (replaced RingBuffer FIFO by a std::list FIFO)
Revision
973 -
Directory Listing
Modified
Fri Dec 15 21:40:27 2006 UTC
(17 years, 4 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* revised and extended MIDI instrument mapping feature to allow managing
arbitrary amount of maps and assigning each sampler channel individually
to one map (this commit batch includes LSCP spec document update and
respective implementation on LS side)
Revision
970 -
Directory Listing
Modified
Wed Dec 6 22:28:17 2006 UTC
(17 years, 4 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* fixed crash occuring in conjunction with the new 'MAP MIDI_INSTRUMENT'
LSCP command (cause: RingBuffer was not able to do deep copies)
Revision
958 -
Directory Listing
Modified
Wed Nov 29 19:48:38 2006 UTC
(17 years, 4 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* store volume for each MIDI instrument mapper entry individually instead
of managing the volume as shared setting with the respective instrument
entry of its InstrumentManager
Revision
950 -
Directory Listing
Modified
Tue Nov 28 20:09:48 2006 UTC
(17 years, 5 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* if a filter is used and EG2 finishes before EG1, let the voice die
when EG2 has finished (this fixes a problem with clicks and voice
starvation for some gigs)
Revision
922 -
Directory Listing
Modified
Mon Oct 2 18:40:10 2006 UTC
(17 years, 6 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* small fix of LFO1 behaviour (dampening from max volume instead of
amplifying from 0)
* added checks for bad MIDI data
Revision
906 -
Directory Listing
Modified
Sun Jul 23 16:44:08 2006 UTC
(17 years, 9 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* MIDI driver API extension for MIDI drivers which already supply exact
time stamps for events (i.e. for offline rendering based MIDI drivers)
Revision
903 -
Directory Listing
Modified
Sat Jul 22 14:22:53 2006 UTC
(17 years, 9 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* real support for 24 bit samples - samples are not truncated to 16
bits anymore
* support for aftertouch (channel pressure, not polyphonic aftertouch)
Revision
900 -
Directory Listing
Modified
Wed Jul 5 17:53:22 2006 UTC
(17 years, 9 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* src/Sampler.h, src/Sampler.cpp: allow 3rd party applications to
retrieve available drivers and sampler engines
* src/linuxsampler.cpp: show available engines on startup (on the console)
Revision
890 -
Directory Listing
Modified
Sat Jul 1 13:43:04 2006 UTC
(17 years, 9 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
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
880 -
Directory Listing
Modified
Tue Jun 27 22:57:37 2006 UTC
(17 years, 10 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
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, 10 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* new filter implementation, which is more accurate and supports all
filter types including bandreject and lowpass turbo
Revision
865 -
Directory Listing
Modified
Sun May 14 07:15:52 2006 UTC
(17 years, 11 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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
846 -
Directory Listing
Modified
Sun Mar 19 16:38:22 2006 UTC
(18 years, 1 month ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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, 1 month ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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, 2 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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
832 -
Directory Listing
Modified
Sun Feb 5 10:24:05 2006 UTC
(18 years, 2 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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, 3 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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, 3 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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, 3 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 5 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* Bug-fixes: pitch changes larger than one octave didn't work. Looped
samples small enough to fit in RAM didn't work.
Revision
791 -
Directory Listing
Modified
Sun Oct 16 14:50:20 2005 UTC
(18 years, 6 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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, 6 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
775 -
Directory Listing
Modified
Wed Sep 21 14:30:43 2005 UTC
(18 years, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
741 -
Directory Listing
Modified
Tue Aug 16 17:20:55 2005 UTC
(18 years, 8 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
- deleted LFO.h
- added LFOBase.h, LFOTriangleDiHarmonic.h,
LFOTriangleIntAbsMath.h and LFOTriangleIntMath.h
Revision
738 -
Directory Listing
Modified
Tue Aug 16 17:14:25 2005 UTC
(18 years, 8 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 9 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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, 9 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* fixed little inconsistency: LSCP commands 'LIST AVAILABLE_ENGINES' and
'GET CHANNEL INFO' returned different names for the gig::Engine,
returning now only 'GIG'
Revision
721 -
Directory Listing
Modified
Sun Jul 24 19:44:44 2005 UTC
(18 years, 9 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
- fixed di-harmonic triangle LFO implementation
- calculated exact amplitude coefficient of 2nd harmonic
Revision
717 -
Directory Listing
Modified
Sun Jul 24 10:26:17 2005 UTC
(18 years, 9 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
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, 9 months ago)
by
iliev
Original Path:
linuxsampler/trunk/src/engines
* Added configure option --enable-process-muted-channels
which can be used to enable the processing of muted channels
Revision
705 -
Directory Listing
Modified
Wed Jul 20 21:43:23 2005 UTC
(18 years, 9 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
688 -
Directory Listing
Modified
Thu Jul 14 12:25:20 2005 UTC
(18 years, 9 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 9 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* minor efficiency fix (LFO preprocessing was performed even though the
respective LFO was disabled by the instrument patch)
Revision
670 -
Directory Listing
Modified
Tue Jun 21 18:00:52 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
(18 years, 10 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
(18 years, 10 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
663 -
Directory Listing
Modified
Sat Jun 18 21:37:03 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
(18 years, 10 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* LSCP server: fixed LSCP event "CHANNEL_INFO" notification
(e.g. did not notify on volume changes)
Revision
630 -
Directory Listing
Modified
Sat Jun 11 14:51:49 2005 UTC
(18 years, 10 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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
(18 years, 10 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
(18 years, 10 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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
(18 years, 11 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* (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
(18 years, 11 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
517 -
Directory Listing
Modified
Sun May 8 00:26:21 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* implemented progress indicator for loading instruments
(can be polled with "GET CHANNEL INFO", field "INSTRUMENT_STATUS")
Revision
504 -
Directory Listing
Modified
Tue May 3 00:37:35 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
498 -
Directory Listing
Modified
Sun Apr 10 18:37:45 2005 UTC
(19 years ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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 ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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
475 -
Directory Listing
Modified
Thu Mar 17 23:56:56 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
473 -
Directory Listing
Modified
Thu Mar 17 20:13:08 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 1 month ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
460 -
Directory Listing
Modified
Mon Mar 14 22:35:44 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 1 month ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* 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, 1 month ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* fixed a bug that sometimes caused clicks at the beginning of samples
* added denormal number elimination for CPUs with SSE2 support
Revision
420 -
Directory Listing
Modified
Thu Mar 3 03:25:17 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
396 -
Directory Listing
Modified
Sun Feb 20 20:32:24 2005 UTC
(19 years, 2 months ago)
by
persson
Original Path:
linuxsampler/trunk/src/engines
* fixed a bug that made some release triggered samples too short
(envelope went directly from attack to release)
Revision
392 -
Directory Listing
Modified
Sat Feb 19 02:40:24 2005 UTC
(19 years, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* fixed possibility that memory got not locked
* immediately set instrument status when calling LOAD INSTUMENT NON_MODAL
Revision
385 -
Directory Listing
Modified
Thu Feb 17 02:53:45 2005 UTC
(19 years, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
368 -
Directory Listing
Modified
Fri Feb 11 13:13:54 2005 UTC
(19 years, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
354 -
Directory Listing
Modified
Sat Jan 29 15:17:59 2005 UTC
(19 years, 2 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* support for keyswitching
* ignore if no sample was defined for region(s) or dimension region(s)
(patch by Andreas Persson)
Revision
348 -
Directory Listing
Modified
Sun Jan 23 21:24:16 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 3 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
328 -
Directory Listing
Modified
Sat Dec 25 21:58:58 2004 UTC
(19 years, 4 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* architecture independence fixes, should now compile again for non x86
systems
* tiny fix of command line switch --version
Revision
324 -
Directory Listing
Modified
Sat Dec 18 18:54:46 2004 UTC
(19 years, 4 months ago)
by
senkov
Original Path:
linuxsampler/trunk/src/engines
* 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, 4 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* fixed bug which caused samples not to be played back to their actual end
(patch by Andreas Persson, added a small extra fix)
Revision
320 -
Directory Listing
Modified
Mon Dec 13 00:53:16 2004 UTC
(19 years, 4 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 4 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 6 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
288 -
Directory Listing
Modified
Tue Oct 19 00:36:34 2004 UTC
(19 years, 6 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 6 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
271 -
Directory Listing
Modified
Fri Oct 8 20:51:39 2004 UTC
(19 years, 6 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
252 -
Directory Listing
Modified
Thu Sep 23 21:33:43 2004 UTC
(19 years, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
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
246 -
Directory Listing
Modified
Sun Sep 19 14:12:55 2004 UTC
(19 years, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
just tidied up event type specific parameters (that is note-on specific
parameters, controle change specific parameters, etc.) in Event class
Revision
242 -
Directory Listing
Modified
Wed Sep 15 13:59:08 2004 UTC
(19 years, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
233 -
Directory Listing
Modified
Tue Sep 7 09:32:21 2004 UTC
(19 years, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 7 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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, 8 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
203 -
Directory Listing
Modified
Tue Jul 13 22:44:13 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
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
(19 years, 10 months ago)
by
capela
Original Path:
linuxsampler/trunk/src/engines
* 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
(19 years, 10 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
111 -
Directory Listing
Modified
Sat Jun 5 20:55:50 2004 UTC
(19 years, 10 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* LSCP allows now comment lines, that is lines starting with a hash ('#')
character
* src/engines/gig/Voice.cpp: fixed "SET CHANNEL VOLUME" bug
Revision
80 -
Directory Listing
Modified
Sun May 23 19:16:33 2004 UTC
(19 years, 11 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
(19 years, 11 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
(19 years, 11 months ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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
53 -
Directory Listing
Added
Mon Apr 26 17:15:51 2004 UTC
(20 years ago)
by
schoenebeck
Original Path:
linuxsampler/trunk/src/engines
* 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