/[svn]/linuxsampler/trunk/src/engines/common/Event.h
ViewVC logotype

Log of /linuxsampler/trunk/src/engines/common/Event.h

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 3118 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 21 13:33:03 2017 UTC (2 months, 1 week ago) by schoenebeck
File length: 20018 byte(s)
Diff to previous 2953
* NKSP: Fixed crash when using built-in script array variable "%ALL_EVENTS".
* NKSP: Added built-in function "change_amp_lfo_depth()".
* NKSP: Added built-in function "change_amp_lfo_freq()".
* NKSP: Added built-in function "change_pitch_lfo_depth()".
* NKSP: Added built-in function "change_pitch_lfo_freq()".
* Bumped version (2.0.0.svn44).


Revision 2953 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jul 16 11:24:39 2016 UTC (11 months, 1 week ago) by schoenebeck
File length: 19844 byte(s)
Diff to previous 2948
* NKSP: Implemented built-in script function "change_attack()".
* NKSP: Implemented built-in script function "change_decay()".
* NKSP: Implemented built-in script function "change_release()".
* Bumped version (2.0.0.svn19).


Revision 2948 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 15 15:29:04 2016 UTC (11 months, 2 weeks ago) by schoenebeck
File length: 19736 byte(s)
Diff to previous 2938
* 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 2938 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 11 17:10:40 2016 UTC (11 months, 2 weeks ago) by schoenebeck
File length: 18084 byte(s)
Diff to previous 2935
* Fixed behavior of built-in instrument script functions play_note()
  and note_off(), which must be distinguished engine internally
  from "real" MIDI note on/off events in order to avoid
  misbehaviors like hanging notes.
* Bumped version (2.0.0.svn13).


Revision 2935 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jul 10 14:24:13 2016 UTC (11 months, 2 weeks ago) by schoenebeck
File length: 17594 byte(s)
Diff to previous 2931
* NKSP: Added & implemented built-in script function "change_cutoff()".
* NKSP: Added & implemented built-in script function "change_reso()".
* NKSP: Added & implemented built-in script function "event_status()".
* NKSP: Added built-in script constants "$EVENT_STATUS_INACTIVE" and
  "$EVENT_STATUS_NOTE_QUEUE" both for being used as flags for
  built-in "event_status()" script function.
* NKSP language: Added support for bitwise operators ".or.", ".and."
  and ".not.".
* NKSP language scanner: Fixed IDs matching to require at least one
  character (i.e. when matching function names or variable names).
* NKSP language scanner: disabled unusued rules.
* Bumped version (2.0.0.svn12).


Revision 2931 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jul 9 14:38:33 2016 UTC (11 months, 2 weeks ago) by schoenebeck
File length: 17519 byte(s)
Diff to previous 2879
* Implemented built-in instrument script function "change_vol()".
* Implemented built-in instrument script function "change_tune()".
* Implemented built-in instrument script function "change_pan()".
* Bumped version (2.0.0.svn11).


Revision 2879 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 19 14:07:53 2016 UTC (14 months, 1 week ago) by schoenebeck
File length: 16244 byte(s)
Diff to previous 2871
* 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) (as text) (annotate) - [select for diffs]
Modified Sun Apr 10 18:22:23 2016 UTC (14 months, 2 weeks ago) by schoenebeck
File length: 14147 byte(s)
Diff to previous 2611
* 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 2611 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 9 19:20:37 2014 UTC (3 years ago) by schoenebeck
File length: 9368 byte(s)
Diff to previous 2600
* 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 2600 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 7 00:16:03 2014 UTC (3 years ago) by schoenebeck
File length: 9267 byte(s)
Diff to previous 2598
* 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) (as text) (annotate) - [select for diffs]
Modified Fri Jun 6 12:38:54 2014 UTC (3 years ago) by schoenebeck
File length: 8698 byte(s)
Diff to previous 2594
* 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 2594 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 5 00:16:25 2014 UTC (3 years ago) by schoenebeck
File length: 8612 byte(s)
Diff to previous 2559
* 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) (as text) (annotate) - [select for diffs]
Modified Sun May 18 17:38:25 2014 UTC (3 years, 1 month ago) by schoenebeck
File length: 7739 byte(s)
Diff to previous 2317
* 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 2317 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Feb 19 12:13:19 2012 UTC (5 years, 4 months ago) by persson
File length: 6903 byte(s)
Diff to previous 2101
* 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 2101 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 30 11:40:31 2010 UTC (7 years, 1 month ago) by persson
File length: 6702 byte(s)
Diff to previous 1751
* sfz/sf2 engines: RT-safeness: avoid malloc in audio thread
* sfz/sf2 engines: fixed a bug that could cause voice stealing to fail


Revision 1751 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 28 07:36:35 2008 UTC (8 years, 11 months ago) by schoenebeck
File length: 6611 byte(s)
Diff to previous 906
* bugfix: process chromatic / drumkit mode sysex message only for
  the respective engine channels that are connected to the MIDI
  input port on which the message was received


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


Revision 890 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jul 1 13:43:04 2006 UTC (11 years ago) by schoenebeck
File length: 6316 byte(s)
Diff to previous 738
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 738 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 16 17:14:25 2005 UTC (11 years, 10 months ago) by schoenebeck
File length: 6313 byte(s)
Diff to previous 412
* 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 412 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 26 22:44:51 2005 UTC (12 years, 4 months ago) by schoenebeck
File length: 6638 byte(s)
Diff to previous 328
* 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 328 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Dec 25 21:58:58 2004 UTC (12 years, 6 months ago) by schoenebeck
File length: 6452 byte(s)
Diff to previous 293
* architecture independence fixes, should now compile again for non x86
  systems
* tiny fix of command line switch --version


Revision 293 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 25 15:14:27 2004 UTC (12 years, 8 months ago) by schoenebeck
File length: 6657 byte(s)
Diff to previous 250
* 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 250 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 20 00:31:13 2004 UTC (12 years, 9 months ago) by schoenebeck
File length: 6408 byte(s)
Diff to previous 246
* 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 246 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 19 14:12:55 2004 UTC (12 years, 9 months ago) by schoenebeck
File length: 6031 byte(s)
Diff to previous 244
just tidied up event type specific parameters (that is note-on specific
parameters, controle change specific parameters, etc.) in Event class


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


Revision 56 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 27 09:21:58 2004 UTC (13 years, 2 months ago) by schoenebeck
File length: 5439 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 (13 years, 2 months ago) by schoenebeck
File length: 5439 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