Writing Docs Gigedit SFZ Instrument Scripts NKSP Language NKSP Reference

LinuxSampler 2.1.1

LinuxSampler 2.1.1 and friends were released on July 27th 2019. This is mainly a maintenance release with fixes of the previous release. So the release notes will be quite short this time since there are only very few and minor new features in this release.

Upcoming C++11 Requirement

Please note that this will most probably be the last release still supporting compilers which are not C++11 compliant. There are plans for new engine features for the next major release of the sampler which will strictly rely on C++11 support by the compiler. Because some of the planned new features are hardly feasible without C++11 language support at all and maintaining legacy support for such old compilers simply no longer makes sense.

Real-Time Instrument Scripts

Behaviour of the built-in NKSP functions change_sustain(), change_cutoff_attack(), change_cutoff_decay(), change_cutoff_sustain(), change_cutoff_release() have been fixed.

Find out more about scripts ...

SFZ Engine

The sfz engine adds support for the commonly used built-in sample '*silence' of the sfz format. See the sample opcode for details. It does what you think it does; it instructs the sampler to play no sound at all. This is commonly used in sfz files for instance for the lowest velocity switch to not play any sample. With the previous release trying to load sfz files which used this built-in sample caused a file loading error. There are various other commonly used built-in samples in sfz files which you can denote by the leading star character in the sample name, however the '*silence' one is currently the only supported built-in sample by our sfz engine yet. Trying to load sfz files which are using other built-in samples does not prevent your instrument from being loaded by the sampler, however you will get a warning message on the console that the built-in sample is not supported yet and the sampler will simply play silence for that non supported built-in sample.

GigaStudio Format Engine

The Giga format engine adds a format extension which allows sound designers to define whether release trigger samples shall be played when the sustain pedal is released. In the previous release this was actually the default behaviour by the sampler, but meanwhile there was a consensus on the mailing list that release samples being triggered by sustain pedal is not the common, expected behaviour. So this is no longer the default behaviour by the sampler, but you can still opt in to this old behaviour by using this new format extension option (see Gigedit changes below for details). If you don't enable this option then release samples are now only triggered by note-off events.

Gigedit 1.1.1

Our instrument editor for the GigaStudio/Gigasampler format received primarily fixes as well, but also the following few new features.

File Format Version

From the file properties dialog you can now choose to specifically save a gig file in GigaStudio v4 file format (from the main menu select "File" -> "Properties" -> "File Format"). So you can override the file format version of already existing gig files that way.

Release Trigger Options

There is now a combo box and checkbox on "Misc" tab which allow to define when precisely release trigger samples shall be played. This is an extension of the original gig file format. You have the option to play release trigger samples only on note-off events, or only on sustain pedal up events, or both on note-off events and on sustain pedal up events. These are options on dimension region level, so you can override this behaviour even for individual cases, not just for the entire instrument.

Script Slots Tooltip

When working on gig files with more than one real-time instrument script per file, it was sometimes a bit tedious to keep track of which instrument was using which script exactly, because it involved a right-click on the individual instrument to get to the script slots dialog of the instrument, which finally listed the scripts being used. You no longer have to do that just to check which scripts are being used: Just hover your mouse over the "Scripts" column of the instruments table on the left hand side of gigedit; a coloured popup will appear with the list of scripts currently being assigned to the instrument.

Likewise it is a very common task to remove all scripts from an instrument. There is now a keyboard shortcut for that: Just select the instrument from the instruments list and then hit Shift (⇧) + Backspace (⌫).

Beginners' Tooltips

Gigedit provides a large number of tooltips when you are hovering your mouse over the huge amount of individual controls and menu items the application is offering in the meantime. In case you find that annoying, you can now disable those particular tooltips which are specifically intended for beginners from the main menu by unchecking "View" -> "Tooltips for Beginners". All other tooltips that are still useful for daily work with gigedit are still being shown when this option is unchecked.

Function Keys

The previous release of gigedit introduced "Macros" for quickly performing frequently used sequences of editor actions, and you were able to assign your macros to keyboard function keys F1 .. F12. In this release you can now also assign macros to function keys up to F19, in case you own one of those keyboards with such a large amount of function keys.

libgig 4.2.0

Our fundamental file access C++ library libgig has also received primarily corrections and improvements, which are outlined next.

GigaStudio v4

This release of libgig contains important fixes concerning the GigaStudio v4 format. For instance in the previous release gig v4 files were falsely detected as gig v2 files by libgig, which was leading to numerous undesired behaviours.

Extension Files

It is now possible to write large gig files splitted over extension files (.gx01, .gx02, ...). Previously it was only possible to read gig files with extension files, but libgig only supported to save large gig files as one single, monolithic gig file. The problem with the latter was that gig files >= 2 GB could only be read by libgig, but could not be loaded with any version of GigaStudio. So this solves that legacy support issue, and you have the freedom to switch between a single, large gig file or rather this extension file based format at any time.

Document Updated:  2019-07-28  |  Author:  Christian Schoenebeck