Parent Directory | Revision Log
Links to HEAD: | (view) (download) (as text) (annotate) |
Sticky Revision: |
* LSCP shell (WIP): Added initial support for built-in LSCP reference documentation, which will automatically show the relevant LSCP reference section on screen as soon as one specific LSCP command was detected while typing on the command line. * Bumped version (1.0.0.svn37).
* LSCP shell: Added support for moving cursor left/right with arrow keys. * Bumped version (1.0.0.svn35).
* WIP: LSCP Shell: implemented support for auto-correction of obvious and trivial LSCP syntax mistakes, support for auto-completion by tab key and visual completion suggestion while typing. * Bumped version (1.0.0.svn29).
* WIP: Introducing the LSCP shell: for now, providing color highlighting while typing (indicating correct part bold white, incorrect part red, and turning green when the command is complete. The shell application is implemented as thin client, that is the parser work is performed on sampler side and the shell application is just providing output formatting. * Bumped version (1.0.0.svn28).
* LSCP server: provide comprehensive error messages on LSCP syntax errors (suggesting expected next non-terminal symbols) * Bumped version (v1.0.0.svn26).
* refactoring: extracted lscp notification from main() to a separate function * added helper function MidiInputPort::DispatchRaw for midi device implementations with raw byte data * fixed a win32 build error (atomic.h is working on windows too) * code cleanup: moved lscp classes into LinuxSampler namespace
* 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
* 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
* bugfix: files with slash in their path or filename could not be loaded
* LSCP server returns verbose syntax errors (line and column where syntax error occured, the unexpected character and the actually expected, possible character(s), the latter only if less than 5 possibilities)
* fixed compile time error for old Bison versions (i.e. v1.28 found on MacOS 10.4, patch by Toshi Nagata)
* by default now all "MAP MIDI_INSTRUMENT" LSCP commands (also the "PERSISTENT" ones) block until the respective mapping is completely established in the sampler, added a new argument though to allow explicit mapping in the background ("MAP MIDI_INSTRUMENT NON_MODAL") * LSCP documentation updated
* implemented MIDI instrument mapping according to latest LSCP draft
* completely removed the lex scanner and replaced it by pure yacc rules for all terminal symbols (that is command keywords and variables) to avoid misunderstandings while parsing (e.g. recognition of command keywords in string arguments) * src/drivers/audio/AudioChannel.cpp: changed channel parameter 'Name' to 'NAME' as defined in the LSCP documentation
* implemented "SET ECHO" LSCP command
* moved ToString to common * Implemented handling of multiple connections * Implemented guts for event subscription/unsubscription * Illustrated event notification sending by sending MISC events when connections are established or terminated.
* Update parser to comply with the latest spec
* 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
* 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')
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
* implemented parser for the LinuxSampler control protocol (LSCP) by using flex / bison (where src/network/lscp.l is the input file for lex / flex and src/network/lscp.y is the input file for yacc / bison), parser and scanner can be regenerated by 'make parser' * implemented LSCP network server (only single threaded so far), LSCP server will be launched if LinuxSampler was started with "--server" flag, implemented the following LSCP commands so far: "LOAD INSTRUMENT", "GET CHANNEL VOICE_COUNT", "GET CHANNEL STREAM_COUNT", "GET CHANNEL BUFFER_FILL", "SET CHANNEL VOLUME" and "RESET CHANNEL" * disk thread now started within the engine
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 |