/[svn]/linuxsampler/trunk/src/engines/gig/Engine.h
ViewVC logotype

Log of /linuxsampler/trunk/src/engines/gig/Engine.h

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 659 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 16 21:35:30 2005 UTC (15 years, 3 months ago) by schoenebeck
File length: 9821 byte(s)
Diff to previous 649
* don't reset scale tuning on instrument or audio output device change


Revision 649 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 15 00:01:28 2005 UTC (15 years, 3 months ago) by schoenebeck
File length: 9796 byte(s)
Diff to previous 630
* revised voice stealing (fixes crash caused by voice stealing)


Revision 630 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 11 14:51:49 2005 UTC (15 years, 3 months ago) by persson
File length: 9555 byte(s)
Diff to previous 554
* volume of release triggered samples now depends on note-on velocity,
  note length and gig parameter "release trigger decay" instead of
  note-off velocity.


Revision 554 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 19 19:25:14 2005 UTC (15 years, 4 months ago) by schoenebeck
File length: 9454 byte(s)
Diff to previous 505
* 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.


Revision 505 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 3 01:00:25 2005 UTC (15 years, 4 months ago) by schoenebeck
File length: 9524 byte(s)
Diff to previous 502
fixed libgig include rules


Revision 502 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 29 14:20:22 2005 UTC (15 years, 4 months ago) by letz
File length: 9552 byte(s)
Diff to previous 475
Fix destructor


Revision 475 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 17 23:56:56 2005 UTC (15 years, 6 months ago) by schoenebeck
File length: 9543 byte(s)
Diff to previous 473
* fixed segmentation fault on "GET CHANNEL INFO" commands which occured
  when an engine type was selected but no audio device connected yet to
  the sampler channel (fixes bug #4)


Revision 473 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 17 20:13:08 2005 UTC (15 years, 6 months ago) by schoenebeck
File length: 9466 byte(s)
Diff to previous 460
* fixed event leak (events sent to inactive keys were not freed)
* implemented MIDI channel mode messages "All Sound Off", "Reset All
  Controller", "All Notes Off" (fixes bug #5)


Revision 460 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 14 22:35:44 2005 UTC (15 years, 6 months ago) by schoenebeck
File length: 9256 byte(s)
Diff to previous 438
* spawning layered voices now within a loop instead of recursively (fixes
  segmentation fault under heavy voice count load and reduces stress on the
  stack)
* voice stealing operates on all engine channels now
* limit voice stealing to MAX_AUDIO_VOICES thefts per audio fragment cycle
* fixed keygroup handling (layered voices could kill each other)


Revision 438 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 9 22:12:15 2005 UTC (15 years, 6 months ago) by persson
File length: 8581 byte(s)
Diff to previous 412
* 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


Revision 412 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 26 22:44:51 2005 UTC (15 years, 7 months ago) by schoenebeck
File length: 8639 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) (as text) (annotate) - [select for diffs]
Modified Sat Feb 26 02:01:14 2005 UTC (15 years, 7 months ago) by schoenebeck
File length: 8633 byte(s)
Diff to previous 392
* 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 392 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 19 02:40:24 2005 UTC (15 years, 7 months ago) by schoenebeck
File length: 11901 byte(s)
Diff to previous 376
* fixed possibility that memory got not locked
* immediately set instrument status when calling LOAD INSTUMENT NON_MODAL


Revision 376 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 12 23:48:50 2005 UTC (15 years, 7 months ago) by senkov
File length: 11849 byte(s)
Diff to previous 354
* Added INSTRUMENT_NAME to GET CHANNEL INFO command result set


Revision 354 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 29 15:17:59 2005 UTC (15 years, 7 months ago) by schoenebeck
File length: 11756 byte(s)
Diff to previous 319
* support for keyswitching
* ignore if no sample was defined for region(s) or dimension region(s)
(patch by Andreas Persson)


Revision 319 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 13 00:46:42 2004 UTC (15 years, 9 months ago) by schoenebeck
File length: 11602 byte(s)
Diff to previous 287
* introduced 'synthesis mode' to reduce the amount of code and conditionals
  for the current synthesis case in the main synthesis loop
* support for MMX and SSE(1) in the core synthesis algorithms (CPU feature
  detection at runtime, only x86 so far)


Revision 287 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Oct 16 17:38:03 2004 UTC (15 years, 11 months ago) by schoenebeck
File length: 11600 byte(s)
Diff to previous 285
* fixed segfault which occured whenever a voice stole a voice and was in
  turn killed in the same audio fragment, to fix that the MIDI key
  informations are now updated only after all voices were processed


Revision 285 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 14 21:31:26 2004 UTC (15 years, 11 months ago) by schoenebeck
File length: 11570 byte(s)
Diff to previous 271
* bunch of bugfixes (e.g. segfault on voice stealing)


Revision 271 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 8 20:51:39 2004 UTC (15 years, 11 months ago) by schoenebeck
File length: 11435 byte(s)
Diff to previous 268
* libgig: fixed panorama value in DimensionRegion (invalid conversion
  from signed 7 bit to signed 8 bit)
* src/linuxsampler.cpp: stacktrace is now automatically shown on fatal
  errors (that is  segmentation faults, etc.), gdb should be installed for
  this to work
* gig::Voice: tiny accuracy fix of pan calculation
* replaced old pool classes by completely new ones which now offer
  Iterator abstraction


Revision 268 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 7 22:20:20 2004 UTC (15 years, 11 months ago) by capela
File length: 11288 byte(s)
Diff to previous 250
* gcc-c++ 3.4.1 compability fixes.


Revision 250 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 20 00:31:13 2004 UTC (16 years ago) by schoenebeck
File length: 11293 byte(s)
Diff to previous 244
* added first two experimental voice stealing algorithms ('oldestkey' -
which just steals the oldest voice on the oldest key and 'keymask' - which
tries to pick the oldest voice on the same key where the new voice should
be spawned, if it fails it behaves like 'oldestkey'), the desired algorithm
can be selected at compile time (see Engine.h) will be configurable via
LSCP soon though


Revision 244 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 17 01:01:11 2004 UTC (16 years ago) by schoenebeck
File length: 10342 byte(s)
Diff to previous 242
* added support for scale tuning via MIDI GS system exclusive message


Revision 242 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 15 13:59:08 2004 UTC (16 years ago) by schoenebeck
File length: 9765 byte(s)
Diff to previous 239
* added support for release trigger dimension (that is voices which are
  spawned when a key was released)
* libgig: bugfix in dimension region switching


Revision 239 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 12 14:48:19 2004 UTC (16 years ago) by schoenebeck
File length: 9600 byte(s)
Diff to previous 233
* implemented key groups (a.k.a exclusive groups) which is important for
  drum patches and monphonic instruments
* src/engines/gig/Engine.cpp: bugfix in ProcessNoteOn() - did not always
  stick the note on event to the respective key's own event list although
  e.g. the EGADRS expects it to find there


Revision 233 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 7 09:32:21 2004 UTC (16 years ago) by schoenebeck
File length: 9404 byte(s)
Diff to previous 225
* added support for layers
* fixed initial pitch calculation which did not honor the sample's own
  sample rate


Revision 225 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Aug 22 14:46:47 2004 UTC (16 years, 1 month ago) by schoenebeck
File length: 9337 byte(s)
Diff to previous 133
* set default volume to 1.0 in Gigasampler engine (was 0.0)
* implemented "SET CHANNEL AUDIO_OUTPUT_CHANNEL" LSCP command
* fixed "GET ENGINE INFO" LSCP command
* fixed "GET CHANNEL INFO" LSCP command
* src/network/lscp.y: fixed 'stringval' rule (returned string with formal
  apostrophes), fixed 'dotnum' rule (ignored position after decimal point)


Revision 133 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 18 14:29:02 2004 UTC (16 years, 3 months ago) by capela
File length: 8448 byte(s)
Diff to previous 112
* Load Instrument patch applied; this patch makes the
  LOAD INSTRUMENT command to return immediately,
  almost/always with an OK response, while spawning
  the proper instrument file loading in the background.

* New INSTRUMENT_STATUS field on GET CHANNEL INFO result
  set; the instrument status value holds the load progress
  percentage if positive, otherwise a negative value is
  evidence of a load exception error.

* VERSION is now set to 0.2.


Revision 112 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 6 20:57:28 2004 UTC (16 years, 3 months ago) by senkov
File length: 8356 byte(s)
Diff to previous 80
* Added methods for CHANNEL_INFO command


Revision 80 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 23 19:16:33 2004 UTC (16 years, 4 months ago) by schoenebeck
File length: 8131 byte(s)
Diff to previous 56
* biquad filter parameters are now calculated outside the interpolate
  loop for better performance
* couple of loop unroll optimizations
* filter is now enabled by default
* cubic interpolation is now enabled by default
* reduced debug level to 1 to lower verbosity
* raised default limit for voices to 128
* raised default limit for streams to 150
* added some compiler optimization flags (-ffast-math -march -mcpu)


Revision 56 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 27 09:21:58 2004 UTC (16 years, 5 months ago) by schoenebeck
File length: 7899 byte(s)
Diff to previous 53
updated copyright header for 2004


Revision 53 - (view) (download) (as text) (annotate) - [select for diffs]
Added Mon Apr 26 17:15:51 2004 UTC (16 years, 5 months ago) by schoenebeck
File length: 7899 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