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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 2871 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 10 18:22:23 2016 UTC (7 years, 11 months ago) by schoenebeck
File length: 3090 byte(s)
Diff to previous 2390
* All engines: Implemented scheduler for delayed MIDI events and for
  suspended real-time instrument scripts.
* Real-Time instrument scripts: Implemented support for built-in "wait()"
  function's "duration-us" argument, thus scripts using this function are
  now correctly resumed after the requested amount of microseconds.
* Real-Time instrument scripts: Implemented support for built-in
  "play_note()" function's "duration-us" argument, thus notes triggered
  with this argument are now correctly released after the requested amount
  of microseconds.
* Real-Time instrument scripts: Fixed crash which happened when trying to
  reference an undeclared script variable.
* Real-Time instrument scripts: Script events were not cleared when
  engine channel was reset, potentially causing undefined behavior.
* All engines: Attempt to partly fix resetting engine channels vs.
  resetting engine, an overall cleanup of the Reset*(),
  ConnectAudioDevice(), DisconnectAudioDevice() API methods would still be
  desirable though, because the current situation is still inconsistent
  and error prone.
* Bumped version (2.0.0.svn2).


Revision 2390 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 5 12:31:05 2013 UTC (11 years, 2 months ago) by persson
File length: 2987 byte(s)
Diff to previous 2330
* fixed compilation with Clang 3.2


Revision 2330 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 12 15:14:31 2012 UTC (12 years ago) by schoenebeck
File length: 2969 byte(s)
Diff to previous 2012
* Introduced new C++ API method EngineChannel::InstrumentFileName(int index)
  allowing to retrieve the whole list of files used for the loaded
  instrument on an engine channel (a.k.a. part). Some GigaStudio instruments
  for example are splitted over several files like "Foo.gig", "Foo.gx01",
  "Foo.gx02", ...
* Bumped version to 1.0.0.svn18


Revision 2012 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 23 17:53:17 2009 UTC (14 years, 5 months ago) by iliev
File length: 2862 byte(s)
Diff to previous 1924
* Refactoring: moved the independent code from
  the Gigasampler format engine to base classes
* SFZ format engine: experimental code (not usable yet)
* SoundFont format engine: experimental code (not usable yet)
* Fixed crash which may occur when MIDI key + transpose is out of range


Revision 1924 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 28 16:43:38 2009 UTC (14 years, 9 months ago) by persson
File length: 11565 byte(s)
Diff to previous 1843
* made program change handling in MIDI thread real-time safe by moving
  the logic to a non-RT thread


Revision 1843 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 21 17:08:18 2009 UTC (15 years, 1 month ago) by iliev
File length: 11501 byte(s)
Diff to previous 1723
* fixed orphaned pointers when setting maximum voices limit (bug #118)


Revision 1723 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 20 08:53:39 2008 UTC (15 years, 11 months ago) by schoenebeck
File length: 11419 byte(s)
Diff to previous 1686
* allow pan control of engine channels on C++ API level
* export denormals-are-zero mode feature to C++ API


Revision 1686 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 14 14:58:50 2008 UTC (16 years, 1 month ago) by schoenebeck
File length: 11201 byte(s)
Diff to previous 1662
* 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 1662 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Feb 3 16:21:38 2008 UTC (16 years, 1 month ago) by schoenebeck
File length: 11230 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) (as text) (annotate) - [select for diffs]
Modified Sun Feb 3 00:13:27 2008 UTC (16 years, 1 month ago) by schoenebeck
File length: 11109 byte(s)
Diff to previous 1646
* 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 1646 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 20 15:04:51 2008 UTC (16 years, 2 months ago) by persson
File length: 10728 byte(s)
Diff to previous 1041
* made it possible to load an instrument even if the audio thread
  isn't running


Revision 1041 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 7 17:45:19 2007 UTC (17 years, 1 month ago) by schoenebeck
File length: 9627 byte(s)
Diff to previous 1001
* 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 1001 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 27 16:17:08 2006 UTC (17 years, 3 months ago) by schoenebeck
File length: 9508 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) (as text) (annotate) - [select for diffs]
Modified Wed Dec 6 22:28:17 2006 UTC (17 years, 3 months ago) by schoenebeck
File length: 9116 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) (as text) (annotate) - [select for diffs]
Modified Mon Nov 27 21:34:55 2006 UTC (17 years, 4 months ago) by schoenebeck
File length: 9116 byte(s)
Diff to previous 906
* implemented MIDI instrument mapping according to latest LSCP draft


Revision 906 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jul 23 16:44:08 2006 UTC (17 years, 8 months ago) by schoenebeck
File length: 8908 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) (as text) (annotate) - [select for diffs]
Modified Sat Jul 22 14:22:53 2006 UTC (17 years, 8 months ago) by persson
File length: 8545 byte(s)
Diff to previous 890
* real support for 24 bit samples - samples are not truncated to 16
  bits anymore
* support for aftertouch (channel pressure, not polyphonic aftertouch)


Revision 890 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jul 1 13:43:04 2006 UTC (17 years, 9 months ago) by schoenebeck
File length: 8491 byte(s)
Diff to previous 865
just some refactoring work, moved the following files:

- src/engines/common/Engine.h -> src/engines/Engine.h,

- src/engines/common/EngineChannel.h ->
  src/engines/EngineChannel.h,

- src/engines/common/EngineChannel.cpp ->
  src/engines/EngineChannel.cpp


Revision 865 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 14 07:15:52 2006 UTC (17 years, 10 months ago) by persson
File length: 8498 byte(s)
Diff to previous 840
* sample loop parameters are now taken from the DimensionRegion
  instead of the wave chunk
* fixed keyswitching for v3 gigs with a number of keyswitch splits not
  equal to a power of two


Revision 840 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Feb 26 13:00:08 2006 UTC (18 years, 1 month ago) by persson
File length: 8498 byte(s)
Diff to previous 829
* 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 829 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 14 14:07:47 2006 UTC (18 years, 2 months ago) by schoenebeck
File length: 8461 byte(s)
Diff to previous 776
* 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 776 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 21 19:05:41 2005 UTC (18 years, 6 months ago) by iliev
File length: 7682 byte(s)
Diff to previous 738
* Added support for sostenuto pedal


Revision 738 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 16 17:14:25 2005 UTC (18 years, 7 months ago) by schoenebeck
File length: 7583 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) (as text) (annotate) - [select for diffs]
Modified Wed Jun 22 22:09:28 2005 UTC (18 years, 9 months ago) by schoenebeck
File length: 7896 byte(s)
Diff to previous 670
* update MIDI channel info on program change


Revision 670 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 21 18:00:52 2005 UTC (18 years, 9 months ago) by schoenebeck
File length: 7394 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) (as text) (annotate) - [select for diffs]
Modified Fri Jun 17 19:49:30 2005 UTC (18 years, 9 months ago) by schoenebeck
File length: 7334 byte(s)
Diff to previous 563
* LSCP server: fixed LSCP event "CHANNEL_INFO" notification
  (e.g. did not notify on volume changes)


Revision 563 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 22 20:43:32 2005 UTC (18 years, 10 months ago) by schoenebeck
File length: 7138 byte(s)
Diff to previous 517
* (re)implemented voice stealing algorithm "oldestvoiceonkey" and made it
  the default voice stealing algorithm
* added new LSCP command "GET SERVER INFO" which currently returns
  description and version about this sampler
* added some API documentation comments
* minor cleanup


Revision 517 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 8 00:26:21 2005 UTC (18 years, 10 months ago) by schoenebeck
File length: 6981 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) (as text) (annotate) - [select for diffs]
Modified Thu Mar 17 23:56:56 2005 UTC (19 years ago) by schoenebeck
File length: 6919 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 (19 years ago) by schoenebeck
File length: 6877 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 (19 years ago) by schoenebeck
File length: 6840 byte(s)
Diff to previous 424
* 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 424 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 4 22:54:11 2005 UTC (19 years ago) by schoenebeck
File length: 6662 byte(s)
Diff to previous 412
* implemented MIDI Control Change 7 (Volume)
* implemented MIDI Control Change 10 (Panpot)


Revision 412 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 26 22:44:51 2005 UTC (19 years, 1 month ago) by schoenebeck
File length: 6559 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]
Added Sat Feb 26 02:01:14 2005 UTC (19 years, 1 month ago) by schoenebeck
File length: 6191 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