LinuxSampler

blank
news about features screenshots demos download donations support developers faq documentation bugs instruments links credits
Bitcoins Or donate Bitcoins at:
1Q9CK7xUhMNWryqYTZLbUTXbrjpYYtwvng

Why donate?

News

2026-08-05 LinuxSampler 2.5.0 had been released. This is a new feature release. See the release notes for details.
2026-07-21 In case you are having trouble accessing our sites from certain networks: due to ongoing issues with A.I. bots crawling our sites with such a high bandwidth that they were effectively acting like a large DoS, there was no other option than automatically blocking subnets of these botnets, which may include dial-in networks unfortunately. If you are affected by this then let us know and we will unblock your subnet.
2026-02-16 It's been a long way. The NKSP language tour has been updated with all the new features added during the last few years. Things like local variables, user functions with arguments and function result, standard measuring units, the final operator, patch variables and much more.
2025-12-17 Wrapping the year up with maintenance releases: Gigedit 1.2.4 fixes a few issues, foremost visibility issues when running Gigedit in Dark Mode. LinuxSampler 2.4.2 and libgig 4.5.2 both fix build issues only.
2025-11-07 LinuxSampler 2.4.1 maintenance release which fixes several bugs, along to maintenance releases Gigedit 1.2.3 and libgig 4.5.1.
More ...

Latest Subversion Commits

linuxsampler
2026-08-05 schoenebeck
* New release (2.5.0).
2026-06-22 schoenebeck
* EventListeners: fix AddListener() by preventing internal listeners from being accidentally registered more than once.
2026-06-22 schoenebeck
* RingBuffer: fix undefined behaviour in case of buffer size 0 or 1.
* Bump version (2.4.2.svn6).
2026-04-09 schoenebeck
* Instrument Editor API: implement "prelisten" feature which e.g. allows a sound designer to listen to only one specific layer of a multi-layer instrument.
* Bump version (2.4.2.svn5).
2026-02-11 schoenebeck
* NKSP parser: fix empty scripts to be accepted as valid scripts as well (i.e. fix them having caused a syntax error).
* Bump version (2.4.2.svn4).
2026-01-23 schoenebeck
* VM C++ API: rename VMDeploymentCase -> VMDeploymentCase_t (and add deprecated alias for backward compatibility).
2026-01-23 schoenebeck
* VM C++ API: ParserIssue::dump(): append diagnostic type (in brackets) as string to output of warning/error message.
* VM C++ API: const-ify ParserIssue::dump() and move implementation from header to unit.
2026-01-23 schoenebeck
NKSP: allow promoting parser warnings to errors
* Replace C++ API method ScriptVM::setWarningEnabled() by ScriptVM::setDiagnostic() which now allows to configure a parser issue to be treated either as warning, error or suppressed.
* Replace C++ API method ScriptVM::isWarningEnabled() by ScriptVM::getDiagnostic().
* Add C++ API method ScriptVM::getDiagnosticDefault() which returns the default treatment of a particular parser issue.
* Bump version (2.4.2.svn3).
2026-01-23 schoenebeck
NKSP: make parser warnings configurable
* Add numeric list of diagnostic types (enum VMDiagnosticType_t) and associate each identified NKSP parser warning message with one of the numeric diagnostic types.
* Add C++ API methods ScriptVM::setWarningEnabled() and ScriptVM::isWarningEnabled() which can be used to enable or disable individual NKSP parser warning types and retrieving whether they are currently enabled.
* Add C++ API functions allDiagnosticTypes(), diagnosticTypeStr() and diagnosticType() which can be used by third-party apps to retrieve all available NKSP diagnostic flags, both as numeric values and string presentation, and for converting between numeric and string presentation.
* Bump version (2.4.2.svn2).
2026-01-17 schoenebeck
Revise build of auto generated source files (regression fix of SVN r4164).
* Split auto generation of 1) LSCP parser source files, 2) updating LSCP reference documentation's grammar section (Documentation/lscp.xml) and 3) auto generation of liblinuxsampler's built-in LSCP reference documentation, into 3 separate build tasks (instead of regenerating all of them always together).
* Fix build concurrency issue when running parallel builds (make -j) that caused crippled auto generated source files: prevent parallel run of tasks that auto generate source files, and fix those targets to not run more than once.
* Only update Documentation/lscp.xml (its grammar section that is) if src/network/lscp.y has been changed.
* Only regenerate src/network/lscp_shell_reference.cpp if Documentation/lscp.xml has been changed.
2026-01-17 schoenebeck
* configure: check for required Perl module XML::Parser.
2026-01-17 schoenebeck
* NKSP tests: split giant src/scriptvm/tests/NKSPCoreLangTest.cpp into multiple source files.
2026-01-13 schoenebeck
* autoconf: replace deprecated AC_HELP_STRING by AS_HELP_STRING.
2026-01-12 schoenebeck
Fix autoconf AC_TRY_* deprecation warnings:
* Replace deprecated AC_TRY_RUN by AC_RUN_IFELSE.
* Replace deprecated AC_TRY_LINK by AC_LINK_IFELSE.
More ...
gigedit
2026-08-05 schoenebeck
* New release (1.3.0).
2026-07-29 schoenebeck
* Add an app icon for this app.
* Bump version (1.2.4.svn21).
2026-04-09 schoenebeck
* DimRegionEdit: add play button to Sample tab (which triggers prelisten feature for main selection's dimension region).
2026-04-09 schoenebeck
* Implement "prelisten" feature: pressing and holding "Alt" key while clicking on a dimension zone triggers exactly one voice of that particular dimension region involved, the voice stops when the mouse button is released.
* Bump version (1.2.4.svn20).
2026-03-26 schoenebeck
* Main Window: add column "Referenced" to scripts tree view (showing how often the script is referenced by some instrument).
2026-03-26 schoenebeck
* Script Editor: fix unreadable text in bright mode when text was selected.
2026-03-26 schoenebeck
* Script Editor: implement highlighting of text matching currently selected text (e.g. double clicking on a variable and immediately seeing where the variable is used over entire script).
2026-03-26 schoenebeck
* DimRegionEdit: fine tune sorting of patch variables (they are still displayed sorted in alphabetically order, but starting by 2nd character, as the 1st charecter denotes the data type in NKSP).
2026-03-26 schoenebeck
* RegionChooser: round the corners of colored alternative-values stripes (to increase visual perceiption of region boundaries while hovering a sound parameter).
* Bump version (1.2.4.svn19).
2026-03-25 schoenebeck
* RegionChooser: draw colored rectangles (or stripes) for alternative values on regions.
* Bump version (1.2.4.svn18).
2026-03-24 schoenebeck
* DimRegionChooser: draw alternative values each with a different color (and draw a dark box with rounded corners as background to increase contrast of that mulit-color text).
2026-03-24 schoenebeck
* DimRegionEdit: increase size of velocity curves graph.
2026-03-24 schoenebeck
DimRegionEdit: add respective unit to sound parameter controls' label
* Make it clear that LFO Frequency value is in Hz.
* Make it clear that LFO phase is in degree.
* Make it clear that fine tune is in cents.
2026-03-22 schoenebeck
* Show parameter name on lower right (over dimension zones) while hovering a sound parameter control.
* Bump version (1.2.4.svn17).
More ...
libgig
2026-09-04 schoenebeck
* src/SF.cpp: Fix Sample::Read*() silently ignoring 16-bit linked samples.
* Tests: Guard this issue with a new SF2 test case.
2026-09-04 schoenebeck
* src/SF.cpp: Fix Sample::Read() from losing the first sample of 16-bit right channel.
* Tests: guard this issue with a new SF2 test case.
2026-09-04 schoenebeck
* src/SF.cpp: Fix Sample::Read*() from reading out-of-bounds when the sample position is at or past the end of the sample.
* Bump version (4.6.0.svn7).
2026-09-03 schoenebeck
* src/SF.cpp: Fix region's STARTLOOP_ADDRS_COARSE_OFFSET and ENDLOOP_ADDRS_COARSE_OFFSET calculations (signed vs. unsigned issue).
* src/SF.cpp: Clamp region's out-of-range loop points instead of throwing an exception (since this prevented many SF2 files from being loaded).
2026-09-03 schoenebeck
* src/SF.cpp: Fix Sample::Read() corrupting 24-bit sample data on all systems: the sample data was assembled in-place inside the destination buffer and the loop overwrote bytes that later iterations still needed to read.
* src/SF.cpp: Fix Sample::ReadNoClear() corrupting the other channel of 24-bit stereo samples.
* src/SF.cpp: Fix 24-bit linked samples (LINKED_SAMPLE / ROM_LINKED_SAMPLE) being misrouted into the stereo spread, causing buffer overflow.
* src/helper.cpp, src/helper.h: Add function interleave16_8to24() which implements in-place merging of two separate 16-bit and 8-bit streams into one interleaved 24-bit stream.
* Tests: Introduce tests for SF2 classes.
* Bump version (4.6.0.svn6).
2026-08-29 schoenebeck
* src/gig.cpp: Fix CRC-32 calculation of 24-bit sample data on big-endian systems by omitting to byte-swap the sample data before the CRC calculation in this case, as 24 bit samples are already stored as little-endian on disk (fixes regression by SVN r4660).
* Tests: guard this 24-bit sample CRC issue with its own check.
* Bump version (4.6.0.svn5).
2026-08-18 schoenebeck
* src/SF.cpp: Fix Sample::Read*() for 24-bit samples on big-endian systems.
* Bump version (4.6.0.svn4).
2026-08-18 schoenebeck
* src/RIFF.cpp: fix big-endian 32-bit chunk size handling (fixes regression by SVN r4651).
* Tests: guard this issue by two new test cases.
2026-08-14 schoenebeck
* src/gig.cpp: Fix CRC-32 calculation of sample data on big-endian systems by ensuring __calculateCRC() operates on little-endian bytes as stored on disk.
* Tests: Guard this issue with a new test, which is necessary because it was so far masked with double-wrong match of the existing CRC tests.
* Bump version (4.6.0.svn3).
2026-08-14 schoenebeck
* src/gig.cpp: Fix access to 3CRC chunk data on big-endian systems in File::VerifySampleChecksumTable(), File::RebuildSampleChecksumTable() and File::UpdateChunks() from using raw uint32_t* pointer access on little-endian encoded data (patch by Pranav P).
* Bump version (4.6.0.svn2).
2026-08-13 schoenebeck
* src/RIFF.cpp: Fix Chunk::Write() from not having reverted temporary byte-swapping after non-native endian correction.
2026-08-13 schoenebeck
* src/RIFF.cpp: Fix wrong chunk size being read/written on big-endian systems if RIFF file offsets were encoded in 32-bit.
* Bump version (4.6.0.svn1).
2026-08-05 schoenebeck
* New release (4.6.0).
2026-03-06 schoenebeck
* Serialization: fix order of type and version compatibility checks when syncing objects (type compatibility must be checked before version compatibility).
More ...
qsampler
2026-08-14 capela
* A Mid-Summer'26 Release (v1.0.3)
2026-07-06 schoenebeck
* Mac: Add missing bundle identifier and bundle name (fixes e.g. issue with file browser dialog).
2026-06-02 capela
* A Mid-Spring'26 Release (v1.0.2)
2025-03-28 capela
* An Early Spring'25 Release (v1.0.1)
2024-06-19 capela
* An Unthinkable Release (aka. v1.0.0)
2024-05-01 capela
* A Spring'24 Release Candidate 2 (aka. v1.0.0-rc2)
2024-04-10 capela
* A Spring'24 Release Candidate (aka. v1.0.0-rc1)
2024-01-24 capela
* A Winter'24 Release (v0.9.12)
2023-09-09 capela
* An End-of-Summer'23 Release (v0.9.11)
2023-06-01 capela
* A Spring'23 Release (v0.9.10)
2023-03-23 capela
* An Early-Spring'23 Release (v0.9.9)
2022-12-28 capela
* An End-of-Year'22 Release (v0.9.8)
2022-10-03 capela
* An Early-Autumn'22 Release (v0.9.7)
2022-04-02 capela
* A Spring'22 Release (v0.9.6)
More ...
liblscp
2025-03-28 capela
* An Early Spring'25 Release (v1.0.1)
2024-06-19 capela
* An Unthinkable Release (aka. v1.0.0)
2024-05-01 capela
* A Spring'24 Release Candidate 2 (aka. v1.0.0-rc2)
2024-04-10 capela
* A Spring'24 Release Candidate (aka. v1.0.0-rc1)
2024-01-24 capela
* A Winter'24 Release (v0.9.12)
2023-09-09 capela
* An End-of-Summer'23 Release (v0.9.11)
2023-06-01 capela
* A Spring'23 Release (v0.9.10)
2023-03-23 capela
* An Early-Spring'23 Release (v0.9.9)
More ...
jsampler
2012-05-30 iliev
* save effect parameters into lscp file (see #179)
2012-01-30 iliev
* fixed bug #160
2012-01-25 iliev
* the default MIDI bank numbering is now zero-based
2011-12-15 iliev
* Initial support for Android platforms (only sampler channel manipulation for now - see the screenshots on the website)
2011-11-24 iliev
* fixed bug #156
2011-11-23 iliev
* Added option to select a sampler engine in Add/Edit Instrument dialog
* Moved all Swing dependent code outside the JSampler core
2011-09-19 iliev
* Usе multicolumn menus for adding instruments to MIDI maps and to orchestras from the Instruments Database
2011-08-17 iliev
* fixed engine cache
More ...
jlscp
2011-11-23 iliev
* Client: added new method - getProtocolVersion
2011-08-17 iliev
* fixed engine cache
2011-08-16 iliev
* Cache engines' info to speed up the sampler channels' info retrieval
2011-07-03 iliev
* added two new methods to FxSend class: getDestChainId and getDestChainPos
2011-06-28 iliev
* added three new methods to EffectParameter class - getEffectInstanceId, getIndex, toString
2011-06-28 iliev
* minor refactoring
2011-06-24 iliev
* Added support for send effects
2009-08-03 iliev
* preparations for release 0.8
More ...
Documentation
2026-08-05 schoenebeck
* LinuxSampler 2.5.0 Release Notes
2026-02-15 schoenebeck
* NKSP language tour: add section "patch" variables.
2026-02-11 schoenebeck
* NKSP language tour: markup message() function
2026-02-11 schoenebeck
* NKSP language tour: add user functions to units section.
2026-02-11 schoenebeck
* NKSP language tour: elaborate string variables.
2026-02-10 schoenebeck
* NKSP language tour: bunch of corrections.
2026-02-08 schoenebeck
* NKSP language tour: add section about final operator.
2026-02-08 schoenebeck
* NKSP language tour: add section about standard measuring units.
2026-02-08 schoenebeck
* NKSP language tour: extend variable types section, especially with real number variables, real array variables and with type casting of types.
2026-02-08 schoenebeck
* NKSP language tour: update user functions section with function arguments and function result.
2026-02-08 schoenebeck
* NKSP language tour: add section about variable name spaces.
2026-02-08 schoenebeck
* NKSP language tour: update entire "Variable Scope" section by taking the meawhile added local variables into account.
2025-06-03 schoenebeck
* Release notes for LinuxSampler 2.4.0.
2024-01-26 schoenebeck
* Add release notes for LinuxSampler 2.3.0 release.
More ...
Last Webserver Sync: Fri Aug 14 17:34:03 CEST 2026