Parent Directory
|
Revision Log
Links to HEAD: | (view) (download) (annotate) |
Sticky Revision: |
* 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)
* implemented MIDI instrument mapping according to latest LSCP draft
* small fix of LFO1 behaviour (dampening from max volume instead of amplifying from 0) * added checks for bad MIDI data
* MIDI driver API extension for MIDI drivers which already supply exact time stamps for events (i.e. for offline rendering based MIDI drivers)
just some refactoring work: - renamed class LinuxSamplerException -> Exception - encapsulated LS API relevant files into LS namespace - removed unnecessary header inclusions
* 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.
* 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
* fixed some invalid iterator errors
* 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)
* update MIDI channel info on program change
* 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
* Implemented MIDI program change as general, engine independant solution. The program number will determine the sampler channel to which the MIDI device will be connected to and the given MIDI channel defines on which MIDI channel that sampler channel should listen to. Also the program change will disconnect probably established connection from the previous program change event.
* 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)
* MidiInputPort: fixed dispatching of MIDI events to engines which are listening to all MIDI channels * switched MIDI channel indexing to low level indexing (means 0..15 now)
* added support for scale tuning via MIDI GS system exclusive message
* src/drivers/midi/MidiInputDeviceAlsa.cpp: implemented port parameter "NAME" which now updates the registered ALSA seq port name as well, fixed port parameter "ALSA_SEQ_BINDINGS" to allow more than one binding * src/network/lscp.y: fixed symbol STRINGVAL (that is strings encapsulated into apostrophes) which didn't allow space characters * changed all driver names and driver paramaters to upper case * fixed typo in LSCP documentation (section 5.3.12, was: "SET MIDI_INPUT_PORT PARAMETER", should be: "SET MIDI_INPUT_PORT_PARAMETER")
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 |