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

Log of /linuxsampler/trunk/src/engines/AbstractEngineChannel.cpp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 3706 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 8 20:39:59 2020 UTC (4 years, 2 months ago) by schoenebeck
File length: 53396 byte(s)
Diff to previous 3557 , to selected 2382
Fixed compiler warnings about implied type casts.


Revision 3557 - (view) (download) (annotate) - [select for diffs]
Modified Sun Aug 18 00:06:04 2019 UTC (4 years, 7 months ago) by schoenebeck
File length: 53389 byte(s)
Diff to previous 3293 , to selected 2382
* NKSP: Introducing 64 bit support for NKSP integer scripts
  variables (declare $foo).
* Require C++11 compiler support.
* Autoconf: Added m4/ax_cxx_compile_stdcxx.m4 macro which is used
  for checking in configure for C++11 support (as mandatory
  requirement) and automatically adds compiler argument if required
  (e.g. -std=C++11).
* Bumped version (2.1.1.svn3).


Revision 3293 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 27 22:19:19 2017 UTC (6 years, 9 months ago) by schoenebeck
File length: 53383 byte(s)
Diff to previous 3205 , to selected 2382
* NKSP: Added built-in script function "fork()".
* NKSP: Added built-in array variable %NKSP_CALLBACK_CHILD_ID[].
* NKSP: Added built-in variable $NKSP_CALLBACK_PARENT_ID.
* NKSP: Fixed potential crash when accessing dynamic built-in
  array variables.
* Bumped version (2.0.0.svn65).


Revision 3205 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 24 20:05:38 2017 UTC (6 years, 10 months ago) by schoenebeck
File length: 51234 byte(s)
Diff to previous 3054 , to selected 2382
* Fixed invalid (note-on) event ID being assigned to new Note
  objects.
* Fixed a bunch of scheduler time related bugs.
* Bumped version (2.0.0.svn47).


Revision 3054 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 15 12:47:45 2016 UTC (7 years, 3 months ago) by schoenebeck
File length: 49809 byte(s)
Diff to previous 3018 , to selected 2382
* Fixed numerous compiler warnings.
* Bumped version (2.0.0.svn32).


Revision 3018 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 19 17:22:28 2016 UTC (7 years, 5 months ago) by schoenebeck
File length: 49803 byte(s)
Diff to previous 2948 , to selected 2382
* Added new C++ API method
  VirtualMidiDevice::SendChannelPressureToSampler().
* Bumped version (2.0.0.svn30).


Revision 2948 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 15 15:29:04 2016 UTC (7 years, 8 months ago) by schoenebeck
File length: 49374 byte(s)
Diff to previous 2884 , to selected 2382
* NKSP: Implemented built-in script function "stop_wait()".
* NKSP: Implemented built-in script variable "$NI_CALLBACK_ID".
* NKSP: Implemented built-in script variable "$NI_CALLBACK_TYPE".
* NKSP: Implemented built-in script variable "$NKSP_IGNORE_WAIT".
* NKSP: Added support for read-only built-in variables
  (respectively handled by the script parser).
* NKSP: Added built-in script constant "$NI_CB_TYPE_INIT".
* NKSP: Added built-in script constant "$NI_CB_TYPE_NOTE".
* NKSP: Added built-in script constant "$NI_CB_TYPE_RELEASE".
* NKSP: Added built-in script constant "$NI_CB_TYPE_CONTROLLER".
* Bumped version (2.0.0.svn17).


Revision 2884 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 20 15:22:58 2016 UTC (7 years, 11 months ago) by schoenebeck
File length: 47844 byte(s)
Diff to previous 2879 , to selected 2382
* Automake: set environment variable GCC_COLORS=auto to allow GCC to
  auto detect whether it (sh/c)ould output its messages in color.
* Fixed behavior of built-in script function "ignore_event()".
* Bumped version (2.0.0.svn4).


Revision 2879 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 19 14:07:53 2016 UTC (7 years, 11 months ago) by schoenebeck
File length: 48489 byte(s)
Diff to previous 2871 , to selected 2382
* All engines: Active voices are now internally grouped to "Note" objects,
  instead of being directly assigned to a keyboard key. This allows more
  fine graded processing of voices, which is i.e. required for certain
  instrument script features.
* Built-in script function "play_note()": Added support for passing
  special value -1 for "duration-us" argument, which will cause the
  triggered note to be released once the original note was released.
* Bumped version (2.0.0.svn3).


Revision 2871 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 10 18:22:23 2016 UTC (7 years, 11 months ago) by schoenebeck
File length: 46636 byte(s)
Diff to previous 2665 , to selected 2382
* 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 2665 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jul 6 00:49:36 2014 UTC (9 years, 8 months ago) by schoenebeck
File length: 44629 byte(s)
Diff to previous 2662 , to selected 2382
* Another fix regarding virtual MIDI device event import.
* Bumped version (1.0.0.svn57).


Revision 2662 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 2 22:24:02 2014 UTC (9 years, 8 months ago) by schoenebeck
File length: 44629 byte(s)
Diff to previous 2618 , to selected 2382
* Fixed virtual MIDI device event import (which caused i.e. the
  events from the virtual keyboard of gigedit to be ignored by the
  sampler).
* Bumped version (1.0.0.svn56).


Revision 2618 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 11 11:39:44 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 44519 byte(s)
Diff to previous 2612 , to selected 2382
* Fixed execution of "init" instrument script handler.
* Fixed further crashes.
* Bumped version (1.0.0.svn50).


Revision 2612 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 10 13:32:16 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 44603 byte(s)
Diff to previous 2611 , to selected 2382
* Fixed crashes when exiting the sampler.
* Bumped version (1.0.0.svn47).


Revision 2611 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 9 19:20:37 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 44600 byte(s)
Diff to previous 2606 , to selected 2382
* Fixed crash when loading an instrument script.
* Fixed "init" script handler only to be executed once:
  when the script was loaded.
* Fixed aftertouch script event which always had value zero
  and controller number was set to aftertouch value instead.
* gig Engine: Fixed handling of "smartmidi" dimension, which
  was recognized as "unknown" dimension.
* Fixed script function gig_set_dim_zone(): was accessing
  wrong event.
* ls_instr_script command line tool: is now not limited to
  core language scripts, but can now also parse sampler format
  dependent instrument scripts, with the respective specific
  built-in script variables and functions.
* ScriptVM: Fixed runtime behavior of "and" and "or" binary
  script expressions, which also evaluated the right hand side
  of the expression even if the left hand side already failed
  the overall expression semantic to become true.
* Bumped version (1.0.0.svn46).


Revision 2606 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 8 05:42:56 2014 UTC (9 years, 9 months ago) by persson
File length: 48452 byte(s)
Diff to previous 2600 , to selected 2382
* removed usage of c++11 initializer that caused compilation errors on
  older compilers


Revision 2600 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 7 00:16:03 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 48302 byte(s)
Diff to previous 2598 , to selected 2382
* Implemented built-in instrument script function "set_controller()".
* Fixed built-in script functions "ignore_event()" and
  "ignore_controller()".
* Added extended instrument script VM for the Gigasampler/GigaStudio format
  sampler engine, which extends the general instrument script VM with Giga
  format specific variables and functions.
* Giga format instrument scripts: added built-in script int constant
  variables $GIG_DIM_CHANNEL, $GIG_DIM_LAYER, $GIG_DIM_VELOCITY,
  $GIG_DIM_AFTERTOUCH, $GIG_DIM_RELEASE, $GIG_DIM_KEYBOARD,
  $GIG_DIM_ROUNDROBIN, $GIG_DIM_RANDOM, $GIG_DIM_SMARTMIDI,
  $GIG_DIM_ROUNDROBINKEY, $GIG_DIM_MODWHEEL, $GIG_DIM_BREATH,
  $GIG_DIM_FOOT, $GIG_DIM_PORTAMENTOTIME, $GIG_DIM_EFFECT1,
  $GIG_DIM_EFFECT2, $GIG_DIM_GENPURPOSE1, $GIG_DIM_GENPURPOSE2,
  $GIG_DIM_GENPURPOSE3, $GIG_DIM_GENPURPOSE4, $GIG_DIM_SUSTAIN,
  $GIG_DIM_PORTAMENTO, $GIG_DIM_SOSTENUTO, $GIG_DIM_SOFT,
  $GIG_DIM_GENPURPOSE5, $GIG_DIM_GENPURPOSE6, $GIG_DIM_GENPURPOSE7,
  $GIG_DIM_GENPURPOSE8, $GIG_DIM_EFFECT1DEPTH, $GIG_DIM_EFFECT2DEPTH,
  $GIG_DIM_EFFECT3DEPTH, $GIG_DIM_EFFECT4DEPTH, $GIG_DIM_EFFECT5DEPTH.
* Giga format instrument scripts: Implemented built-in script function
  "gig_set_dim_zone(event_id, dimension, zone)", which allows to override
  dimension zone(s) for new voices.
* Bumped version (1.0.0.svn45).


Revision 2598 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 6 12:38:54 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 47240 byte(s)
Diff to previous 2596 , to selected 2382
* ScriptVM (WIP): Built-in script function "play_note()" now returns the
  event ID of the triggered note.
* ScriptVM (WIP): Implemented built-in script int variable $EVENT_ID.
* ScriptVM (WIP): Implemented built-in script function "ignore_event()".
* ScriptVM (WIP): Implemented built-in script function
  "ignore_controller()" (accepts one and no argument).
* Bumped version (1.0.0.svn44).


Revision 2596 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 5 19:39:12 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 46670 byte(s)
Diff to previous 2594 , to selected 2382
* ScriptVM (WIP): Implemented execution of script event
  handlers "note" and "release".
* ScriptVM (WIP): Implemented built-in script function
  "play_note()" (only two of the max. four function
  arguments are currently implemented yet though).
* ScriptVM (WIP): Fixed incorrect handling of
  suspended scripts.
* Bumped version (1.0.0.svn43).


Revision 2594 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 5 00:16:25 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 45829 byte(s)
Diff to previous 2559 , to selected 2382
* ScriptVM (WIP): started to integrate real-time instrument script
  support into the sampler engine implementations. The code is
  shared among all sampler engines, however currently only the gig
  file format supports storing instrument scripts (as LinuxSampler
  extension to the original GigaStudio 4 file format).
* gig engine: Added support for loading instrument scripts from .gig
  files.
* ScriptVM (WIP): Implemented built-in script variables %CC, $CC_NUM,
  $EVENT_NOTE, $EVENT_VELOCITY, $VCC_MONO_AT, $VCC_PITCH_BEND.
* ScriptVM (WIP): Implemented execution of script event handler "init".
* ScriptVM (WIP): Implemented execution of script event handler
  "controller".
* Bumped version (1.0.0.svn42).


Revision 2559 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 18 17:38:25 2014 UTC (9 years, 10 months ago) by schoenebeck
File length: 41967 byte(s)
Diff to previous 2521 , to selected 2382
* Aftertouch: extended API to explicitly handle channel pressure and
  polyphonic key pressure events (so far polyphonic pressure was not
  supported at all, and channel pressure was rerouted as CC128 but not
  used so far).
* Gig Engine: Fixed support for 'aftertouch' attenuation controller.
* Bumped version (1.0.0.svn39).


Revision 2521 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 19 19:02:43 2014 UTC (10 years, 1 month ago) by schoenebeck
File length: 38463 byte(s)
Diff to previous 2500 , to selected 2382
* VirtualMidiDevice: implemented support for program change, bank select
  and pitch bend.
* Bumped version (1.0.0.svn32).


Revision 2500 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 10 12:20:05 2014 UTC (10 years, 2 months ago) by schoenebeck
File length: 37322 byte(s)
Diff to previous 2427 , to selected 2382
* Added support for multiple MIDI input ports per sampler channel (added
  various new C++ API methods for this new feature/design, old C++ API
  methods are now marked as deprecated but should still provide full
  behavior backward compatibility).
* LSCP Network interface: Added the following new LSCP commands for the new
  feature mentioned above: "ADD CHANNEL MIDI_INPUT",
  "REMOVE CHANNEL MIDI_INPUT" and "LIST CHANNEL MIDI_INPUTS". As with the
  C++ API changes, the old LSCP commands for MIDI input management are now
  marked as deprecated, but are still there and should provide full behavior
  backward compatibility.
* New LSCP specification document (LSCP v1.6).
* AbstractEngine::GSCheckSum(): don't allocate memory on the stack (was
  unsafe and caused compilation error with old clang 2.x).
* Bumped version (1.0.0.svn25).


Revision 2427 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 2 07:03:04 2013 UTC (11 years ago) by persson
File length: 32481 byte(s)
Diff to previous 2382
* code refactoring: added a lock guard class for exception safe mutex
  handling and used it everywhere appropriate


Revision 2382 - (view) (download) (annotate) - [selected]
Modified Sun Dec 2 16:30:42 2012 UTC (11 years, 3 months ago) by persson
File length: 32540 byte(s)
Diff to previous 2326
* all engines: add pan CC value to instrument pan parameter before
  applying panning, instead of using two separate pan functions in
  series (#182)
* sfz parser: allow -200 to 200 for pan_oncc opcode (#182)
* gig engine: handle special case when pan parameter in gig file has
  max or min value
* CoreMIDI: fixed memory deallocation error


Revision 2326 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 8 19:40:14 2012 UTC (12 years ago) by persson
File length: 32730 byte(s)
Diff to previous 2317 , to selected 2382
* bugfix: instrument loading crashed for sfz and sf2 in Ardour (#176)
* more thread safety fixes for the instrument loading thread


Revision 2317 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 19 12:13:19 2012 UTC (12 years, 1 month ago) by persson
File length: 32371 byte(s)
Diff to previous 2127 , to selected 2382
* sfz engine bugfix: looping was disabled if loop_start was set to 0
* sfz engine: allow regions with end=-1 to turn off other regions
  using the group and off_by opcodes (#168)
* sfz engine: made end=0 play the whole sample
* sfz engine: fixed support for lochan and hichan opcodes (#155)
* bumped version to 1.0.0.svn17


Revision 2127 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 22 18:59:16 2010 UTC (13 years, 6 months ago) by persson
File length: 31496 byte(s)
Diff to previous 2114 , to selected 2382
* fixed crash when deleting a sampler channel or changing engine type
  while an instrument load was in progress


Revision 2114 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 10 12:05:19 2010 UTC (13 years, 7 months ago) by persson
File length: 31258 byte(s)
Diff to previous 2025 , to selected 2382
* sfz engine: improved support for exclusive groups (group, off_by and
  off_mode)
* minor valgrind fixes


Revision 2025 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 1 18:47:59 2009 UTC (14 years, 4 months ago) by schoenebeck
File length: 29317 byte(s)
Diff to previous 2012 , to selected 2382
* added support for sending MIDI CC messages via LSCP command
  "SEND CHANNEL MIDI_DATA CC <sampler-chan> <ctrl> <val>"


Revision 2012 - (view) (download) (annotate) - [select for diffs]
Added Fri Oct 23 17:53:17 2009 UTC (14 years, 5 months ago) by iliev
File length: 28389 byte(s)
Diff to selected 2382
* 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


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