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

Annotation of /linuxsampler/trunk/NEWS

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4103 - (hide annotations) (download)
Tue Mar 26 12:20:02 2024 UTC (3 weeks, 6 days ago) by schoenebeck
File size: 16202 byte(s)
* Preparations for new release (2.3.1).
1 schoenebeck 4103 Version 2.3.1 (26 Mar 2024)
2    
3     Maintenance release.
4    
5     Fixes build errors with certain C++ stdlib versions. No behaviour change.
6    
7 schoenebeck 4079 Version 2.3.0 (26 Jan 2024)
8    
9     This is a maintenance release with various fixes.
10    
11     Most of the changes in this release are adoptions of API changes introduced on
12     libgig 4.4.0 side which in turn are fixing a bunch of misbehaviours people
13     were facing in the past, foremost multi-threading issues.
14    
15     This release also addresses an issue with release-triggered samples.
16    
17     Refer to ChangeLog file for more fixes.
18    
19 schoenebeck 3880 Version 2.2.0 (9 May 2021)
20    
21     There are a load of changes in this release. Many new features, many fixes,
22     but also new requirements.
23    
24     Starting with this release of LinuxSampler you now need at least a C++14
25     compliant compiler. Originally it was planned to only raise the minimum
26     compiler requirement to C++11 in this release, however during this development
27     cycle some C++14 features came across which helped to reduce code complexity
28     in the LinuxSampler code base tremendously.
29    
30     The NKSP real-time instrument script engine has received tremendous new
31     features and improvements in this release. Instrument script variables of type
32     integer (e.g. $foo) are now all 64-bit internally, which prevents unexpected
33     side effects of script authors due to integer overflows that easily had
34     happened before when integer script variables were just 32-bit wide. On NKSP
35     language level there is now support for floating point variables; both scalar
36     types (e.g. ~foo = 3.93) and floating point arrays
37     (e.g. ?foo[] = ( 1.6, 4.7 ) ). Another huge new NKSP language feature is
38     support for standard measuring units like Hz (Hertz), dB (Decibel),
39     s (seconds), c (cents) in conjuction with arbitrary metric prefixes like kHz,
40     mdB, ms, mc, etc. The newly introduced "final" operator "!" in NKSP allows to
41     force a synthesis parameter like e.g. volume or pitch to a specific value that
42     should not be overridden by any other modulation source (e.g. neither from
43     patch level, nor LFOs, nor from EGs, ...). This is sometimes helpful for being
44     able to e.g. say in a script, "hey, the volume of this voice should be exactly
45     -3dB, period. I mean it!". Furthermore there are 23 new built-in NKSP script
46     functions and 6 new NKSP constants/variables. There also two new event handler
47     types for processing MIDI RPN events ("on rpn ... end on") and for MIDI NRPN
48     events ("on nrpn ... end on") in instrument scripts. And last but not least
49     there are now "patch" variables supported in instrument scripts which allow to
50     expose individual script variables to instrument editors for quick and easy
51     fine tuning of certain instrument script aspects on a per-instrument basis.
52    
53     The Giga format engine adds various format extensions. For instance you now
54     have much more control over LFOs like selecting different LFO waveforms as
55     sine, triangle, saw or square. GigaStudio had this limited to sine only. The
56     default LFO wave form in LinuxSampler's gig engine has also changed to sine
57     for that reason (instead of triangle in previous LinuxSampler versions).
58     Additionally you can now also fine control the start phase of individual LFOs.
59     In the original gig format you were only able to flip the phase. Furthermore
60     there are now new audio filter types available for the Giga engine: new lowpass
61     1/2/4/6-pole, new highpass 1/2/4/6-pole, new bandpass 2-pole, and finally a
62     bandreject 2-pole filter. You might say that some of those filter types
63     existed before, and they still do and will continue to co-exist, but they
64     simply sound differently. Keep in mind that the audio filters for the Giga
65     engine were very carefully designed to accurateley replicate the sounds as if
66     being played with Tascam's GigaStudio, so that made and still makes sense.
67     However you might simply like the sound of some of the new filter types more
68     for certain reasons when creating your own gig instruments from scratch. And
69     as always there are various fixes for the gig engine in this release as well.
70    
71     On SFZ format engine side there are corrections for the SFZ opcodes
72     loccN/hiccN and xfin_hivel.
73    
74     There are various other fixes that apply to all sampler engines, please refer
75     to the ChangeLog for more details.
76    
77     For package maintainers: the unit tests (which were broken before) have been
78     fixed in this release and work now as expected. It is recommend for them to be
79     run automatically to detect and prevent any OS issues that might cause
80     misbehaviours for users. Just keep in mind the test cases also test the LSCP
81     server which will listen on TCP port 8888 during the tests. So make sure this
82     port cannot be accessed from outside for security reasons.
83    
84 schoenebeck 3537 Version 2.1.1 (27 Jul 2019)
85    
86     This is a maintenance release with various fixes. There are only two
87     minor new features in this release:
88    
89     The Giga format engine adds a format extension which allows sound
90     designers to define whether release trigger samples shall be played when
91     the sustain pedal is released. In the previous release this was actually
92     the default behaviour by the sampler, but meanwhile there was a consensus
93     on the mailing list that release samples being triggered by sustain pedal
94     is not the common, expected behaviour. So this is no longer the default
95     behaviour, but you can still opt in to this old behaviour by using this
96     new format extension option (i.e. by using latest release version of
97     libgig and gigedit and enabling the respective checkbox for your
98     gig instrument). If you don't enable this option then release samples are
99     now only triggered by note-off events.
100    
101     The sfz engine adds support for the commonly used built-in sample
102     '*silence' of the sfz format. It does what you think it does; it
103     instructs the sampler to play no sound at all. This is commonly used
104     in sfz files for instance for the lowest velocity switch to not play any
105     sample. With the previous release trying to load sfz files which used this
106     built-in sample caused a file loading error. There are various other
107     commonly used built-in samples in sfz files which you can denote by the
108     leading star character in the sample name, however the '*silence' one is
109     currently the only supported built-in sample by our sfz engine yet. Trying
110     to load sfz files which are using other built-in samples does not prevent
111     your instrument from being loaded by the sampler, however you will get a
112     warning message on the console that the built-in sample is not supported
113     yet and the sampler will simply play silence for that non supported
114     built-in sample.
115    
116 schoenebeck 3372 Version 2.1.0 (25 November 2017)
117    
118     This release adds a large amount of extensions and improvements for the
119     real-time instrument scripting support of LinuxSampler (NKSP).
120     For example 48 new built-in NKSP functions and 21 new built-in NKSP
121     variables have been added. Also the NKSP language itself was extended.
122     Most notably the script engine now has an execution scheduler which is
123     the basis for many of the timing relevant new NKSP features in this
124     release, like programmatically suspending and resuming scripts for an
125     exact amount of time or triggering or killing notes at very precise
126     times. Bitwise operators have been added to NKSP, as well as support for
127     read only built-in variables, "synchronized" code blocks
128     ("synchronized .. end synchronized"), user declared functions and user
129     declared const array variables have been added to the NKSP language,
130     and automatic suspension of RT threatening scripts by the RT script engine
131     has been implemented. Also syntax error messages with NKSP scripts have
132     been improved to output more clear and user friendly error messages, as
133     well as NKSP editor API has been improved which brings handy new features
134     to gigedit's NKSP script editor like automatically graying out code blocks
135     which are disabled by NKSP preprocessor statements.
136    
137     The SFZ engine now supports <global>, <master>, #define and set_ccN
138     statements. And finally the SFZ engine now supports NKSP real-time
139     instrument scripts as well by adding a new "script" opcode.
140    
141     Also the Instruments Database feature has received important maintenance
142     fixes. Before this release the instrument DB feature was barely usable
143     for quite some time. Fundamental instruments DB issues have been fixed in
144     this release to finally consider this feature stable again.
145    
146     And finally this release provides a huge amount of general bug fixes.
147    
148 schoenebeck 2788 Version 2.0.0 (15 July 2015)
149    
150     The sampler's code base has seen substantial changes in the last six years,
151     since the last release of LinuxSampler. The sampler engine code base has
152     been unified to a set of abstract base classes which cleared the way for
153     two new sampler engines: The SFZ2 format engine (.sfz) and the SoundFont 2
154     engine (.sf2). So LinuxSampler is not limited to the GigaStudio/Gigasampler
155     format (.gig) anymore. Another major new feature is support for real-time
156     instrument scripts, which may be bundled with sound files to extend the
157     sampler with custom behavior for individual sounds. You may know such scripts
158     from commercial software samplers. Find out more about instrument scripts
159     on http://doc.linuxsampler.org/Instrument_Scripts/. At the moment this
160     scripting feature is yet limited to the Giga format engine. Also noteworthy
161     is the new command line application "lscp", which is a text based shell for
162     controlling the sampler from the command line, providing colored output,
163     type completion, help text while typing LSCP commands and other convenient
164     features. You may now also load external effects directly into the sampler
165     (only LADSPA plugins yet). The LSCP network protocol (v1.7) has been extended
166     to manage such effects respectively. Also new with latest LSCP version is the
167     ability to trigger MIDI CCs by LSCP commands. You may have heard that the
168     GigaStudio software has seen its last version with GigaStudio 4. Tascam
169     officially discontinued this product, its intellectual property has been sold
170     several times among companies and there is currently no way to buy a new copy
171     of GigaStudio anymore. However the GigaStudio format is still under active
172     development with LinuxSampler. We not only added support for the latest
173     features introduced with GigaStudio 4: iMIDI rules for example which allow to
174     trigger notes by MIDI CC and allow i.e. defining a set of legato samples; for
175     the first time ever we also added our own extensions to the Giga format: one
176     of it is the previously mentioned new instrument scripting feature and a more
177     minor extension is support for various other MIDI CCs which were never
178     supported by GigaStudio before. The sampler's host plugins have also seen
179     some enhancements: the LV2 plugin now stores and restores the sampler's
180     overall state with your DAW application's song, the LV2 and AudioUnit
181     plugin's outputs were increased from 2 audio channels to 16 upon request by
182     some users and the VST plugin now uses the sampler's MIDI instrument mapping
183     system to show a list of available sounds to allow the user to switch among
184     them. And last but not least the VST plugin may also be used on Mac now.
185    
186 persson 1957 Version 1.0.0 (31 July 2009)
187 schoenebeck 1956
188     This is the first release which allows the sampler to be used as audio
189     host plugin, namely supporting the standards VST, AU, DSSI and LV2. The
190     sampler's limits for max. voices & disk streams can now be altered at
191     runtime by frontends, no need to recompile the sampler anymore. The Mac
192     version now also supports CoreAudio as audio driver. The Windows version
193     finally supports the sampler's instruments DB feature as well, however
194     expect it still to be unstable at this point. Along to the already
195     existing JACK audio driver, Jack MIDI support has been added in this
196     release. The sampler allows frontends now basic MIDI control, that is to
197     monitor incoming MIDI data on MIDI input devices and sampler channels and
198     to send note-on and note-off MIDI events to sampler channels, which
199     allows frontends to provide a virtual MIDI keyboard to the user. Besides
200     these major changes there were countless bugfixes and optimizations.
201    
202 schoenebeck 1560 Version 0.5.1 (6 December 2007)
203    
204     This is the first release for the Windows platform, providing a MME MIDI
205     input driver and ASIO audio output driver. Note that the instruments DB
206     feature is not yet available for Windows systems, since the respective
207     code base has yet to be ported. Needless to say that there still might be
208     plenty of issues on MS systems. Beside that support for Windows, this is
209     merely a bugfix release (i.e. fixing one serious crash) with only minor
210     new features.
211    
212 schoenebeck 1424 Version 0.5.0 (15 October 2007)
213    
214     This release comes with a bunch of important new features. We implemented
215     a very powerful and easy MIDI program change mapping, which not only
216     allows you to define which instrument to load on which MIDI program
217     change number (and bank select number), it also allows further parameters
218     like whether the instrument shall be pre-cached or loaded only when needed
219     (and likewise freed when not needed). You can create arbitrary amount of
220     effect sends for each sampler channel, each having an arbitrary MIDI
221     controller for controlling the effect send level in realtime and can
222     flexible be routed to some of the sampler's audio output channel, i.e.
223     to a dedicated one for a certain effect type. The new instruments
224     database allows you to keep track even of largest instrument library
225     collections. You can order them in categories and search by various
226     criteria. The sampler now allows third party applications to offer so
227     called 'instrument editor plugins' which the sampler can use to spawn
228     an appropriate instrument editor application for a selected instrument
229     and for allowing to edit instruments with such an external editor
230     application on-the-fly, that is all modifications made with the editor
231     will immediately be audible with the sampler. No need to reload instrument
232     files anymore. Checkout our brand new instrument editor application called
233     'gigedit' which you can use for this feature. Loading huge instruments may
234     take a long time, that's why the sampler now allows to play an instrument
235     while loading. That way you can i.e. play and hold notes on the keyboard
236     while loading a new instrument on the same sampler channel at the same
237     time. Beside these new features, you can find the common huge list of bug
238     fixes and quality improvements.
239    
240 schoenebeck 937 Version 0.4.0 (24 November 2006)
241    
242     Finally a new release after a long development cycle. The sampler now has
243     a completely revised synthesis core. Note that due to this, most of the
244     assembly code became incompatible and is thus deactivated at compile
245     time. So don't bother trying to activate the assembly option, it won't
246     compile! That's not an issue though, because even without assembly, the
247     new synthesis core is faster than the old one with assembly. The
248     Gigasampler engine now has real support for 24 bit samples, that is they
249     won't be truncated anymore, and finally supports all filter types of the
250     Gigasampler format. A lot of effort has been put into making all filters
251     under all parameters being as accurate as possible, compared to the
252     original Gigasampler ones. Analogue to hardware mixers, sampler channels
253     can now be muted and solo-ed and there is support for GM portamento and
254     GM mono mode (single note per channel) as well as support for sostenuto
255     pedal. Beside LSCP, third-party applications can now also link against
256     liblinuxsampler directly (using the sampler's C++ API). Beside these,
257     there have been of course a huge bunch of fixes and quality improvements.
258    
259 schoenebeck 692 Version 0.3.3 (15 July 2005)
260    
261     Another bug fix release. It solves one usability issue regarding small
262     fragments / high sampling rates of audio drivers, fixes some compile time
263     errors with GCC 4.0 and fixes a minor efficiency bug.
264    
265 schoenebeck 677 Version 0.3.2 (24 June 2005)
266    
267     This is more or less just a bug fix release. Beside a bunch of little
268     fixes it solves a serious crash in conjunction with voice stealing and
269     slightly improves Gigasampler format playback accuracy.

  ViewVC Help
Powered by ViewVC