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

Why donate?


2019-09-17 New NKSP core language features in the latest development version: Support for Real Numbers, Standard Units and Finalness ...
2019-07-27 LinuxSampler 2.1.1 had been released. This is mainly a maintenance release. See the release notes for details.
2019-03-10 The macOS Installer has been modernized e.g. using now Gtk 3 for Gigedit and Qt 5 for QSampler and a modern C++11 capable compiler. Support for ancient PowerPC Macs and 32-bit Intel Macs has been dropped for that reason. So all Mac snapshot builds starting from today onwards will require a 64-bit Intel Mac with at least macOS 10.7 or higher. If you still have one of those ancient Macs and can't find an old snapshot build on our website that still works for your old Mac, then you may write us on the mailing list.
2017-11-26 LinuxSampler 2.1.0 had been released after two years of development. Check the release notes for a detailed review of what's new with LinuxSampler and friends.
More ...

Latest Subversion Commits

2020-04-06 schoenebeck
Fixed deadlocks (e.g. when restarting engines).
* Individual thread implementations (e.g. disk thread, etc.): Disable thread cancellation on critical sections, e.g. when holding mutex locks, to prevent deadlocks if thread is stopped and/or restarted.
* Added TestCancel() calls to thread implementations if missing.
* No need to wrap Thread::TestCancel() calls into CONFIG_PTHREAD_TESTCANCEL macro conditions (since TestCancel() is already a stub on systems which don't have pthread_testcancel() available).
* If compiled for debugging: give each thread a human readable name to simplify debugging of multi-threading issues.
* DiskThreadBase: TestCancel() and pthread_testcancel() calls are per-se redundant, so only call TestCancel().
* Added missing override keywords to silent compiler warnings.
* Bumped version (2.1.1.svn54).
2020-04-06 schoenebeck
Mutex class: Implemented bug detection and deadlock debugging features.
* Bug detection: By enabling macro DEBUG_MUTEX at compile time and calling new method setDebugEnabled(true) at runtime, automatic bug detection features are activated which e.g. raise an assertion fault if a thread attempts to Unlock() a thread it does not own a lock on, or when locking more than once while not using mutex type RECURSIVE and much more.
* Deadlock debugging: Also if these features were activated like described above, the most recent mutex lock is recorded by capturing the name of the thread and the precise call stack which caused the mutex lock. This information can be used to identify the exact situation that lead to a dead lock efficiently with a debugger.
* Bumped version (2.1.1.svn53).
2020-04-05 schoenebeck
Thread class: Added new methods (POSIX implementation only yet):
* Added methods pushCancelable() and popCancelable() for allowing to prevent thread being terminated on critical sections.
* Added methods name(), nameOfCaller() and setNameOfCaller() to allow assigning threads human readable names for debugging purposes.
* configure: Always check for availability of pthread_testcancel() and use it if so (previously it was only used if explicitly enabled by configure script option).
* Raise a compiler warning if pthread_testcancel() is not available.
* Bumped version (2.1.1.svn52).
2020-04-05 schoenebeck
* Implemented global backtraceAsString() function for debugging purposes (POSIX systems only, no Windows implementation yet).
* Bumped version (2.1.1.svn51).
2020-02-16 schoenebeck
* NKSP: Fixed re-entrant issue with function calls which caused wrong result values if the same function was called multiple times in a term (specifically if metric prefixes were used).
* Tests: Added NKSP core language test cases to guard this fixed issue.
* Bumped version (2.1.1.svn50).
2020-02-15 schoenebeck
* NKSP: Fixed intermediate function result values never having reflected any standard measuring unit type.
* Tests: Guard this fixed NKSP issue by test cases.
* Bumped version (2.1.1.svn49).
2020-02-14 schoenebeck
* NKSP: Fixed incorrect EG times if standard measuring unit was passed to built-in functions "change_attack()", "change_decay()" or "change_release()".
* Bumped version (2.1.1.svn48).
2020-02-04 schoenebeck
* Added configure checks whether C++ compiler supports so called 'designated initializers'.
* Bumped version (2.1.1.svn47).
More ...
2020-02-17 schoenebeck
* Script 'patch' variables editor: Fixed 'patch' variables list not automatically been refreshed after script source code changes or script slot assignment changes.
* Bumped version (1.1.1.svn18).
2020-02-16 schoenebeck
* Script 'patch' variables editor: double click anywhere on a script's title row (or hitting <enter> while that row is selected) opens script source code editor for that double clicked script.
* Also show a tooltip and a pencil icon on such rows to make user visually aware about this feature.
* Bumped version (1.1.1.svn17).
2020-02-16 schoenebeck
* Script 'patch' variables editor: Fixed backspace key event conflict while editing some patch variable's value.
* Bumped version (1.1.1.svn16).
2020-02-03 schoenebeck
* Use more appropriate stepping/paging increments/decrements for spinboxes' plus/minus buttons (depending on the individual parameter spinbutton actually controls).
* Bumped version (1.1.1.svn15).
2020-02-01 schoenebeck
* NKSP: Added support for managing script 'patch' variables for each instrument; added a dedicated "Script" tab on right-hand side of Gigedit's main window with a list view to manage these variables.
* Bumped version (1.1.1.svn14).
2020-02-01 schoenebeck
* Script Editor: highlight new NKSP 'patch' keyword in pink color.
* Bumped version (1.1.1.svn13).
2020-01-10 schoenebeck
* Added "Move Instrument To ..." menu action (also available as Ctrl + i shortcut) which shows a small dialog for entering the instrument's new index.
* Bumped version (1.1.1.svn12).
2020-01-10 schoenebeck
* Added boolean setting to main menu -> "View" -> "Instrument Properties by Double Click", which allows to prevent double clicking an instrument on the instruments list view from opening its properties dialog.
* Bumped version (1.1.1.svn11).
More ...
2020-02-01 schoenebeck
GIG FORMAT EXTENSION: Introducing support for 'patch' script variables.
* gig.cpp/.h: Added 5 new API methods to class gig::Instrument: IsScriptPatchVariableSet(), GetScriptPatchVariables(), GetScriptPatchVariable(), SetScriptPatchVariable(), UnsetScriptPatchVariable().
* gig.cpp: Store/restore values for those 'patch' variables persistently to/from a separate new 'SCPV' RIFF chunk as child of our own '3LS ' RIFF list chunk (which we use for our own gig format extensions on Instrument level).
* Bumped version (4.2.0.svn8).
2020-01-22 schoenebeck
* Require some UUID generating function by underlying system.
* gig.h/.cpp: Script class: Generate a persistent UUID for each script.
* Bumped version (4.2.0.svn7).
2020-01-10 schoenebeck
* gig.cpp: Added methods Region::UsesAnyGigFormatExtension(), Instrument::UsesAnyGigFormatExtension() and File::UsesAnyGigFormatExtension() (as private methods for now, see comments on methods for reason why).
* gig.cpp: Only write pure-GSt-compatibility RIFF chunks introduced by SVN r3657 if the file is not using any of our gig format extensions anyway.
* Bumped version (4.2.0.svn6).
2020-01-10 schoenebeck
* gig.cpp: Region::DeleteDimensionZone(): Fixed dimensions being in different order after deleting a dimension zone.
* Bumped version (4.2.0.svn5).
2019-12-14 schoenebeck
* Compatibility fix (gig.cpp): GigaStudio 3 expects '3dnm' and '3ddp' RIFF chunks (original patch by Ivan Maguidhir).
* Bumped version (4.2.0.svn4).
2019-12-14 schoenebeck
* Compatibility fix (gig.cpp): GigaStudio always expects 128 '3gnm' RIFF chunks (patch by Ivan Maguidhir).
2019-12-08 schoenebeck
* GIG FORMAT EXTENSION: added LinuxSampler specific filter type implementations to enum gig::vcf_type_t: vcf_type_lowpass_1p, vcf_type_lowpass_2p, vcf_type_lowpass_4p, vcf_type_lowpass_6p, vcf_type_highpass_1p, vcf_type_highpass_2p, vcf_type_highpass_4p, vcf_type_highpass_6p, vcf_type_bandpass_2p, vcf_type_bandreject_2p.
* Bumped version (4.2.0.svn2).
2019-10-02 schoenebeck
* Autoconf: require at least a C++11 compliant compiler.
* gig.cpp/.h: GIG FORMAT EXTENSION: Added attributes DimensionRegion::LFO1WaveForm, DimensionRegion::LFO2WaveForm and DimensionRegion::LFO3WaveForm, which allow to override LFOs' default wave form (e.g. saw or square instead of the default wave form which was always sine in the original Gigasampler/GigaStudio software).
* gig.cpp/.h: GIG FORMAT EXTENSION: Added attributes DimensionRegion::LFO1Phase, DimensionRegion::LFO2Phase and DimensionRegion::LFO3Phase, which allow to move the start point horizontally of the LFOs' waves on the time axis (0° ... 360°).
* gig.cpp/.h: GIG FORMAT EXTENSION: Added attribute DimensionRegion::LFO3FlipPhase (the original Gigasampler/GigaStudio software only had that flip phase option for LFO1 and LFO2).
* gig.cpp/.h: Added method DimensionRegion::UsesAnyGigFormatExtension() (however only as private method yet, see comments on method why).
* src/tools/gigdump.cpp: Print dimension region properties LFO1WaveForm, LFO2WaveForm, LFO3WaveForm, LFO1Phase, LFO2Phase, LFO3Phase, LFO1FlipPhase, LFO2FlipPhase and LFO3FlipPhase.
* Bumped version (4.2.0.svn1).
More ...
2020-03-24 capela
* A Spring'20 release.
2019-12-22 schoenebeck
* If connection to server aborted, try to automatically reconnect (if server was not started by QSampler).
2019-12-22 schoenebeck
* Fixed crash when a device disappeared on server side (caused by iterator invalidation).
2019-10-17 capela
* Qsampler 0.6.0 (autumn'19) released.
2019-04-11 capela
* A Spring-Break'19 release (v0.5.5)
2019-03-11 capela
* Pre-LAC2019 release frenzy: v0.5.4 is released.
2019-02-11 capela
* HiDPI display screen support (Qt >= 5.6). (EXPERIMENTAL)
2018-12-06 capela
* Preparations for v0.5.3 (end-of-autumn'18) release.
More ...
2020-03-24 capela
* A Spring'20 release.
2019-12-22 schoenebeck
* Fixed potential missing NULL termination of locale strings.
2019-12-22 schoenebeck
Improved connection error handling:
* Expose actual system error codes via client interface instead of just -1 whenever a syscall failed.
* Added new client interface function: lscp_client_connection_lost(); for checking whether client lost connection to server.
2017-12-12 capela
* An Autumn'17 release: bumped directly to 0.6.0.
2016-11-13 capela
* Preparations for v0.5.8 - A Fall'16 release.
2016-11-03 capela
* Sync to upstream git head.
2016-04-12 capela
* Sync to upstream git repo.
2016-04-06 schoenebeck
* Debian packaging: Updated to compat 7 (was 4), and assigned as maintainer of this package.
More ...
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 ...
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 ...
2020-02-06 schoenebeck
* NKSP language tour: Updated "polyphonic" paragraph about real number (floating point) variables.
2020-01-13 schoenebeck
* NKSP: Updated some functions for their new value range.
2020-01-06 schoenebeck
* NKSP language tour: minor corrections (typos and grammar).
2020-01-03 schoenebeck
NKSP updates for new RPN / NRPN features:
* NKSP language tour: Added new event handlers rpn and nrpn.
* NKSP reference: Added new built-in function set_rpn().
* NKSP reference: Added new built-in function set_nrpn().
* NKSP reference: Added new built-in variables $RPN_ADDRESS and $RPN_VALUE.
* NKSP reference: Added new built-in constants $NI_CB_TYPE_RPN and $NI_CB_TYPE_NRPN.
2019-12-27 schoenebeck
* NKSP: Added recently added built-in functions msb() and lsb() to reference docs.
2019-09-16 schoenebeck
* NKSP: Added recently added built-in functions to reference docs.
* NKSP: Added info about std units and finalness to existing functions.
* NKSP: Added recently added built-in constants ~NI_MATH_E and ~NI_MATH_PI.
2019-09-15 schoenebeck
* Draft: NKSP Real Numbers, Units and Finalness.
2019-08-29 schoenebeck
* NKSP reference: Minor cosmetical corrections.
More ...
Last Webserver Sync: Wed Feb 26 17:20:48 CET 2020