/[svn]/linuxsampler/trunk/src/engines/gig/EngineChannel.cpp
ViewVC logotype

Log of /linuxsampler/trunk/src/engines/gig/EngineChannel.cpp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1662 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 3 16:21:38 2008 UTC (16 years, 1 month ago) by schoenebeck
File length: 39096 byte(s)
Diff to previous 1659
* the promised "cleanup": rewrote virtual MIDI device's notification a bit
  (using now a safe double buffer approach using "SynchronizedConfig"
  instead of the Trylock() approach previously to synchronize the list of
  virtual MIDI devices)
* bumped version to 0.5.1.2cvs


Revision 1659 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 3 00:13:27 2008 UTC (16 years, 1 month ago) by schoenebeck
File length: 37487 byte(s)
Diff to previous 1653
* added support for triggering notes by instrument editors
  (still some cleanup / refactoring ahead, but it should work)
* bumped version to 0.5.1.1cvs


Revision 1653 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 30 01:51:46 2008 UTC (16 years, 2 months ago) by schoenebeck
File length: 34753 byte(s)
Diff to previous 1646
* added support for notifying instrument editors on note-on / note-off
  events (e.g. to highlight the pressed keys on the virtual keyboard
  of gigedit)
* fixed return value of recently added Thread::TestCancel() method
* be verbose on DLL load errors (on Linux)


Revision 1646 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jan 20 15:04:51 2008 UTC (16 years, 2 months ago) by persson
File length: 34191 byte(s)
Diff to previous 1424
* made it possible to load an instrument even if the audio thread
  isn't running


Revision 1424 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 14 22:00:17 2007 UTC (16 years, 5 months ago) by schoenebeck
File length: 31885 byte(s)
Diff to previous 1309
* 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 1309 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 29 10:36:32 2007 UTC (16 years, 7 months ago) by iliev
File length: 31843 byte(s)
Diff to previous 1298
* A notification event is now sent when the
  instrument loading on a sampler channel failed


Revision 1298 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 17 12:55:37 2007 UTC (16 years, 7 months ago) by iliev
File length: 31744 byte(s)
Diff to previous 1267
* ensure that a notification event is sent when already
  loaded instrument is assigned to another sampler channel


Revision 1267 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 7 10:34:07 2007 UTC (16 years, 7 months ago) by iliev
File length: 31706 byte(s)
Diff to previous 1212
* A notification event is now sent when altering
  audio output channel on a sampler channel


Revision 1212 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 29 23:59:36 2007 UTC (16 years, 10 months ago) by schoenebeck
File length: 31674 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 (17 years ago) by iliev
File length: 31753 byte(s)
Diff to previous 1108
* Implemented new, improved notification system


Revision 1108 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 22 20:39:04 2007 UTC (17 years ago) by iliev
File length: 31876 byte(s)
Diff to previous 1041
* Added new notification events for tracking
effect send changes and global volume changes


Revision 1041 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 7 17:45:19 2007 UTC (17 years, 1 month ago) by schoenebeck
File length: 31600 byte(s)
Diff to previous 1040
* handle MIDI coarse tuning messages (MIDI RPN #0 MSB, #2 LSB),
  currently lazy implementation, transpose value is simply added on the
  note on/off values instead only at the mandatory places, thus when
  altering transpose while playing, voices can unintendedly survive


Revision 1040 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 7 15:41:31 2007 UTC (17 years, 1 month ago) by schoenebeck
File length: 31571 byte(s)
Diff to previous 1039
* bugfix: sampler crashed when trying to persistently map a not existent or
  corrupt .gig file ("MAP MIDI_INSTRUMENT ... PERSISTENT")
* behavior fix: reset FX send levels i.e. when receiving a MIDI "reset all
  controllers" message
* bumped version to 0.4.0.3cvs


Revision 1039 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 3 20:46:44 2007 UTC (17 years, 1 month ago) by persson
File length: 31402 byte(s)
Diff to previous 1038
* EG fix: a release value of zero could cause noises or crash
* fix of previous thread safety fix, which in some cases locked the
  engine


Revision 1038 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 3 15:33:00 2007 UTC (17 years, 1 month ago) by persson
File length: 31361 byte(s)
Diff to previous 1005
* playback is no longer disabled during instrument loading
* all notes playing on a channel that changes its instrument keep
  playing with the old instrument until they get a note off command
* new thread safety fix for lscp "load engine" and "set channel audio
  output device"


Revision 1005 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 29 20:06:14 2006 UTC (17 years, 3 months ago) by schoenebeck
File length: 31188 byte(s)
Diff to previous 1001
* global volume can now be altered at runtime
  (added two new LSCP commands for this, LSCP specs updated)


Revision 1001 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 27 16:17:08 2006 UTC (17 years, 3 months ago) by schoenebeck
File length: 31209 byte(s)
Diff to previous 970
* implemented effect sends (also added new LSCP commands for this feature,
  updated LSCP spec document along with this commit batch as well)


Revision 970 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 6 22:28:17 2006 UTC (17 years, 3 months ago) by schoenebeck
File length: 26828 byte(s)
Diff to previous 947
* fixed crash occuring in conjunction with the new 'MAP MIDI_INSTRUMENT'
  LSCP command (cause: RingBuffer was not able to do deep copies)


Revision 947 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 27 21:34:55 2006 UTC (17 years, 4 months ago) by schoenebeck
File length: 26816 byte(s)
Diff to previous 906
* implemented MIDI instrument mapping according to latest LSCP draft


Revision 906 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jul 23 16:44:08 2006 UTC (17 years, 8 months ago) by schoenebeck
File length: 26771 byte(s)
Diff to previous 903
* MIDI driver API extension for MIDI drivers which already supply exact
  time stamps for events (i.e. for offline rendering based MIDI drivers)


Revision 903 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 22 14:22:53 2006 UTC (17 years, 8 months ago) by persson
File length: 21014 byte(s)
Diff to previous 880
* real support for 24 bit samples - samples are not truncated to 16
  bits anymore
* support for aftertouch (channel pressure, not polyphonic aftertouch)


Revision 880 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 27 22:57:37 2006 UTC (17 years, 9 months ago) by schoenebeck
File length: 21014 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 (18 years ago) by persson
File length: 21062 byte(s)
Diff to previous 829
* 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 829 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 14 14:07:47 2006 UTC (18 years, 2 months ago) by schoenebeck
File length: 21012 byte(s)
Diff to previous 781
* implemented portamento mode and solo mode (a.k.a 'mono mode'):
  all modes can be altered via standard GM messages, that is CC5 for
  altering portamento time, CC65 for enabling / disabling portamento
  mode, CC126 for enabling solo mode and CC127 for disabling solo mode
* fixed EG3 (pitch envelope) synthesis which was neutral all the time
* configure.in: do not automatically pick optimized gcc flags if the user
  already provided some on his own (as CXXFLAGS)


Revision 781 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 26 10:17:00 2005 UTC (18 years, 6 months ago) by schoenebeck
File length: 20775 byte(s)
Diff to previous 776
* fixed event handling bug which was introduced by the recent synthesis
  optimizations (events were only processed for the first active voice)
* added global volume attenuation of -9 dB (0.35f) to prevent clipping
  which can be overridden with --enable-global-attenuation


Revision 776 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 21 19:05:41 2005 UTC (18 years, 6 months ago) by iliev
File length: 20753 byte(s)
Diff to previous 738
* Added support for sostenuto pedal


Revision 738 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 16 17:14:25 2005 UTC (18 years, 7 months ago) by schoenebeck
File length: 20721 byte(s)
Diff to previous 675
* extensive synthesis optimization: reimplementation of EGs and LFO(s),
  removed synthesis parameter prerendering and the synthesis parameter
  matrix in general, splitting each audio fragment into subfragments now
  where each subfragment uses constant synthesis parameters
  (everything's still very buggy ATM)


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


Revision 670 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 21 18:00:52 2005 UTC (18 years, 9 months ago) by schoenebeck
File length: 20898 byte(s)
Diff to previous 660
* 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


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


Revision 554 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 19 19:25:14 2005 UTC (18 years, 10 months ago) by schoenebeck
File length: 19420 byte(s)
Diff to previous 517
* 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 517 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 8 00:26:21 2005 UTC (18 years, 10 months ago) by schoenebeck
File length: 19413 byte(s)
Diff to previous 475
* implemented progress indicator for loading instruments
  (can be polled with "GET CHANNEL INFO", field "INSTRUMENT_STATUS")


Revision 475 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 17 23:56:56 2005 UTC (19 years ago) by schoenebeck
File length: 18968 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) (annotate) - [select for diffs]
Modified Thu Mar 17 20:13:08 2005 UTC (19 years ago) by schoenebeck
File length: 18881 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) (annotate) - [select for diffs]
Modified Mon Mar 14 22:35:44 2005 UTC (19 years ago) by schoenebeck
File length: 18699 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) (annotate) - [select for diffs]
Modified Wed Mar 9 22:12:15 2005 UTC (19 years ago) by persson
File length: 15876 byte(s)
Diff to previous 424
* 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 424 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 4 22:54:11 2005 UTC (19 years ago) by schoenebeck
File length: 15907 byte(s)
Diff to previous 420
* implemented MIDI Control Change 7 (Volume)
* implemented MIDI Control Change 10 (Panpot)


Revision 420 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 3 03:25:17 2005 UTC (19 years, 1 month ago) by schoenebeck
File length: 15835 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 (19 years, 1 month ago) by schoenebeck
File length: 15651 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]
Added Sat Feb 26 02:01:14 2005 UTC (19 years, 1 month ago) by schoenebeck
File length: 15324 byte(s)
* 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)


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