Parent Directory
|
Revision Log
Links to HEAD: | (view) (download) (annotate) |
Sticky Revision: |
* 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
* let the GET FILE INSTRUMENT INFO command only return keyswitch range if keyswitching is actually used (#106)
* 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
* 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
* 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
* added support for triggering notes by instrument editors (still some cleanup / refactoring ahead, but it should work) * bumped version to 0.5.1.1cvs
* 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)
* made it possible to load an instrument even if the audio thread isn't running
* 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
* bugfix: the thread used by an editor plugin didn't die when the editor closed
* 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
* code refactoring, moved the following files from src/engines/ -> src/plugins/ : InstrumentEditor.h , InstrumentEditor.cpp , InstrumentEditorFactory.h , InstrumentEditorFactory.cpp
* 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
* 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
* 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"
* fixed crash occuring in conjunction with the new 'MAP MIDI_INSTRUMENT' LSCP command (cause: RingBuffer was not able to do deep copies)
* 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
* implemented MIDI instrument mapping according to latest LSCP draft
* 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.
* implemented progress indicator for loading instruments (can be polled with "GET CHANNEL INFO", field "INSTRUMENT_STATUS")
* 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
* 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)
* 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)
* support for keyswitching * ignore if no sample was defined for region(s) or dimension region(s) (patch by Andreas Persson)
raised verbosity of debug message in case of caching a whole sample
updated copyright header for 2004
* completely restructured source tree * implemented multi channel support * implemented instrument manager, which controls sharing of instruments between multiple sampler engines / sampler channels * created abstract classes 'AudioOutputDevice' and 'MidiInputDevice' for convenient implementation of further audio output driver and MIDI input driver for LinuxSampler * implemented following LSCP commands: 'SET CHANNEL MIDI INPUT TYPE', 'LOAD ENGINE', 'GET CHANNELS', 'ADD CHANNEL', 'REMOVE CHANNEL', 'SET CHANNEL AUDIO OUTPUT TYPE' * temporarily removed all command line options * LSCP server is now launched by default
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
ViewVC Help | |
Powered by ViewVC |