/[svn]/linuxsampler/trunk/src/engines
ViewVC logotype

Log of /linuxsampler/trunk/src/engines

View Directory Listing Directory Listing


Sticky Revision:

Revision 361 - Directory Listing
Modified Wed Feb 9 01:22:18 2005 UTC (19 years, 1 month ago) by schoenebeck
* bunch of fixes for OSX (patch by Stephane Letz)


Revision 354 - Directory Listing
Modified Sat Jan 29 15:17:59 2005 UTC (19 years, 2 months ago) by schoenebeck
* support for keyswitching
* ignore if no sample was defined for region(s) or dimension region(s)
(patch by Andreas Persson)


Revision 351 - Directory Listing
Modified Tue Jan 25 22:11:43 2005 UTC (19 years, 2 months ago) by schoenebeck
* fixed some memory leaks (patch by Gene Anders)


Revision 349 - Directory Listing
Modified Tue Jan 25 01:05:33 2005 UTC (19 years, 2 months ago) by schoenebeck
raised verbosity of debug message in case of caching a whole sample


Revision 348 - Directory Listing
Modified Sun Jan 23 21:24:16 2005 UTC (19 years, 2 months ago) by schoenebeck
* another crossfade fix (honoring AttenuationController for case 0,0,0,0,
  fixed cases in_start = in_end = CrossfadeControllerValue, fixed curve for
  cases out_start < CrossfadeControllerValue < out_end, honoring
  InvertAttenuationController parameter)
* support for up to 8 dimensions as introduced by Gig V3
(patch by Andreas Persson)


Revision 346 - Directory Listing
Modified Fri Jan 21 17:17:31 2005 UTC (19 years, 2 months ago) by schoenebeck
* libgig: fixed vcf_type_lowpassturbo value, fixed crossfade points order
* gig::Voice: fixed special crossfade case 0,0,0,0 which actually means no
  crossfade defined


Revision 336 - Directory Listing
Modified Mon Jan 3 03:33:51 2005 UTC (19 years, 2 months ago) by senkov
* Fixed a bug in assembly that cause crashes in some cases


Revision 335 - Directory Listing
Modified Mon Jan 3 02:48:25 2005 UTC (19 years, 2 months ago) by senkov
* Fixed pitch calculation. FineTune needs to be taken as is
 without multiplying it by 10.


Revision 333 - Directory Listing
Modified Sat Jan 1 08:18:07 2005 UTC (19 years, 3 months ago) by senkov
* Fix a basic diskthread multichannel issue.


Revision 332 - Directory Listing
Modified Sat Jan 1 03:06:06 2005 UTC (19 years, 3 months ago) by senkov
* Initialize the synthesis mode bitmask properly


Revision 330 - Directory Listing
Modified Wed Dec 29 01:14:15 2004 UTC (19 years, 3 months ago) by schoenebeck
* fixed endless loop at the end of sample playback
  (patch by Andreas Persson)


Revision 329 - Directory Listing
Modified Tue Dec 28 09:43:04 2004 UTC (19 years, 3 months ago) by senkov
* Fixes for engine reloading. Fixed streaming bugs in some
 cases only, most probably not all yet.


Revision 328 - Directory Listing
Modified Sat Dec 25 21:58:58 2004 UTC (19 years, 3 months ago) by schoenebeck
* architecture independence fixes, should now compile again for non x86
  systems
* tiny fix of command line switch --version


Revision 326 - Directory Listing
Modified Tue Dec 21 04:59:11 2004 UTC (19 years, 3 months ago) by senkov
Added profiler class


Revision 325 - Directory Listing
Modified Tue Dec 21 04:54:37 2004 UTC (19 years, 3 months ago) by senkov
* Added some profiling capabilities, bugs.


Revision 324 - Directory Listing
Modified Sat Dec 18 18:54:46 2004 UTC (19 years, 3 months ago) by senkov
* Applied patch from Andreas Persson and made a few other small
 changes to fix a bug in the filter code.


Revision 323 - Directory Listing
Modified Tue Dec 14 00:32:21 2004 UTC (19 years, 3 months ago) by schoenebeck
* fixed bug which caused samples not to be played back to their actual end
  (patch by Andreas Persson, added a small extra fix)


Revision 322 - Directory Listing
Modified Mon Dec 13 03:33:59 2004 UTC (19 years, 3 months ago) by senkov
* fixed CalculateBiquadParameters() to set parameters for
 both right and left, not just left.


Revision 320 - Directory Listing
Modified Mon Dec 13 00:53:16 2004 UTC (19 years, 3 months ago) by schoenebeck
* 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 319 - Directory Listing
Modified Mon Dec 13 00:46:42 2004 UTC (19 years, 3 months ago) by schoenebeck
* 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 293 - Directory Listing
Modified Mon Oct 25 15:14:27 2004 UTC (19 years, 5 months ago) by schoenebeck
* gig::Engine: changed way how events make it from the input event queue
  into the engine's process chain (fixes forced segfault in EGADSR)
* Event.h: using signed type for fragment position for easier
  differentiation if event might happened before or after current fragment


Revision 292 - Directory Listing
Modified Mon Oct 25 14:59:18 2004 UTC (19 years, 5 months ago) by schoenebeck
encapsulated error message into quotation marks


Revision 288 - Directory Listing
Modified Tue Oct 19 00:36:34 2004 UTC (19 years, 5 months ago) by schoenebeck
* configure.in: added check for UNIX98 compatibility, check if there's at
  least one supported MIDI input and audio output system available, added
  conditionals for ALSA and JACK
* src/drivers/audio/Makefile.am: ALSA and JACK drivers are only compiled
  respectively if they're supported by the system
* MidiInputDeviceFactory.cpp, AudioOutputDeviceFactory.cpp: little
  workaround for reported linker problem
* removed autotools generated files from CVS


Revision 287 - Directory Listing
Modified Sat Oct 16 17:38:03 2004 UTC (19 years, 5 months ago) by schoenebeck
* 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 286 - Directory Listing
Modified Sat Oct 16 17:29:05 2004 UTC (19 years, 5 months ago) by schoenebeck
just added some sanity checks for debugging


Revision 285 - Directory Listing
Modified Thu Oct 14 21:31:26 2004 UTC (19 years, 5 months ago) by schoenebeck
* bunch of bugfixes (e.g. segfault on voice stealing)


Revision 284 - Directory Listing
Modified Thu Oct 14 21:24:39 2004 UTC (19 years, 5 months ago) by schoenebeck
raised EG_MIN_RELEASE_TIME a bit to avoid click sounds


Revision 273 - Directory Listing
Modified Fri Oct 8 21:04:51 2004 UTC (19 years, 5 months ago) by schoenebeck
forgot to modify include for Pool.h


Revision 271 - Directory Listing
Modified Fri Oct 8 20:51:39 2004 UTC (19 years, 5 months ago) by schoenebeck
* 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 - Directory Listing
Modified Thu Oct 7 22:20:20 2004 UTC (19 years, 5 months ago) by capela
* gcc-c++ 3.4.1 compability fixes.


Revision 259 - Directory Listing
Modified Wed Sep 29 03:16:01 2004 UTC (19 years, 6 months ago) by senkov
* Fixed a hang in stage_fadeout


Revision 252 - Directory Listing
Modified Thu Sep 23 21:33:43 2004 UTC (19 years, 6 months ago) by schoenebeck
* fixed another bug in EGADSR which caused clicks when voices were killed
  near the audio fragment end


Revision 251 - Directory Listing
Modified Mon Sep 20 12:27:48 2004 UTC (19 years, 6 months ago) by schoenebeck
* changed curve type from exponential to linear in stage 'end' of
  EGADSR (fixes click sounds at the end of voices)


Revision 250 - Directory Listing
Modified Mon Sep 20 00:31:13 2004 UTC (19 years, 6 months ago) by schoenebeck
* 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 249 - Directory Listing
Modified Mon Sep 20 00:26:40 2004 UTC (19 years, 6 months ago) by schoenebeck
reduced EG_MIN_RELEASE_TIME to allow to finish kill process of a voice
within the same audio fragment, this will be e.g. be mandatory for voice
stealing


Revision 247 - Directory Listing
Modified Sun Sep 19 23:44:23 2004 UTC (19 years, 6 months ago) by senkov
* Small fix to pan coeff. calculation.
* (LS was silent with gigs where pan was 0).


Revision 246 - Directory Listing
Modified Sun Sep 19 14:12:55 2004 UTC (19 years, 6 months ago) by schoenebeck
just tidied up event type specific parameters (that is note-on specific
parameters, controle change specific parameters, etc.) in Event class


Revision 245 - Directory Listing
Modified Sat Sep 18 14:12:36 2004 UTC (19 years, 6 months ago) by schoenebeck
* support patch panorama info


Revision 244 - Directory Listing
Modified Fri Sep 17 01:01:11 2004 UTC (19 years, 6 months ago) by schoenebeck
* added support for scale tuning via MIDI GS system exclusive message


Revision 242 - Directory Listing
Modified Wed Sep 15 13:59:08 2004 UTC (19 years, 6 months ago) by schoenebeck
* 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 - Directory Listing
Modified Sun Sep 12 14:48:19 2004 UTC (19 years, 6 months ago) by schoenebeck
* 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 237 - Directory Listing
Modified Sun Sep 12 01:59:40 2004 UTC (19 years, 6 months ago) by senkov
* Fixed a crash in EGADSR::Process()


Revision 236 - Directory Listing
Modified Thu Sep 9 18:44:18 2004 UTC (19 years, 6 months ago) by schoenebeck
* added support for crossfades
* support sample playback start offset


Revision 233 - Directory Listing
Modified Tue Sep 7 09:32:21 2004 UTC (19 years, 6 months ago) by schoenebeck
* added support for layers
* fixed initial pitch calculation which did not honor the sample's own
  sample rate


Revision 230 - Directory Listing
Modified Thu Sep 2 21:52:29 2004 UTC (19 years, 6 months ago) by schoenebeck
* src/engines/gig/Voice.cpp: dimension region selection takes current
  MIDI controller values into account


Revision 225 - Directory Listing
Modified Sun Aug 22 14:46:47 2004 UTC (19 years, 7 months ago) by schoenebeck
* 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 205 - Directory Listing
Modified Tue Jul 13 23:16:40 2004 UTC (19 years, 8 months ago) by schoenebeck
accidently commited this file


Revision 203 - Directory Listing
Modified Tue Jul 13 22:44:13 2004 UTC (19 years, 8 months ago) by schoenebeck
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 133 - Directory Listing
Modified Fri Jun 18 14:29:02 2004 UTC (19 years, 9 months ago) by capela
* 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 123 - Directory Listing
Modified Mon Jun 14 19:33:16 2004 UTC (19 years, 9 months ago) by schoenebeck
* 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 112 - Directory Listing
Modified Sun Jun 6 20:57:28 2004 UTC (19 years, 9 months ago) by senkov
* Added methods for CHANNEL_INFO command


Revision 111 - Directory Listing
Modified Sat Jun 5 20:55:50 2004 UTC (19 years, 9 months ago) by schoenebeck
* LSCP allows now comment lines, that is lines starting with a hash ('#')
  character
* src/engines/gig/Voice.cpp: fixed "SET CHANNEL VOLUME" bug


Revision 99 - Directory Listing
Modified Tue Jun 1 16:19:40 2004 UTC (19 years, 10 months ago) by letz
* Do polynomial interpolation computation in float


Revision 97 - Directory Listing
Modified Mon May 31 19:28:09 2004 UTC (19 years, 10 months ago) by schoenebeck
* src/engines/gig/Voice.h: fixed bug which caused to hear only one audio
  channel


Revision 84 - Directory Listing
Modified Sun May 23 20:17:31 2004 UTC (19 years, 10 months ago) by schoenebeck
forgot to remove a redundant assignment (only a small efficiency issue)


Revision 80 - Directory Listing
Modified Sun May 23 19:16:33 2004 UTC (19 years, 10 months ago) by schoenebeck
* 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 64 - Directory Listing
Modified Thu May 6 20:06:20 2004 UTC (19 years, 10 months ago) by schoenebeck
* 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 57 - Directory Listing
Modified Sun May 2 17:45:43 2004 UTC (19 years, 11 months ago) by schoenebeck
* src/common/Thread.cpp: method StartThread() now blocks until thread
  actually runs, mlockall() will only be applied for realtime threads
* libtoolized liblinuxsampler
* initiated automatic unit tests against the LinuxSampler codebase
  (see src/testcases): already added a couple of tests for the Thread and
  Mutex classes, you have to explicitly compile the unit tests by running
  'make testcases' (you need to have cppunit installed though) and then you
  can run the console version of the test runner by calling
  'src/testcases/linuxsamplertest'
* src/Sampler.h: added API documentation


Revision 56 - Directory Listing
Modified Tue Apr 27 09:21:58 2004 UTC (19 years, 11 months ago) by schoenebeck
updated copyright header for 2004


Revision 53 - Directory Listing
Added Mon Apr 26 17:15:51 2004 UTC (19 years, 11 months ago) by schoenebeck
* 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


  ViewVC Help
Powered by ViewVC