1 |
|
Version 2.2.0 (9 May 2021) |
2 |
|
|
3 |
|
There are a load of changes in this release. Many new features, many fixes, |
4 |
|
but also new requirements. |
5 |
|
|
6 |
|
Starting with this release of LinuxSampler you now need at least a C++14 |
7 |
|
compliant compiler. Originally it was planned to only raise the minimum |
8 |
|
compiler requirement to C++11 in this release, however during this development |
9 |
|
cycle some C++14 features came across which helped to reduce code complexity |
10 |
|
in the LinuxSampler code base tremendously. |
11 |
|
|
12 |
|
The NKSP real-time instrument script engine has received tremendous new |
13 |
|
features and improvements in this release. Instrument script variables of type |
14 |
|
integer (e.g. $foo) are now all 64-bit internally, which prevents unexpected |
15 |
|
side effects of script authors due to integer overflows that easily had |
16 |
|
happened before when integer script variables were just 32-bit wide. On NKSP |
17 |
|
language level there is now support for floating point variables; both scalar |
18 |
|
types (e.g. ~foo = 3.93) and floating point arrays |
19 |
|
(e.g. ?foo[] = ( 1.6, 4.7 ) ). Another huge new NKSP language feature is |
20 |
|
support for standard measuring units like Hz (Hertz), dB (Decibel), |
21 |
|
s (seconds), c (cents) in conjuction with arbitrary metric prefixes like kHz, |
22 |
|
mdB, ms, mc, etc. The newly introduced "final" operator "!" in NKSP allows to |
23 |
|
force a synthesis parameter like e.g. volume or pitch to a specific value that |
24 |
|
should not be overridden by any other modulation source (e.g. neither from |
25 |
|
patch level, nor LFOs, nor from EGs, ...). This is sometimes helpful for being |
26 |
|
able to e.g. say in a script, "hey, the volume of this voice should be exactly |
27 |
|
-3dB, period. I mean it!". Furthermore there are 23 new built-in NKSP script |
28 |
|
functions and 6 new NKSP constants/variables. There also two new event handler |
29 |
|
types for processing MIDI RPN events ("on rpn ... end on") and for MIDI NRPN |
30 |
|
events ("on nrpn ... end on") in instrument scripts. And last but not least |
31 |
|
there are now "patch" variables supported in instrument scripts which allow to |
32 |
|
expose individual script variables to instrument editors for quick and easy |
33 |
|
fine tuning of certain instrument script aspects on a per-instrument basis. |
34 |
|
|
35 |
|
The Giga format engine adds various format extensions. For instance you now |
36 |
|
have much more control over LFOs like selecting different LFO waveforms as |
37 |
|
sine, triangle, saw or square. GigaStudio had this limited to sine only. The |
38 |
|
default LFO wave form in LinuxSampler's gig engine has also changed to sine |
39 |
|
for that reason (instead of triangle in previous LinuxSampler versions). |
40 |
|
Additionally you can now also fine control the start phase of individual LFOs. |
41 |
|
In the original gig format you were only able to flip the phase. Furthermore |
42 |
|
there are now new audio filter types available for the Giga engine: new lowpass |
43 |
|
1/2/4/6-pole, new highpass 1/2/4/6-pole, new bandpass 2-pole, and finally a |
44 |
|
bandreject 2-pole filter. You might say that some of those filter types |
45 |
|
existed before, and they still do and will continue to co-exist, but they |
46 |
|
simply sound differently. Keep in mind that the audio filters for the Giga |
47 |
|
engine were very carefully designed to accurateley replicate the sounds as if |
48 |
|
being played with Tascam's GigaStudio, so that made and still makes sense. |
49 |
|
However you might simply like the sound of some of the new filter types more |
50 |
|
for certain reasons when creating your own gig instruments from scratch. And |
51 |
|
as always there are various fixes for the gig engine in this release as well. |
52 |
|
|
53 |
|
On SFZ format engine side there are corrections for the SFZ opcodes |
54 |
|
loccN/hiccN and xfin_hivel. |
55 |
|
|
56 |
|
There are various other fixes that apply to all sampler engines, please refer |
57 |
|
to the ChangeLog for more details. |
58 |
|
|
59 |
|
For package maintainers: the unit tests (which were broken before) have been |
60 |
|
fixed in this release and work now as expected. It is recommend for them to be |
61 |
|
run automatically to detect and prevent any OS issues that might cause |
62 |
|
misbehaviours for users. Just keep in mind the test cases also test the LSCP |
63 |
|
server which will listen on TCP port 8888 during the tests. So make sure this |
64 |
|
port cannot be accessed from outside for security reasons. |
65 |
|
|
66 |
Version 2.1.1 (27 Jul 2019) |
Version 2.1.1 (27 Jul 2019) |
67 |
|
|
68 |
This is a maintenance release with various fixes. There are only two |
This is a maintenance release with various fixes. There are only two |