2 |
|
|
3 |
* general changes: |
* general changes: |
4 |
- Fixed compiler error in Pool.h. |
- Fixed compiler error in Pool.h. |
5 |
|
- Require C++11 compiler support. |
6 |
|
- Autoconf: Added m4/ax_cxx_compile_stdcxx.m4 macro which is used |
7 |
|
for checking in configure for C++11 support (as mandatory |
8 |
|
requirement) and automatically adds compiler argument if required |
9 |
|
(e.g. -std=C++11). |
10 |
|
- RTMath: Implemented floating point comparison methods |
11 |
|
fEqual32(float,float) and fEqual64(double,double) which take the |
12 |
|
expected floating point tolerances into account. |
13 |
|
|
14 |
* Real-time instrument scripts: |
* Real-time instrument scripts: |
15 |
- Added method ScriptVM::setExitResultEnabled() which allows to |
- Added method ScriptVM::setExitResultEnabled() which allows to |
17 |
one function argument; the value of the passed exit() function |
one function argument; the value of the passed exit() function |
18 |
argument will then become available by calling |
argument will then become available by calling |
19 |
VMExecContext::exitResult() after script execution. |
VMExecContext::exitResult() after script execution. |
20 |
|
- 64 bit support for NKSP integer scripts variables (declare $foo). |
21 |
|
- Variable names, function names and preprocessor condition names must start |
22 |
|
with a regular character (a-z or A-Z); starting them with a digit or |
23 |
|
underscore is not allowed. |
24 |
|
- NKSP parser fix: equal comparison operator "=" and not equal comparison |
25 |
|
operator "#" must only accept integer operands. |
26 |
|
- NKSP language: Implemented support for standard units like Hertz, seconds, |
27 |
|
Bel including support for metric unit prefixes; so one can now e.g. |
28 |
|
conveniently use numbers in scripts like "5us" meaning "5 microseconds", |
29 |
|
or e.g. "12kHz" meaning "12 kilo Hertz", or e.g. "-14mdB" meaning |
30 |
|
"minus 14 Millidecibel", or e.g. "28c" meaning "28 cents" (for tuning). |
31 |
|
- NKSP language: Introduced "final" operator "!" which is specifically |
32 |
|
intended for synthesis parameter values to denote that the synthesis |
33 |
|
parameter value is intended to be the "final" value for that synthesis |
34 |
|
parameter that should explicitly be used by the engine and thus causing |
35 |
|
the sampler engine to ignore all other modulation sources for the same |
36 |
|
synthesis parameter (like e.g. LFO, EG); by simply prefixing a value, |
37 |
|
variable or formula with this new "!" operator the expression is marked as |
38 |
|
being "final". |
39 |
|
- NKSP script editor API: Added support for detecting standard unit tokens |
40 |
|
and their potential metric prefix token. |
41 |
|
- NKSP language: Added support for NKSP real number literals and |
42 |
|
arithmetic operations on them (e.g. "(3.9 + 2.9) / 12.3 - 42.0"). |
43 |
|
- NKSP language: Added support for NKSP real number (floating point) script |
44 |
|
variables (declare ~foo). |
45 |
|
- NKSP language: Added support for NKSP real number (floating point) array |
46 |
|
script variables (declare ?foo[]). |
47 |
|
- Built-in script function "message()" accepts now real number argument as |
48 |
|
well. |
49 |
|
- Added built-in script function "real_to_int()" and its short hand form |
50 |
|
"int()" for casting from real number to integer in NKSP scripts. |
51 |
|
- Added built-in script function "int_to_real()" and its short hand form |
52 |
|
"real()" for casting from integer to real number in NKSP scripts. |
53 |
|
- Allow built-in exit() function to potentially accept real number type |
54 |
|
argument as well. |
55 |
|
- Built-in script functions may have a different return type depending on |
56 |
|
the arguments passed to the function. |
57 |
|
- Built-in script function "abs()" optionally accepts and returns real |
58 |
|
number. |
59 |
|
- Built-in script functions "min()" and "max()" optionally accept real |
60 |
|
number arguments and return real number as result in that case. |
61 |
|
|
62 |
* test cases: |
* test cases: |
63 |
- Fixed compiler errors in test cases. |
- Fixed compiler errors in test cases. |
68 |
mutex type). |
mutex type). |
69 |
- Added test cases for NKSP core language aspects and core built-in |
- Added test cases for NKSP core language aspects and core built-in |
70 |
functions. |
functions. |
71 |
|
- Fixed thread tests segfaulting on Linux. |
72 |
|
- NKSP: Added real number test cases for built-in functions exit(), |
73 |
|
int_to_real(), real(), real_to_int() and int(), as well as for the |
74 |
|
plus, minus and negate language operators. |
75 |
|
|
76 |
Version 2.1.1 (27 Jul 2019) |
Version 2.1.1 (27 Jul 2019) |
77 |
|
|