Log of /linuxsampler/trunk/src/Sampler.cpp
Parent Directory
| Revision Log
Revision
2500 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Fri Jan 10 12:20:05 2014 UTC
(10 years, 5 months ago)
by
schoenebeck
File length: 35880 byte(s)
Diff to
previous 2427
,
to
selected 1283
* Added support for multiple MIDI input ports per sampler channel (added
various new C++ API methods for this new feature/design, old C++ API
methods are now marked as deprecated but should still provide full
behavior backward compatibility).
* LSCP Network interface: Added the following new LSCP commands for the new
feature mentioned above: "ADD CHANNEL MIDI_INPUT",
"REMOVE CHANNEL MIDI_INPUT" and "LIST CHANNEL MIDI_INPUTS". As with the
C++ API changes, the old LSCP commands for MIDI input management are now
marked as deprecated, but are still there and should provide full behavior
backward compatibility.
* New LSCP specification document (LSCP v1.6).
* AbstractEngine::GSCheckSum(): don't allocate memory on the stack (was
unsafe and caused compilation error with old clang 2.x).
* Bumped version (1.0.0.svn25).
Revision
2375 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Thu Oct 4 17:45:22 2012 UTC
(11 years, 8 months ago)
by
schoenebeck
File length: 31781 byte(s)
Diff to
previous 2123
,
to
selected 1283
* Added new C++ API method Sampler::GetGlobalMaxVoices().
* Added new C++ API method Sampler::GetGlobalMaxStreams().
* Added new C++ API method Sampler::SetGlobalMaxVoices().
* Added new C++ API method Sampler::SetGlobalMaxStreams().
* CoreMIDI: remove ports that disappeared on the OS from
the internal list of port bindings
* Fixed erroneous piping of error message in
src/engines/common/VoiceBase.h (labelled "Disk stream not
available in time").
Revision
2123 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Wed Sep 15 10:04:07 2010 UTC
(13 years, 8 months ago)
by
schoenebeck
File length: 30427 byte(s)
Diff to
previous 1937
,
to
selected 1283
* fixed crash which occured when changing an already deployed sampler
channel to a different engine type (e.g. from gig to sf2)
* bumped version to 1.0.0cvs5
Revision
1937 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jul 12 19:52:20 2009 UTC
(14 years, 11 months ago)
by
schoenebeck
File length: 30380 byte(s)
Diff to
previous 1934
,
to
selected 1283
* bugfix: don't allow to change the audio output device, MIDI input device
or MIDI input port when using a host plugin implementation
(e.g VST, AU, DSSI, LV2) as this would go terribly wrong
Revision
1934 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jul 12 10:35:55 2009 UTC
(14 years, 11 months ago)
by
schoenebeck
File length: 29754 byte(s)
Diff to
previous 1897
,
to
selected 1283
* bugfix: don't allow to create or destroy audio devices and MIDI devices
of host plugin implementations (e.g VST, AU, DSSI, LV2) on their own,
as they only exist in the context of the plugin instance and would
otherwise crash the application
Revision
1897 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun May 10 09:31:51 2009 UTC
(15 years, 1 month ago)
by
persson
File length: 30590 byte(s)
Diff to
previous 1835
,
to
selected 1283
* Windows: look for editor plugins and Fantasia using base directory
of liblinuxsampler dll
* lscp bugfix: SET CHANNEL MIDI_INPUT_TYPE didn't work with the MME
driver
Revision
1835 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon Feb 16 17:56:50 2009 UTC
(15 years, 3 months ago)
by
iliev
File length: 29913 byte(s)
Diff to
previous 1789
,
to
selected 1283
* 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
1789 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Nov 1 19:01:27 2008 UTC
(15 years, 7 months ago)
by
iliev
File length: 28844 byte(s)
Diff to
previous 1777
,
to
selected 1283
* 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
1765 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Sep 6 16:44:42 2008 UTC
(15 years, 9 months ago)
by
persson
File length: 27714 byte(s)
Diff to
previous 1761
,
to
selected 1283
* 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
Revision
1695 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Feb 16 01:09:33 2008 UTC
(16 years, 3 months ago)
by
schoenebeck
File length: 26115 byte(s)
Diff to
previous 1686
,
to
selected 1283
* added new LSCP event "DEVICE_MIDI" which can be used by frontends to
react on MIDI data arriving on certain MIDI input devices (so far only
Note-On and Note-Off events are sent via this LSCP event)
* bumped version to 0.5.1.4cvs
Revision
1686 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Thu Feb 14 14:58:50 2008 UTC
(16 years, 3 months ago)
by
schoenebeck
File length: 25508 byte(s)
Diff to
previous 1541
,
to
selected 1283
* 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
1541 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 4 18:09:26 2007 UTC
(16 years, 6 months ago)
by
iliev
File length: 24484 byte(s)
Diff to
previous 1424
,
to
selected 1283
- Added support for monitoring the total number of active disk streams
(new LSCP commands: GET TOTAL_STREAM_COUNT,
SUBSCRIBE TOTAL_STREAM_COUNT, UNSUBSCRIBE TOTAL_STREAM_COUNT)
Revision
1424 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Oct 14 22:00:17 2007 UTC
(16 years, 8 months ago)
by
schoenebeck
File length: 23651 byte(s)
Diff to
previous 1375
,
to
selected 1283
* 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
1375 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 3 18:41:09 2007 UTC
(16 years, 8 months ago)
by
schoenebeck
File length: 23616 byte(s)
Diff to
previous 1283
* code refactoring, moved the following files from
src/engines/ -> src/plugins/ :
InstrumentEditor.h ,
InstrumentEditor.cpp ,
InstrumentEditorFactory.h ,
InstrumentEditorFactory.cpp
Revision
1283 -
(
view)
(
download)
(
annotate)
-
[selected]
Modified
Fri Aug 10 15:06:11 2007 UTC
(16 years, 10 months ago)
by
iliev
File length: 23616 byte(s)
Diff to
previous 1212
* fixed a crash which occurs when reassigning the same engine
on a sampler channel with connected MIDI device
Revision
1212 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue May 29 23:59:36 2007 UTC
(17 years ago)
by
schoenebeck
File length: 23406 byte(s)
Diff to
previous 1130
,
to
selected 1283
* 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
981 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Dec 17 22:35:01 2006 UTC
(17 years, 5 months ago)
by
iliev
File length: 17834 byte(s)
Diff to
previous 960
,
to
selected 1283
* Added new notification events for tracking audio/MIDI device changes,
MIDI instrument map changes and MIDI instrument changes
Revision
900 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 5 17:53:22 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
File length: 17349 byte(s)
Diff to
previous 880
,
to
selected 1283
* 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
880 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 27 22:57:37 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
File length: 17101 byte(s)
Diff to
previous 846
,
to
selected 1283
just some refactoring work:
- renamed class LinuxSamplerException -> Exception
- encapsulated LS API relevant files into LS namespace
- removed unnecessary header inclusions
Revision
846 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Mar 19 16:38:22 2006 UTC
(18 years, 2 months ago)
by
persson
File length: 17245 byte(s)
Diff to
previous 840
,
to
selected 1283
* 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
840 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Feb 26 13:00:08 2006 UTC
(18 years, 3 months ago)
by
persson
File length: 17245 byte(s)
Diff to
previous 837
,
to
selected 1283
* 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
837 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Thu Feb 9 20:03:03 2006 UTC
(18 years, 4 months ago)
by
persson
File length: 16152 byte(s)
Diff to
previous 835
,
to
selected 1283
* fix of silly bug introduced in recent memory fix: all devices were
destroyed instead of just the one asked for in the Sampler::Destroy
functions
Revision
730 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Jul 30 08:18:08 2005 UTC
(18 years, 10 months ago)
by
iliev
File length: 15777 byte(s)
Diff to
previous 675
,
to
selected 1283
* Added CHANNEL_INFO notification when engine is assigned to
sampler channel with no midi and audio device set (Fixes bug #22)
Revision
556 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat May 21 01:10:12 2005 UTC
(19 years ago)
by
schoenebeck
File length: 14765 byte(s)
Diff to
previous 551
,
to
selected 1283
* Little LSCP API change: renamed events "CHANNELS" -> "CHANNEL_COUNT" and
"INFO" -> "CHANNEL_INFO" to be more meaningful (patch by Grigor Iliev).
Revision
551 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue May 17 18:16:54 2005 UTC
(19 years ago)
by
schoenebeck
File length: 14745 byte(s)
Diff to
previous 420
,
to
selected 1283
* 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.
Revision
420 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Thu Mar 3 03:25:17 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
File length: 14739 byte(s)
Diff to
previous 412
,
to
selected 1283
* 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 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Feb 26 22:44:51 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
File length: 14683 byte(s)
Diff to
previous 411
,
to
selected 1283
* 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 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Feb 26 02:01:14 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
File length: 14495 byte(s)
Diff to
previous 359
,
to
selected 1283
* 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
221 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Fri Aug 20 17:25:19 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
File length: 13970 byte(s)
Diff to
previous 212
,
to
selected 1283
* 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")
Revision
212 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 28 14:17:29 2004 UTC
(19 years, 10 months ago)
by
schoenebeck
File length: 14135 byte(s)
Diff to
previous 209
,
to
selected 1283
* introduced and implemented new LSCP command "RESET" which resets the
whole sampler instance
* src/drivers/audio/AudioOutputDeviceAlsa.cpp: parameter 'card' now
returns all available sound cards as possibility, added dependency to
parameter 'card' to parameters 'fragments' and 'fragmentsize'
* src/drivers/DeviceParameter.cpp: fixed return value(s) for classes
'DeviceCreationParameterString' and 'DeviceCreationParameterStrings'
which returned the default value(s) not encapsulated into apostrophes
* src/network/lscpserver.cpp: fixed implementation of LSCP commands
"GET MIDI_INPUT_DRIVER_PARAMETER INFO" and
"GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"
Revision
209 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jul 18 00:29:39 2004 UTC
(19 years, 10 months ago)
by
schoenebeck
File length: 13567 byte(s)
Diff to
previous 203
,
to
selected 1283
* src/Sampler.cpp: changed sampler channel index allocation from consistent
channel index allocation to incrementing channel index allocation, that is
it doesn't fill channel index gaps anymore (to avoid race conditions)
* implemented "LIST CHANNELS" LSCP command
Revision
203 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Jul 13 22:44:13 2004 UTC
(19 years, 11 months ago)
by
schoenebeck
File length: 12318 byte(s)
Diff to
previous 175
,
to
selected 1283
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
159 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 29 21:11:50 2004 UTC
(19 years, 11 months ago)
by
capela
File length: 12434 byte(s)
Diff to
previous 155
,
to
selected 1283
* Unconsolidaded MIDI input related channel commands are back:
SET CHANNEL MIDI_INPUT_DEVICE <chan> <midi-device>
SET CHANNEL MIDI_INPUT_PORT <chan> <midi-port>
SET CHANNEL MIDI_INPUT_CHANNEL <chan> <midi-chan>
* Still useful for compability with legacy clients, an almost
deprecated command gets re-implemented:
SET CHANNEL MIDI_INPUT_TYPE <chan> <midi-driver>
* Optional parameter list on MIDI input device creation fixed,
but not quite fully effective yet:
CREATE MIDI_INPUT_DEVICE <midi-driver> [<key>=<val>...]
Revision
155 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 28 04:30:11 2004 UTC
(19 years, 11 months ago)
by
senkov
File length: 10907 byte(s)
Diff to
previous 123
,
to
selected 1283
* Updated parser, lscp server and sampler class for new MIDI_INPUT
* Minor fixes (and major new bugs) here and there
* Consolidated 3 SET CHANNEL MIDI_xxx commands into one:
SET CHANNEL MIDI_INPUT
Revision
123 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 14 19:33:16 2004 UTC
(20 years ago)
by
schoenebeck
File length: 9974 byte(s)
Diff to
previous 76
,
to
selected 1283
* 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
64 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Thu May 6 20:06:20 2004 UTC
(20 years, 1 month ago)
by
schoenebeck
File length: 9423 byte(s)
Diff to
previous 61
,
to
selected 1283
* 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
61 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon May 3 19:29:44 2004 UTC
(20 years, 1 month ago)
by
schoenebeck
File length: 9178 byte(s)
Diff to
previous 53
,
to
selected 1283
forgot to update copyright header for 2004 for following files:
src/linuxsampler.cpp,
src/Sampler.h,
src/Sampler.cpp,
src/network/lscpscanner.cpp
Revision
53 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Added
Mon Apr 26 17:15:51 2004 UTC
(20 years, 1 month ago)
by
schoenebeck
File length: 9178 byte(s)
Diff
to
selected 1283
* 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.