/[svn]/linuxsampler/trunk/ChangeLog
ViewVC logotype

Diff of /linuxsampler/trunk/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3020 by persson, Sun Oct 23 07:24:09 2016 UTC revision 3552 by schoenebeck, Tue Aug 6 13:18:59 2019 UTC
# Line 1  Line 1 
1  Version SVN trunk (?)  Version SVN trunk (?)
2    
3      * general changes:
4        - Fixed compiler error in Pool.h.
5    
6      * Real-time instrument scripts:
7        - Added method ScriptVM::setExitResultEnabled() which allows to
8          explicitly enable the built-in exit() function to optionally accept
9          one function argument; the value of the passed exit() function
10          argument will then become available by calling
11          VMExecContext::exitResult() after script execution.
12    
13      * test cases:
14        - Fixed compiler errors in test cases.
15        - Updated README for how to compile & run test cases.
16        - Updated test case
17          MutexTest::testDoubleLockStillBlocksConcurrentThread() to latest
18          expected behaviour of the Mutex class implementation (recursive
19          mutex type).
20        - Added test cases for NKSP core language aspects and core built-in
21          functions.
22        - Fixed thread tests segfaulting on Linux.
23    
24    Version 2.1.1 (27 Jul 2019)
25    
26      * Real-time instrument scripts:
27        - Fixed behavior of built-in NKSP functions change_sustain(),
28          change_cutoff_attack(), change_cutoff_decay(), change_cutoff_sustain()
29          and change_cutoff_release().
30    
31      * general changes:
32        - Only play release trigger samples on sustain pedal up if this behaviour
33          was explicitly requested by the instrument (otherwise only on note-off).
34        - Fixed compiler warnings.
35        - Fixed compilation error when cross-compiling to Mac.
36        - FX Sends: Provide more useful error messages on routing problems
37          (see bug #169).
38        - LSCP doc: Be more clear describing the two distinct approaches
39          of using external vs. internal effects (see bug #169).
40        - "optional" class: Fixed comparison operators.
41    
42      * Gigasampler/GigaStudio format engine:
43        - Format extension: If requested by instrument then don't play release
44          trigger sample on note-off events.
45    
46      * SFZ format engine:
47        - Fixed memory leak when releasing samples
48          (fixes bug #307, patch by Jacek Roszkowski)
49        - Fixed potential crash when a sample is shared by more than one region
50          (fixes bug #308, patch by Jacek Roszkowski).
51        - Opcode 'sample': Added support for built-in sample '*silence'
52          (fixes bug #310, patch by Jacek Roszkowski).
53    
54    Version 2.1.0 (25 Nov 2017)
55    
56    * SFZ format engine:    * SFZ format engine:
57      - added support for <global>, <master> and #define (patch by Alby M)      - added support for <global>, <master> and #define (patch by Alby M)
58        - Removed code duplication in SFZ file loading code.
59        - Added support for sfz extension opcode 'script' which may be used to
60          load real-time instrument script file (NKSP script language).
61        - Implemented opcode set_ccN (initial patch by Giovanni Senatore).
62        - Fixed unintended volume fade-in of voices under certain conditions.
63        - sfz parser: allow missing space between header and opcode
64    
65      * Gigasampler/GigaStudio format engine:
66        - Fixed clicks and pumping noise with Lowpass Turbo filter on very low
67          cutoff settings.
68        - Got rid of resembling an ancient GSt misbehavior which did not pitch at
69          all if an up-pitch of more than 40 semi tones was requested (I don't
70          think there is any stock gig sound that requires this behavior to
71          resemble its original sound).
72        - Added support for controlling whether the individual EGADSR stages may
73          be aborted (as LinuxSampler extension to the original GigaStudio 4
74          format).
75    
76    * general changes:    * general changes:
77      - fixed printf type errors (mostly in debug messages)      - fixed printf type errors (mostly in debug messages)
# Line 33  Version SVN trunk (?) Line 103  Version SVN trunk (?)
103        VirtualMidiDevice::SendChannelPressureToSampler().        VirtualMidiDevice::SendChannelPressureToSampler().
104      - windows, 32-bit: fixed potential crashes by making sure the stack in      - windows, 32-bit: fixed potential crashes by making sure the stack in
105        sub threads is 16-byte aligned        sub threads is 16-byte aligned
106        - fixed numerous compiler warnings
107        - Fixed invalid (note-on) event ID being assigned to new Note objects.
108        - Revised fundamental C++ classes "Thread", "Mutex" and "Condition" which
109          fixes potential undefined behavior.
110        - Fixed Note object leak when triggering notes on keys which did not
111          have a valid sample mapped (fixes bug #252).
112        - Fixed compilation errors when compiling with CONFIG_DEVMODE enabled.
113        - linuxsampler binary fix: option --create-instruments-db ignored
114          subsequent optional argument due to glibc's implementation oddity
115          which expects a "=" sign, but no space between them.
116    
117    * packaging changes:    * packaging changes:
118      - removed unnecessary dependency to libuuid      - removed unnecessary dependency to libuuid
119        (originated by libgig's usage of it)        (originated by libgig's usage of it)
120      - Automake: set environment variable GCC_COLORS=auto to allow GCC to      - Automake: set environment variable GCC_COLORS=auto to allow GCC to
121        auto detect whether it (sh/c)ould output its messages in color.        auto detect whether it (sh/c)ould output its messages in color.
122        - Debian: Fixed packaging error about invalid "Source-Version"
123          substitution variable.
124        - Debian: Raised Debian compatibility level to Debian 9 "Stretch".
125        - Debian: Added build dependency to libsqlite3-dev for building
126          linuxsampler with instruments DB support.
127    
128    * Real-time instrument scripts:    * Real-time instrument scripts:
129      - Implemented scheduler for delayed MIDI events and for suspended scripts.      - Implemented scheduler for delayed MIDI events and for suspended scripts.
# Line 131  Version SVN trunk (?) Line 216  Version SVN trunk (?)
216      - Provide more user friendly error messages on syntax errors.      - Provide more user friendly error messages on syntax errors.
217      - Fixed NKSP parser warning "Not a statement" when assigning an      - Fixed NKSP parser warning "Not a statement" when assigning an
218        initializer list to an array variable.        initializer list to an array variable.
219        - Implemented built-in script array variable "%ALL_EVENTS".
220        - Implemented built-in script function "in_range()".
221        - Implemented built-in script function "change_amp_lfo_depth()".
222        - Implemented built-in script function "change_amp_lfo_freq()".
223        - Implemented built-in script function "change_pitch_lfo_depth()".
224        - Implemented built-in script function "change_pitch_lfo_freq()".
225        - Implemented built-in script function "change_vol_time()".
226        - Implemented built-in script function "change_tune_time()".
227        - Implemented built-in script function "fade_in()".
228        - Implemented built-in script function "fade_out()".
229        - Fixed acceptance of wrong data type of parameters passed to built-in
230          script functions "change_vol()", "change_tune()", "change_pan()",
231          "change_cutoff()", "change_reso()", "change_attack()", "change_decay()",
232          "change_release()", "change_amp_lfo_depth()", "change_amp_lfo_freq()",
233          "change_pitch_lfo_depth()" and "change_pitch_lfo_freq()".
234        - Added built-in script function "get_event_par()" and implemented some
235          of its possible parameter selections.
236        - Added built-in script function "set_event_par()" and implemented some
237          of its possible parameter selections.
238        - Fixed a bunch of scheduler time related bugs.
239        - Fixed polyphonic variables not being reset to zero after usage.
240        - Built-in "ignore_event()" function: argument is now optional, like with
241          built-in function "ignore_controller()".
242        - Implemented built-in script function "change_velo()".
243        - Implemented built-in script function "change_note()".
244        - Adjusted behavior of "change_vol()" and "change_tune()" to a more
245          intuitive behavior if used in combination with "change_vol_time()" or
246          "change_tune_time()" respectively: now tuning/volume changes are only
247          assigned (without delay) immediately to a new note if the respective
248          timing function has not been called before, otherwise the volume/tuning
249          changes are automatically faded (before, only the event's time stamp was
250          relevant).
251         - Implemented built-in script function "array_equal()".
252         - Implemented built-in script function "search()".
253         - Implemented built-in script function "sort()".
254         - NKSP Fix: Never suspend "init" event handlers.
255         - Implemented built-in script function "same_region()" (currently only
256           available for gig format engine).
257         - Added built-in script constant "$NKSP_LINEAR".
258         - Added built-in script constant "$NKSP_EASE_IN_EASE_OUT".
259         - Implemented built-in script function "change_vol_curve()".
260         - Implemented built-in script function "change_tune_curve()".
261         - built-in "play_note()" function now supports a sample playback start
262           offset with argument 3, where special value -1 means to use the regular
263           sample offset as defined by the instrument file.
264         - Built-in array variable %KEY_DOWN[] is now a read-only variable.
265         - Built-in variable $EVENT_NOTE is now a read-only variable.
266         - Built-in variable $EVENT_VELOCITY is now a read-only variable.
267         - built-in "play_note()" function now accepts -2 for its fourth argument
268           (note duration) which means the life time of the note shall be sticked
269           to the requested note number of argument 1.
270         - Fix: built-in "play_note()" function now returns 0 as result value if
271           -1 was passed for its fourth argument (note duration) and the respective
272           parent note is already gone.
273        - Implemented built-in script function "change_play_pos()".
274        - NKSP language: Added support for user declared const array variables.
275        - NKSP language: Raise parser warning if array variable is accessed with
276          an index that exceeds the array's size.
277        - NKSP language fix: Unknown characters were not handled correctly.
278        - NKSP language: Added support for "synchronized .. end synchronized"
279          code blocks.
280        - Implemented built-in script function "abort()" which allows to abort
281          another script handler by passing its callback ID.
282        - Fixed potential memory access bug and potential undefined behavior of
283          "init" event handlers.
284        - Print a time stamp along to each call of built-in function "message()".
285        - ScriptVM API: Added VMParserContext::preprocessorComments() which allows
286          to retrieve all code blocks filtered out by the preprocessor.
287        - Added built-in script function "fork()".
288        - Added built-in array variable %NKSP_CALLBACK_CHILD_ID[].
289        - Added built-in variable $NKSP_CALLBACK_PARENT_ID.
290        - Fixed potential crash when accessing dynamic built-in array variables.
291        - Added built-in script function "callback_status()".
292        - Added built-in constant $CALLBACK_STATUS_TERMINATED.
293        - Added built-in constant $CALLBACK_STATUS_QUEUE.
294        - Added built-in constant $CALLBACK_STATUS_RUNNING.
295        - Removed max. value limitation of built-in functions "change_attack()",
296          "change_decay()" and "change_release()" to i.e. allow passing 2000000
297          for doubling the respective time.
298        - NKSP script editor syntax highlighting API: Fixed app termination due
299          to a lexer start condition stack underrun.
300        - NKSP preprocessor: Fixed wrong behavior on nested USE_CODE_IF() and
301          USE_CODE_IF_NOT() preprocessor statements.
302        - NKSP: Added built-in preprocessor condition NKSP_NO_MESSAGE, which
303          can be set to disable all subsequent built-in "message()" function calls
304          on preprocessor level.
305        - Implemented built-in script function "change_sustain()".
306        - NKSP script editor syntax highlighting API: catch all fatal lexer errors,
307          to avoid the editor app to crash on ill-formed text input.
308        - Added built-in script function "change_pan_time()".
309        - Added built-in script function "change_pan_curve()".
310        - Added built-in script function "change_cutoff_attack()".
311        - Added built-in script function "change_cutoff_decay()".
312        - Added built-in script function "change_cutoff_sustain()".
313        - Added built-in script function "change_cutoff_release()".
314        - Added built-in script function "change_cutoff_lfo_depth()".
315        - Added built-in script function "change_cutoff_lfo_freq()".
316    
317      * Instruments DB:
318        - Fixed memory access bug of general DB access code which lead to
319          undefined behavior.
320        - Cleanup of instruments DB file creation and opening code.
321        - The instrument DB path of linuxsampler's --create-instruments-db argument
322          is now optional, if it is missing, then a default location is used.
323        - Added support for scanning SFZ (.sfz) files.
324        - Added support for scanning Sound Font (.sf2) files.
325        - Fixed undefined DB transaction behavior.
326    
327  Version 2.0.0 (15 July 2015)  Version 2.0.0 (15 July 2015)
328    
# Line 555  Version 2.0.0 (15 July 2015) Line 747  Version 2.0.0 (15 July 2015)
747        "SUBSCRIBE SEND_EFFECT_CHAIN_INFO"        "SUBSCRIBE SEND_EFFECT_CHAIN_INFO"
748      - provide comprehensive error messages on LSCP syntax errors      - provide comprehensive error messages on LSCP syntax errors
749        (suggesting expected next non-terminal symbols)        (suggesting expected next non-terminal symbols)
750        - Fixed client connection not being closed after network errors.
751    
752    * LSCP shell:    * LSCP shell:
753      - Added support for auto correction of obvious and trivial syntax mistakes.      - Added support for auto correction of obvious and trivial syntax mistakes.
# Line 604  Version 2.0.0 (15 July 2015) Line 797  Version 2.0.0 (15 July 2015)
797        $GIG_DIM_EFFECT3DEPTH, $GIG_DIM_EFFECT4DEPTH, $GIG_DIM_EFFECT5DEPTH.        $GIG_DIM_EFFECT3DEPTH, $GIG_DIM_EFFECT4DEPTH, $GIG_DIM_EFFECT5DEPTH.
798      - Giga format scripts: Implemented built-in script function      - Giga format scripts: Implemented built-in script function
799        "gig_set_dim_zone(event_id, dimension, zone)".        "gig_set_dim_zone(event_id, dimension, zone)".
800      - Implemented built-in script int array variable $KEY_DOWN.      - Implemented built-in script int array variable %KEY_DOWN.
801      - Implemented built-in script function "abs()".      - Implemented built-in script function "abs()".
802      - Implemented built-in script function "random()".      - Implemented built-in script function "random()".
803      - Implemented built-in script function "num_elements()".      - Implemented built-in script function "num_elements()".
# Line 618  Version 2.0.0 (15 July 2015) Line 811  Version 2.0.0 (15 July 2015)
811        (i.e. return value of new script function "by_marks()").        (i.e. return value of new script function "by_marks()").
812      - Pass/preserve polyphonic variable data from respective "note" event      - Pass/preserve polyphonic variable data from respective "note" event
813        handler to "release" event handler.        handler to "release" event handler.
814        - Fixed crash when using built-in script function "by_marks()".
815    
816    * Bug fixes:    * Bug fixes:
817      - Fixed crash which may occur when MIDI key + transpose is out of range      - Fixed crash which may occur when MIDI key + transpose is out of range

Legend:
Removed from v.3020  
changed lines
  Added in v.3552

  ViewVC Help
Powered by ViewVC