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

Diff of /linuxsampler/trunk/NEWS

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

revision 692 by schoenebeck, Fri Jul 15 16:59:35 2005 UTC revision 3880 by schoenebeck, Sun May 9 11:45:09 2021 UTC
# Line 1  Line 1 
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)
67    
68      This is a maintenance release with various fixes. There are only two
69      minor new features in this release:
70    
71      The Giga format engine adds a format extension which allows sound
72      designers to define whether release trigger samples shall be played when
73      the sustain pedal is released. In the previous release this was actually
74      the default behaviour by the sampler, but meanwhile there was a consensus
75      on the mailing list that release samples being triggered by sustain pedal
76      is not the common, expected behaviour. So this is no longer the default
77      behaviour, but you can still opt in to this old behaviour by using this
78      new format extension option (i.e. by using latest release version of
79      libgig and gigedit and enabling the respective checkbox for your
80      gig instrument). If you don't enable this option then release samples are
81      now only triggered by note-off events.
82    
83      The sfz engine adds support for the commonly used built-in sample
84      '*silence' of the sfz format. It does what you think it does; it
85      instructs the sampler to play no sound at all. This is commonly used
86      in sfz files for instance for the lowest velocity switch to not play any
87      sample. With the previous release trying to load sfz files which used this
88      built-in sample caused a file loading error. There are various other
89      commonly used built-in samples in sfz files which you can denote by the
90      leading star character in the sample name, however the '*silence' one is
91      currently the only supported built-in sample by our sfz engine yet. Trying
92      to load sfz files which are using other built-in samples does not prevent
93      your instrument from being loaded by the sampler, however you will get a
94      warning message on the console that the built-in sample is not supported
95      yet and the sampler will simply play silence for that non supported
96      built-in sample.
97    
98    Version 2.1.0 (25 November 2017)
99    
100      This release adds a large amount of extensions and improvements for the
101      real-time instrument scripting support of LinuxSampler (NKSP).
102      For example 48 new built-in NKSP functions and 21 new built-in NKSP
103      variables have been added. Also the NKSP language itself was extended.
104      Most notably the script engine now has an execution scheduler which is
105      the basis for many of the timing relevant new NKSP features in this
106      release, like programmatically suspending and resuming scripts for an
107      exact amount of time or triggering or killing notes at very precise
108      times. Bitwise operators have been added to NKSP, as well as support for
109      read only built-in variables, "synchronized" code blocks
110      ("synchronized .. end synchronized"), user declared functions and user
111      declared const array variables have been added to the NKSP language,
112      and automatic suspension of RT threatening scripts by the RT script engine
113      has been implemented. Also syntax error messages with NKSP scripts have
114      been improved to output more clear and user friendly error messages, as
115      well as NKSP editor API has been improved which brings handy new features
116      to gigedit's NKSP script editor like automatically graying out code blocks
117      which are disabled by NKSP preprocessor statements.
118    
119      The SFZ engine now supports <global>, <master>, #define and set_ccN
120      statements. And finally the SFZ engine now supports NKSP real-time
121      instrument scripts as well by adding a new "script" opcode.
122    
123      Also the Instruments Database feature has received important maintenance
124      fixes. Before this release the instrument DB feature was barely usable
125      for quite some time. Fundamental instruments DB issues have been fixed in
126      this release to finally consider this feature stable again.
127    
128      And finally this release provides a huge amount of general bug fixes.
129    
130    Version 2.0.0 (15 July 2015)
131    
132      The sampler's code base has seen substantial changes in the last six years,
133      since the last release of LinuxSampler. The sampler engine code base has
134      been unified to a set of abstract base classes which cleared the way for
135      two new sampler engines: The SFZ2 format engine (.sfz) and the SoundFont 2
136      engine (.sf2). So LinuxSampler is not limited to the GigaStudio/Gigasampler
137      format (.gig) anymore. Another major new feature is support for real-time
138      instrument scripts, which may be bundled with sound files to extend the
139      sampler with custom behavior for individual sounds. You may know such scripts
140      from commercial software samplers. Find out more about instrument scripts
141      on http://doc.linuxsampler.org/Instrument_Scripts/. At the moment this
142      scripting feature is yet limited to the Giga format engine. Also noteworthy
143      is the new command line application "lscp", which is a text based shell for
144      controlling the sampler from the command line, providing colored output,
145      type completion, help text while typing LSCP commands and other convenient
146      features. You may now also load external effects directly into the sampler
147      (only LADSPA plugins yet). The LSCP network protocol (v1.7) has been extended
148      to manage such effects respectively. Also new with latest LSCP version is the
149      ability to trigger MIDI CCs by LSCP commands. You may have heard that the
150      GigaStudio software has seen its last version with GigaStudio 4. Tascam
151      officially discontinued this product, its intellectual property has been sold
152      several times among companies and there is currently no way to buy a new copy
153      of GigaStudio anymore. However the GigaStudio format is still under active
154      development with LinuxSampler. We not only added support for the latest
155      features introduced with GigaStudio 4: iMIDI rules for example which allow to
156      trigger notes by MIDI CC and allow i.e. defining a set of legato samples; for
157      the first time ever we also added our own extensions to the Giga format: one
158      of it is the previously mentioned new instrument scripting feature and a more
159      minor extension is support for various other MIDI CCs which were never
160      supported by GigaStudio before. The sampler's host plugins have also seen
161      some enhancements: the LV2 plugin now stores and restores the sampler's
162      overall state with your DAW application's song, the LV2 and AudioUnit
163      plugin's outputs were increased from 2 audio channels to 16 upon request by
164      some users and the VST plugin now uses the sampler's MIDI instrument mapping
165      system to show a list of available sounds to allow the user to switch among
166      them. And last but not least the VST plugin may also be used on Mac now.
167    
168    Version 1.0.0 (31 July 2009)
169    
170      This is the first release which allows the sampler to be used as audio
171      host plugin, namely supporting the standards VST, AU, DSSI and LV2. The
172      sampler's limits for max. voices & disk streams can now be altered at
173      runtime by frontends, no need to recompile the sampler anymore. The Mac
174      version now also supports CoreAudio as audio driver. The Windows version
175      finally supports the sampler's instruments DB feature as well, however
176      expect it still to be unstable at this point. Along to the already
177      existing JACK audio driver, Jack MIDI support has been added in this
178      release. The sampler allows frontends now basic MIDI control, that is to
179      monitor incoming MIDI data on MIDI input devices and sampler channels and
180      to send note-on and note-off MIDI events to sampler channels, which
181      allows frontends to provide a virtual MIDI keyboard to the user. Besides
182      these major changes there were countless bugfixes and optimizations.
183    
184    Version 0.5.1 (6 December 2007)
185    
186      This is the first release for the Windows platform, providing a MME MIDI
187      input driver and ASIO audio output driver. Note that the instruments DB
188      feature is not yet available for Windows systems, since the respective
189      code base has yet to be ported. Needless to say that there still might be
190      plenty of issues on MS systems. Beside that support for Windows, this is
191      merely a bugfix release (i.e. fixing one serious crash) with only minor
192      new features.
193    
194    Version 0.5.0 (15 October 2007)
195    
196      This release comes with a bunch of important new features. We implemented
197      a very powerful and easy MIDI program change mapping, which not only
198      allows you to define which instrument to load on which MIDI program
199      change number (and bank select number), it also allows further parameters
200      like whether the instrument shall be pre-cached or loaded only when needed
201      (and likewise freed when not needed). You can create arbitrary amount of
202      effect sends for each sampler channel, each having an arbitrary MIDI
203      controller for controlling the effect send level in realtime and can
204      flexible be routed to some of the sampler's audio output channel, i.e.
205      to a dedicated one for a certain effect type. The new instruments
206      database allows you to keep track even of largest instrument library
207      collections. You can order them in categories and search by various
208      criteria. The sampler now allows third party applications to offer so
209      called 'instrument editor plugins' which the sampler can use to spawn
210      an appropriate instrument editor application for a selected instrument
211      and for allowing to edit instruments with such an external editor
212      application on-the-fly, that is all modifications made with the editor
213      will immediately be audible with the sampler. No need to reload instrument
214      files anymore. Checkout our brand new instrument editor application called
215      'gigedit' which you can use for this feature. Loading huge instruments may
216      take a long time, that's why the sampler now allows to play an instrument
217      while loading. That way you can i.e. play and hold notes on the keyboard
218      while loading a new instrument on the same sampler channel at the same
219      time. Beside these new features, you can find the common huge list of bug
220      fixes and quality improvements.
221    
222    Version 0.4.0 (24 November 2006)
223    
224      Finally a new release after a long development cycle. The sampler now has
225      a completely revised synthesis core. Note that due to this, most of the
226      assembly code became incompatible and is thus deactivated at compile
227      time. So don't bother trying to activate the assembly option, it won't
228      compile! That's not an issue though, because even without assembly, the
229      new synthesis core is faster than the old one with assembly. The
230      Gigasampler engine now has real support for 24 bit samples, that is they
231      won't be truncated anymore, and finally supports all filter types of the
232      Gigasampler format. A lot of effort has been put into making all filters
233      under all parameters being as accurate as possible, compared to the
234      original Gigasampler ones. Analogue to hardware mixers, sampler channels
235      can now be muted and solo-ed and there is support for GM portamento and
236      GM mono mode (single note per channel) as well as support for sostenuto
237      pedal. Beside LSCP, third-party applications can now also link against
238      liblinuxsampler directly (using the sampler's C++ API). Beside these,
239      there have been of course a huge bunch of fixes and quality improvements.
240    
241  Version 0.3.3 (15 July 2005)  Version 0.3.3 (15 July 2005)
242    
243    Another bug fix release. It solves one usability issue regarding small    Another bug fix release. It solves one usability issue regarding small

Legend:
Removed from v.692  
changed lines
  Added in v.3880

  ViewVC Help
Powered by ViewVC