/[svn]/linuxsampler/trunk/src/scriptvm/ScriptVM.h
ViewVC logotype

Log of /linuxsampler/trunk/src/scriptvm/ScriptVM.h

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 3590 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 2 09:03:31 2019 UTC (4 years, 6 months ago) by schoenebeck
File length: 16752 byte(s)
Diff to previous 3573 , to selected 2729
NKSP: Implemented common real number math functions.

* Added built-in real number functions "round()", "ceil()", "floor()",
  "sqrt()", "log()", "log2()", "log10()", "exp()", "pow()", "sin()",
  "cos()", "tan()", "asin()", "acos()", "atan()".

* Added built-in script real number constant "~NI_MATH_PI".

* Added built-in script real number constant "~NI_MATH_E".

* Added NKSP test cases for built-in functions "round()", "ceil()",
  "floor()", "sqrt()", "log()", "log2()", "log10()", "exp()", "pow()",
  "sin()", "cos()", "tan()", "asin()", "acos()", "atan()".

* Bumped version (2.1.1.svn14).


Revision 3573 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 27 21:36:53 2019 UTC (4 years, 7 months ago) by schoenebeck
File length: 15098 byte(s)
Diff to previous 3557 , to selected 2729
NKSP: Introducing floating point support.

* NKSP language: Added support for NKSP real number literals and
  arithmetic operations on them (e.g. "(3.9 + 2.9) / 12.3 - 42.0").

* NKSP language: Added support for NKSP real number (floating point)
  script variables (declare ~foo := 3.4).

* NKSP language: Added support for NKSP real number (floating point)
  array script variables (declare ?foo[3] := ( 1.1, 2.7, 49.0 )).

* NKSP built-in script function "message()" accepts now real number
  argument as well.

* Added built-in NKSP script function "real_to_int()" and its short
  hand form "int()" for casting from real number to integer in NKSP
  scripts.

* Added built-in NKSP script function "int_to_real()" and its short
  hand form "real()" for casting from integer to real number in NKSP
  scripts.

* Bumped version (2.1.1.svn6).


Revision 3557 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Aug 18 00:06:04 2019 UTC (4 years, 7 months ago) by schoenebeck
File length: 14984 byte(s)
Diff to previous 3551 , to selected 2729
* 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 3551 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 1 10:22:56 2019 UTC (4 years, 7 months ago) by schoenebeck
File length: 14985 byte(s)
Diff to previous 3311 , to selected 2729
* Added test cases for NKSP core language aspects and core built-in
  functions.
* NKSP: Added method ScriptVM::setExitResultEnabled() which allows
  to explicitly enable the built-in exit() function to optionally
  accept one function argument; the value of the passed exit()
  function argument will then become available by calling
  VMExecContext::exitResult() after script execution.
* Bumped version (2.1.1.svn2).


Revision 3311 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jul 15 16:24:59 2017 UTC (6 years, 8 months ago) by schoenebeck
File length: 13982 byte(s)
Diff to previous 3221 , to selected 2729
* NKSP: Added built-in preprocessor condition NKSP_NO_MESSAGE,
  which can be set to disable all subsequent built-in "message()"
  function calls on preprocessor level.
* Bumped version (2.0.0.svn71).


Revision 3221 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 26 18:30:42 2017 UTC (6 years, 10 months ago) by schoenebeck
File length: 13462 byte(s)
Diff to previous 3076 , to selected 2729
* NKSP Fix: Never suspend "init" event handlers.
* NKSP: Implemented built-in script function "array_equal()".
* NKSP: Implemented built-in script function "search()".
* NKSP: Implemented built-in script function "sort()".
* Bumped version (2.0.0.svn52).


Revision 3076 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 5 18:00:52 2017 UTC (7 years, 2 months ago) by schoenebeck
File length: 13310 byte(s)
Diff to previous 2974 , to selected 2729
* NKSP: Implemented built-in script function "in_range()".
* Bumped version (2.0.0.svn36).


Revision 2974 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 22 15:51:40 2016 UTC (7 years, 8 months ago) by schoenebeck
File length: 13258 byte(s)
Diff to previous 2970 , to selected 2729
* ScriptVM: Implemented automatic suspension of RT safety
  threatening scripts.
* Bumped version (2.0.0.svn25).


Revision 2970 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 21 16:22:55 2016 UTC (7 years, 8 months ago) by schoenebeck
File length: 12072 byte(s)
Diff to previous 2965 , to selected 2729
* NKSP: Implemented built-in script function "min()".
* NKSP: Implemented built-in script function "max()".
* Bumped version (2.0.0.svn23).


Revision 2965 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 18 09:42:28 2016 UTC (7 years, 8 months ago) by schoenebeck
File length: 11986 byte(s)
Diff to previous 2948 , to selected 2729
* NKSP: Implemented built-in script function "sh_left()".
* NKSP: Implemented built-in script function "sh_right()".
* Bumped version (2.0.0.svn22).


Revision 2948 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 15 15:29:04 2016 UTC (7 years, 8 months ago) by schoenebeck
File length: 11884 byte(s)
Diff to previous 2945 , to selected 2729
* 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 2945 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 14 00:22:26 2016 UTC (7 years, 8 months ago) by schoenebeck
File length: 11438 byte(s)
Diff to previous 2942 , to selected 2729
* NKSP: Implemented built-in script function "inc()".
* NKSP: Implemented built-in script function "dec()".
* NKSP language fix: division expressions were evaluated too often.
* NKSP language fix: string concatenation operator was right
  associative instead of left (to right).
* Bumped version (2.0.0.svn15).


Revision 2942 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 13 15:51:06 2016 UTC (7 years, 8 months ago) by schoenebeck
File length: 11352 byte(s)
Diff to previous 2889 , to selected 2729
* NKSP: Implemented built-in script variable "$KSP_TIMER".
* NKSP: Implemented built-in script variable "$NKSP_REAL_TIMER".
* NKSP: Implemented built-in script variable "$NKSP_PERF_TIMER".
* NKSP: Implemented built-in script variable "$ENGINE_UPTIME".
* Bumped version (2.0.0.svn14).


Revision 2889 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 25 17:28:23 2016 UTC (7 years, 11 months ago) by schoenebeck
File length: 10832 byte(s)
Diff to previous 2885 , to selected 2729
* Added new C++ API class "ScriptVMFactory".
* Instrument Scripts: extended parser issues to provide not only first
  line and first column, but also last line and last column of issue
  (thus marking the precise span of the issue within the source code).
* Bumped version (2.0.0.svn7).


Revision 2885 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 22 15:37:45 2016 UTC (7 years, 11 months ago) by schoenebeck
File length: 10697 byte(s)
Diff to previous 2879 , to selected 2729
* Instrument script classes now exported with the liblinuxsampler C++ API.
* Added new API method ScriptVM::syntaxHighlighting() which provides
  a convenient syntax highlighting backend for external instrument
  script editor applications.
* Bumped version (2.0.0.svn5).


Revision 2879 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 19 14:07:53 2016 UTC (7 years, 11 months ago) by schoenebeck
File length: 9233 byte(s)
Diff to previous 2871 , to selected 2729
* 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 (7 years, 11 months ago) by schoenebeck
File length: 9051 byte(s)
Diff to previous 2729
* 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 2729 - (view) (download) (as text) (annotate) - [selected]
Modified Tue Mar 31 17:56:21 2015 UTC (9 years ago) by schoenebeck
File length: 9050 byte(s)
Diff to previous 2728
- Just added API doc comments to Script VM code.


Revision 2728 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 31 17:51:10 2015 UTC (9 years ago) by schoenebeck
File length: 9043 byte(s)
Diff to previous 2727 , to selected 2729
- Just added API doc comments to Script VM code.


Revision 2727 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 31 17:46:11 2015 UTC (9 years ago) by schoenebeck
File length: 8886 byte(s)
Diff to previous 2619 , to selected 2729
- Just added API doc comments to Script VM code.


Revision 2619 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 11 13:24:32 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 3127 byte(s)
Diff to previous 2594 , to selected 2729
* Implemented built-in instrument script function "abs()".
* Implemented built-in instrument script function "random()".
* Implemented built-in instrument script function "num_elements()".
* Disabled debug mode of RefPtr template class.
* Bumped version (1.0.0.svn51).


Revision 2594 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 5 00:16:25 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 3002 byte(s)
Diff to previous 2588 , to selected 2729
* 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 2588 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 1 14:44:38 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 1477 byte(s)
Diff to previous 2581 , to selected 2729
* ScriptVM: refactoring and fixes.


Revision 2581 - (view) (download) (as text) (annotate) - [select for diffs]
Added Fri May 30 12:48:05 2014 UTC (9 years, 10 months ago) by schoenebeck
File length: 1362 byte(s)
Diff to selected 2729
* (WIP) Implemented parser and VM for upcoming new real-time instrument
  script support. It needs yet to be integrated into the sampler's
  sampler engines. You can toy around for now with the command line tool
  "ls_instr_script" and i.e. examples showing the core language features
  under src/scriptvm/examples/.
* Bumped version (1.0.0.svn41).


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