/[svn]/linuxsampler/trunk/src/Sampler.cpp
ViewVC logotype

Log of /linuxsampler/trunk/src/Sampler.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 1375 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 3 18:41:09 2007 UTC (12 years, 4 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) - [select for diffs]
Modified Fri Aug 10 15:06:11 2007 UTC (12 years, 6 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 (12 years, 9 months ago) by schoenebeck
File length: 23406 byte(s)
Diff to previous 1130
* 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 1130 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 25 18:59:14 2007 UTC (12 years, 11 months ago) by iliev
File length: 23266 byte(s)
Diff to previous 1008
* Implemented new, improved notification system


Revision 1008 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 3 17:49:44 2007 UTC (13 years, 1 month ago) by schoenebeck
File length: 18197 byte(s)
Diff to previous 981
* delete all MIDI instrument maps when a sampler-reset is issued
  (i.e. on a "RESET" LSCP command)


Revision 981 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 17 22:35:01 2006 UTC (13 years, 2 months ago) by iliev
File length: 17834 byte(s)
Diff to previous 960
* Added new notification events for tracking audio/MIDI device changes,
MIDI instrument map changes and MIDI instrument changes


Revision 960 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 30 10:39:12 2006 UTC (13 years, 3 months ago) by iliev
File length: 17400 byte(s)
Diff to previous 900
- fixed crash occurring on certain LSCP scripts (Bug 39)


Revision 900 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 5 17:53:22 2006 UTC (13 years, 7 months ago) by schoenebeck
File length: 17349 byte(s)
Diff to previous 880
* 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 (13 years, 8 months ago) by schoenebeck
File length: 17101 byte(s)
Diff to previous 846
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 (13 years, 11 months ago) by persson
File length: 17245 byte(s)
Diff to previous 840
* 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 (14 years ago) by persson
File length: 17245 byte(s)
Diff to previous 837
* 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 (14 years ago) by persson
File length: 16152 byte(s)
Diff to previous 835
* 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 835 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 6 18:07:17 2006 UTC (14 years ago) by persson
File length: 16064 byte(s)
Diff to previous 778
* fixed some memory management errors


Revision 778 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 23 06:58:26 2005 UTC (14 years, 5 months ago) by iliev
File length: 16104 byte(s)
Diff to previous 730
Added new LSCP commands: GET TOTAL_VOICE_COUNT,
GET TOTAL_VOICE_COUNT_MAX, SUBSCRIBE/UNSUBSCRIBE TOTAL_VOICE_COUNT


Revision 730 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 30 08:18:08 2005 UTC (14 years, 7 months ago) by iliev
File length: 15777 byte(s)
Diff to previous 675
* Added CHANNEL_INFO notification when engine is assigned to
sampler channel with no midi and audio device set (Fixes bug #22)


Revision 675 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 22 22:09:28 2005 UTC (14 years, 8 months ago) by schoenebeck
File length: 15731 byte(s)
Diff to previous 660
* update MIDI channel info on program change


Revision 660 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 17 19:49:30 2005 UTC (14 years, 8 months ago) by schoenebeck
File length: 14961 byte(s)
Diff to previous 556
* LSCP server: fixed LSCP event "CHANNEL_INFO" notification
  (e.g. did not notify on volume changes)


Revision 556 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 21 01:10:12 2005 UTC (14 years, 9 months ago) by schoenebeck
File length: 14765 byte(s)
Diff to previous 551
* 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 (14 years, 9 months ago) by schoenebeck
File length: 14745 byte(s)
Diff to previous 420
* 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 (15 years ago) by schoenebeck
File length: 14739 byte(s)
Diff to previous 412
* 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 (15 years ago) by schoenebeck
File length: 14683 byte(s)
Diff to previous 411
* 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 (15 years ago) by schoenebeck
File length: 14495 byte(s)
Diff to previous 359
* 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 359 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 6 21:01:38 2005 UTC (15 years ago) by senkov
File length: 14298 byte(s)
Diff to previous 329
* Added implementation for NOTIFY:CHANNELS event


Revision 329 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 28 09:43:04 2004 UTC (15 years, 2 months ago) by senkov
File length: 13946 byte(s)
Diff to previous 221
* Fixes for engine reloading. Fixed streaming bugs in some
 cases only, most probably not all yet.


Revision 221 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 20 17:25:19 2004 UTC (15 years, 6 months ago) by schoenebeck
File length: 13970 byte(s)
Diff to previous 212
* 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 (15 years, 7 months ago) by schoenebeck
File length: 14135 byte(s)
Diff to previous 209
* 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 (15 years, 7 months ago) by schoenebeck
File length: 13567 byte(s)
Diff to previous 203
* 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 (15 years, 7 months ago) by schoenebeck
File length: 12318 byte(s)
Diff to previous 175
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 175 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 6 04:41:23 2004 UTC (15 years, 7 months ago) by senkov
File length: 12326 byte(s)
Diff to previous 159
This goes with the previous commit.
Forgot to commit this file previously.


Revision 159 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 29 21:11:50 2004 UTC (15 years, 8 months ago) by capela
File length: 12434 byte(s)
Diff to previous 155
* 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 (15 years, 8 months ago) by senkov
File length: 10907 byte(s)
Diff to previous 123
* 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 (15 years, 8 months ago) by schoenebeck
File length: 9974 byte(s)
Diff to previous 76
* 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 76 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 14 19:10:21 2004 UTC (15 years, 9 months ago) by senkov
File length: 9444 byte(s)
Diff to previous 64
fix small make problem when jack is not installed


Revision 64 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 6 20:06:20 2004 UTC (15 years, 9 months ago) by schoenebeck
File length: 9423 byte(s)
Diff to previous 61
* 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 (15 years, 10 months ago) by schoenebeck
File length: 9178 byte(s)
Diff to previous 53
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 (15 years, 10 months ago) by schoenebeck
File length: 9178 byte(s)
* 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.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC