/[svn]/linuxsampler/trunk/src/common
ViewVC logotype

Log of /linuxsampler/trunk/src/common

View Directory Listing Directory Listing


Sticky Revision:

Revision 3713 - Directory Listing
Modified Fri Jan 10 16:02:35 2020 UTC (4 years, 2 months ago) by schoenebeck
Attempt to fix a compile error with older versions of mingw,
which have a bug preventing portable format specifiers like
PRId64 from being defined.

Compile error was introduced by SVN r3707.


Revision 3708 - Directory Listing
Modified Wed Jan 8 22:11:30 2020 UTC (4 years, 2 months ago) by schoenebeck
Fixed compile errors with C++17:

* std::ptr_fun was removed from STL in C++17,
  use C++11 lambda expression instead.

* std::mem_fun and std::bind2nd were removed from STL in C++17,
  use C++11 lambda expression instead.

* Bumped version (2.1.1.svn36).


Revision 3707 - Directory Listing
Modified Wed Jan 8 21:21:58 2020 UTC (4 years, 2 months ago) by schoenebeck
Fixed compiler warnings about format specifiers:

Use portable format specifiers like PRId64 from inttypes.h
instead of assuming a particular word size.


Revision 3581 - Directory Listing
Modified Fri Aug 30 11:40:25 2019 UTC (4 years, 6 months ago) by schoenebeck
NKSP: Allow more wider support of standard measuring units & 'final'ness.

* Raised compiler requirement to be C++14 compliant (due to severe
  restrictions regarding C-style aggregate initializer lists in C++11
  which are now massively used throughout the code base).

* NKSP VM API: Allow units and 'final'ness to be returned as result from
  built-in functions (added methods VMFunction::returnUnitType() and
  VMFunction::returnsFinal() for that purpose which must be implemented by
  built-in function implementations).

* NKSP language: Allow metric unit prefixes of numeric scalar and array
  variables to be changed freely at runtime (unlike unit types like Hz etc.
  which are still sticky parse-time features of variables which cannot be
  changed at runtime for the intentional sake of determinism).

* NKSP language: 'final' values are prohibited for array variables for now
  (attempt causes a parsers error).

* NKSP language: expressions with unit types (e.g. Hz) are prohibited for
  conditions of runtime control structures like if(), while(), select()
  (attempt causes a parser error).

* NKSP VM API: Allow built-in functions to perform their own, individual
  parse time checks of arguments going to be passed to the function at
  runtime (added method VMFunction::checkArgs() for that purpose).

* NKSP language: raise parser warning if only one operand of binary
  operators (like logical 'or' comparison) contain a 'final' value (because
  it would always yield in a 'final' result in such cases).

* NKSP language: Allow comparison (=, #, <, >, <=, >=) of values with
  different metric unit prefixes, which will behave as expected (e.g.
  result of expression '1000us < 2ms' is true).

* NKSP language: Allow adding values with different metric unit prefixes
  (e.g. result of expression '100Hz + 5kHz' is '5100Hz').

* NKSP language: Allow subtracting values with different metric unit
  prefixes (e.g. result of expression '1ms - 20us' is '980us').

* NKSP language: Allow multiplying with any metric unit prefixes
  (e.g. result of expression '2k * 3ms' is '6s'), however multiplications
  with unit types on both sides (e.g. '2s * 2s') is still prohibited since
  we don't have any considerable practical use for a term like '4s^2'
  (hence any attempt multiplying two unit types still causes parser error).

* NKSP language: Allow dividing by any metric unit prefixes and allow
  division of same unit type on both sides (e.g. expression '8kHz / 1000Hz'
  yields in unit free result '8'). So this is now a way to cast units away
  e.g. for passing the result to other expressions, certain function calls
  or variables which are not accepting any units (or that specific unit).

* NKSP language: integer arrays and real number arrays can now be converted
  to strings (e.g. for dumping their content with message() calls for
  script debugging purposes).

* NKSP language: expressions and variables with units are now correctly
  casted to strings (e.g. with message() calls).

* NKSP language: comparing real numbers for equalness (e.g. '~foo = 3.1') or
  unequalness (e.g. '~foo # 3.1') is now less strict and takes the expected
  floating point tolerances into account.

* NKSP VM API: Added methods VMScalarNumberExpr::evalCastInt() and
  VMScalarNumberExpr::evalCastReal().

* NKSP VM API: Added base class 'VMNumberArrayExpr' for classes
  'VMIntArrayExpr' and 'VMRealArrayExpr'.

* NKSP VM API: replaced all unitPrefix() (parse time) methods by
  unitFactor() (runtime) methods.

* Built-in function "exit()" supports now returning units and 'final'ness
  exclusively for test cases.

* The following built-in functions support now units as well: "abs()",
  "random()", "inc()", "dec()", "in_range()", "min()", "max()",
  "real_to_int()", "int()", "int_to_real()" and "real()".

* Built-in functions "array_equal()", "search()" and "sort()" support now
  real number arrays (correctly) as well.

* Added individual parse time checks of arguments to be passed to built-in
  functions "random()", "inc()", "dec()", "in_range()", "min()", "max()",
  "array_equal()" and "search()" specific for their individual purposes.

* Test cases: Added massive amount of NKSP test cases for standard
  measuring units and 'final' operator usage cases.

* Test cases: Added NKSP test cases for (floating point tolerance aware)
  real number equalness / unequalness comparison.

* Bumped version (2.1.1.svn8).


Revision 3575 - Directory Listing
Modified Wed Aug 28 11:12:04 2019 UTC (4 years, 7 months ago) by schoenebeck
NKSP: Added some initial floating point test cases.

* RTMath: Implemented floating point comparison methods
  fEqual32(float,float) and fEqual64(double,double)
  which take the expected floating point tolerances
  into account.

* NKSP: Allow built-in exit() function to potentially
  accept real type argument as well.

* NKSP: Added real number test cases for built-in
  functions exit(), int_to_real(), real(), real_to_int()
  and int(), as well as for the plus, minus and negate
  language operators.


Revision 3574 - Directory Listing
Modified Wed Aug 28 08:26:54 2019 UTC (4 years, 7 months ago) by schoenebeck
NKSP: Cleanup of class inheritance scheme.

* scriptvm/tree.h: Mark all relevant classes with C++11 'final' keyword.

* scriptvm/tree.h: StringLiteral class has no need for virtually.


Revision 3561 - Directory Listing
Modified Fri Aug 23 11:44:00 2019 UTC (4 years, 7 months ago) by schoenebeck
NKSP: Added standard units support for numbers and final "!" operator:

* NKSP strictness: Variable names, function names and preprocessor condition
  names must start with a regular character (a-z or A-Z); starting them with
  a digit or underscore is no longer allowed.

* NKSP parser fix: equal comparison operator "=" and not equal comparison
  operator "#" must only accept integer operands.

* NKSP language: Implemented support for standard units like Hertz, seconds,
  Bel including support for metric unit prefixes; so one can now e.g.
  conveniently use numbers in scripts like "5us" meaning "5 microseconds",
  or e.g. "12kHz" meaning "12 kilo Hertz", or e.g. "-14mdB" meaning
  "minus 14 Millidecibel", or e.g. "28c" meaning "28 cents" (for tuning).

* NKSP language: Introduced "final" operator "!" which is specifically
  intended for synthesis parameter values to denote that the synthesis
  parameter value is intended to be the "final" value for that synthesis
  parameter that should explicitly be used by the engine and thus causing
  the sampler engine to ignore all other modulation sources for the same
  synthesis parameter (like e.g. LFO, EG); by simply prefixing a value,
  variable or formula with this new "!" operator the expression is marked as
  being "final".

* Bumped version (2.1.1.svn4).


Revision 3557 - Directory Listing
Modified Sun Aug 18 00:06:04 2019 UTC (4 years, 7 months ago) by schoenebeck
* NKSP: Introducing 64 bit support for NKSP integer scripts
  variables (declare $foo).
* Require C++11 compiler support.
* Autoconf: Added m4/ax_cxx_compile_stdcxx.m4 macro which is used
  for checking in configure for C++11 support (as mandatory
  requirement) and automatically adds compiler argument if required
  (e.g. -std=C++11).
* Bumped version (2.1.1.svn3).


Revision 3549 - Directory Listing
Modified Wed Jul 31 15:43:53 2019 UTC (4 years, 7 months ago) by schoenebeck
- Fixed another compiler error in Pool.h.


Revision 3548 - Directory Listing
Modified Wed Jul 31 09:35:10 2019 UTC (4 years, 7 months ago) by schoenebeck
* Fixed compiler error in Pool.h.
* Fixed compiler errors in test cases.
* Updated README for how to compile & run test cases.
* Updated test case
  MutexTest::testDoubleLockStillBlocksConcurrentThread() to latest
  expected behaviour of the Mutex class implementation (recursive
  mutex type).
* Bumped version (2.1.1.svn1).


Revision 3514 - Directory Listing
Modified Sat May 25 17:22:08 2019 UTC (4 years, 10 months ago) by schoenebeck
* "optional" class: Fixed comparison operators.
* Bumped version (2.1.0.svn9).


Revision 3455 - Directory Listing
Modified Sun Jan 27 10:07:54 2019 UTC (5 years, 2 months ago) by persson
* Fixed some compiler warnings
* Fixed compilation error when cross-compiling to Mac


Revision 3306 - Directory Listing
Modified Tue Jul 11 15:50:05 2017 UTC (6 years, 8 months ago) by schoenebeck
* Fixed Note object leak when triggering notes on keys which did
  not have a valid sample mapped (fixes bug #252).
* Fixed compilation errors when compiling with CONFIG_DEVMODE
  enabled.
* Bumped version (2.0.0.svn69).


Revision 3293 - Directory Listing
Modified Tue Jun 27 22:19:19 2017 UTC (6 years, 9 months ago) by schoenebeck
* NKSP: Added built-in script function "fork()".
* NKSP: Added built-in array variable %NKSP_CALLBACK_CHILD_ID[].
* NKSP: Added built-in variable $NKSP_CALLBACK_PARENT_ID.
* NKSP: Fixed potential crash when accessing dynamic built-in
  array variables.
* Bumped version (2.0.0.svn65).


Revision 3290 - Directory Listing
Modified Fri Jun 23 12:24:58 2017 UTC (6 years, 9 months ago) by schoenebeck
* Revised fundamental C++ classes "Thread", "Mutex" and
  "Condition" which fixes potential undefined behavior
  (note: this addresses mainly the POSIX implementation,
   Win32 is untested yet and would also need an update).
* Bumped version (2.0.0.svn64).


Revision 3288 - Directory Listing
Modified Fri Jun 23 11:56:17 2017 UTC (6 years, 9 months ago) by schoenebeck
- Just minor update to RTAVLTree unit tests.


Revision 3193 - Directory Listing
Modified Sat May 20 12:28:57 2017 UTC (6 years, 10 months ago) by schoenebeck
* NKSP: Added built-in script function "get_event_par()" and implemented
  some of its possible parameter selections.
* NKSP: Added built-in script function "set_event_par()" and implemented
  some of its possible parameter selections.
* NKSP: Fixed (removed) artificial value limit for duration argument of
  built-in script functions "change_vol_time()" and "change_tune_time()".
* Fixed compile error with pre-C++11 compilers.
* Bumped version (2.0.0.svn46).


Revision 3118 - Directory Listing
Modified Fri Apr 21 13:33:03 2017 UTC (6 years, 11 months ago) by schoenebeck
* NKSP: Fixed crash when using built-in script array variable "%ALL_EVENTS".
* NKSP: Added built-in function "change_amp_lfo_depth()".
* NKSP: Added built-in function "change_amp_lfo_freq()".
* NKSP: Added built-in function "change_pitch_lfo_depth()".
* NKSP: Added built-in function "change_pitch_lfo_freq()".
* Bumped version (2.0.0.svn44).


Revision 3091 - Directory Listing
Modified Mon Jan 16 15:01:21 2017 UTC (7 years, 2 months ago) by schoenebeck
* Cleanup of instruments DB file creation and opening code.
* The instrument DB path of linuxsampler's --create-instruments-db argument
  is now optional, if it is missing, then a default location is used.
* Bumped version (2.0.0.svn39).


Revision 3082 - Directory Listing
Modified Mon Jan 9 18:39:35 2017 UTC (7 years, 2 months ago) by schoenebeck
* Added support for sfz extension opcode 'script' which may be used to
  load real-time instrument script file (NKSP script language).
* Removed code duplication in SFZ file loading code.
* Bumped version (2.0.0.svn37).


Revision 3073 - Directory Listing
Modified Thu Jan 5 16:04:00 2017 UTC (7 years, 2 months ago) by schoenebeck
* NKSP: Implemented built-in script array variable "%ALL_EVENTS".
* Bumped version (2.0.0.svn35).


Revision 3056 - Directory Listing
Modified Fri Dec 16 12:57:59 2016 UTC (7 years, 3 months ago) by schoenebeck
* RT Instrument Scripts: Fixed crash when using built-in script function
  "by_marks()".
* LSCP Server: Fixed client connection not being closed after network error.
* Fixed some more few compiler warnings.
* Bumped version (2.0.0.svn33).


Revision 3054 - Directory Listing
Modified Thu Dec 15 12:47:45 2016 UTC (7 years, 3 months ago) by schoenebeck
* Fixed numerous compiler warnings.
* Bumped version (2.0.0.svn32).


Revision 3034 - Directory Listing
Modified Mon Oct 31 00:05:00 2016 UTC (7 years, 4 months ago) by schoenebeck
* Fixed a bunch of minor issues (mostly compiler warnings).
* Bumped version (2.0.0.svn31).


Revision 3020 - Directory Listing
Modified Sun Oct 23 07:24:09 2016 UTC (7 years, 5 months ago) by persson
* windows, 32-bit: fixed potential crashes by making sure the stack in
  sub threads is 16-byte aligned


Revision 2948 - Directory Listing
Modified Fri Jul 15 15:29:04 2016 UTC (7 years, 8 months ago) by schoenebeck
* NKSP: Implemented built-in script function "stop_wait()".
* NKSP: Implemented built-in script variable "$NI_CALLBACK_ID".
* NKSP: Implemented built-in script variable "$NI_CALLBACK_TYPE".
* NKSP: Implemented built-in script variable "$NKSP_IGNORE_WAIT".
* NKSP: Added support for read-only built-in variables
  (respectively handled by the script parser).
* NKSP: Added built-in script constant "$NI_CB_TYPE_INIT".
* NKSP: Added built-in script constant "$NI_CB_TYPE_NOTE".
* NKSP: Added built-in script constant "$NI_CB_TYPE_RELEASE".
* NKSP: Added built-in script constant "$NI_CB_TYPE_CONTROLLER".
* Bumped version (2.0.0.svn17).


Revision 2943 - Directory Listing
Modified Wed Jul 13 16:04:36 2016 UTC (7 years, 8 months ago) by schoenebeck
- Fixed compilation error on Windows of previous commit.


Revision 2942 - Directory Listing
Modified Wed Jul 13 15:51:06 2016 UTC (7 years, 8 months ago) by schoenebeck
* NKSP: Implemented built-in script variable "$KSP_TIMER".
* NKSP: Implemented built-in script variable "$NKSP_REAL_TIMER".
* NKSP: Implemented built-in script variable "$NKSP_PERF_TIMER".
* NKSP: Implemented built-in script variable "$ENGINE_UPTIME".
* Bumped version (2.0.0.svn14).


Revision 2931 - Directory Listing
Modified Sat Jul 9 14:38:33 2016 UTC (7 years, 8 months ago) by schoenebeck
* Implemented built-in instrument script function "change_vol()".
* Implemented built-in instrument script function "change_tune()".
* Implemented built-in instrument script function "change_pan()".
* Bumped version (2.0.0.svn11).


Revision 2885 - Directory Listing
Modified Fri Apr 22 15:37:45 2016 UTC (7 years, 11 months ago) by schoenebeck
* Instrument script classes now exported with the liblinuxsampler C++ API.
* Added new API method ScriptVM::syntaxHighlighting() which provides
  a convenient syntax highlighting backend for external instrument
  script editor applications.
* Bumped version (2.0.0.svn5).


Revision 2879 - Directory Listing
Modified Tue Apr 19 14:07:53 2016 UTC (7 years, 11 months ago) by schoenebeck
* All engines: Active voices are now internally grouped to "Note" objects,
  instead of being directly assigned to a keyboard key. This allows more
  fine graded processing of voices, which is i.e. required for certain
  instrument script features.
* Built-in script function "play_note()": Added support for passing
  special value -1 for "duration-us" argument, which will cause the
  triggered note to be released once the original note was released.
* Bumped version (2.0.0.svn3).


Revision 2871 - Directory Listing
Modified Sun Apr 10 18:22:23 2016 UTC (7 years, 11 months ago) by schoenebeck
* All engines: Implemented scheduler for delayed MIDI events and for
  suspended real-time instrument scripts.
* Real-Time instrument scripts: Implemented support for built-in "wait()"
  function's "duration-us" argument, thus scripts using this function are
  now correctly resumed after the requested amount of microseconds.
* Real-Time instrument scripts: Implemented support for built-in
  "play_note()" function's "duration-us" argument, thus notes triggered
  with this argument are now correctly released after the requested amount
  of microseconds.
* Real-Time instrument scripts: Fixed crash which happened when trying to
  reference an undeclared script variable.
* Real-Time instrument scripts: Script events were not cleared when
  engine channel was reset, potentially causing undefined behavior.
* All engines: Attempt to partly fix resetting engine channels vs.
  resetting engine, an overall cleanup of the Reset*(),
  ConnectAudioDevice(), DisconnectAudioDevice() API methods would still be
  desirable though, because the current situation is still inconsistent
  and error prone.
* Bumped version (2.0.0.svn2).


Revision 2840 - Directory Listing
Modified Sun Aug 30 10:00:44 2015 UTC (8 years, 7 months ago) by persson
* use unique_ptr instead of auto_ptr when building with C++11


Revision 2837 - Directory Listing
Modified Sun Aug 23 06:14:00 2015 UTC (8 years, 7 months ago) by persson
* fixed printf type errors (mostly in debug messages)



Revision 2630 - Directory Listing
Modified Fri Jun 13 15:01:06 2014 UTC (9 years, 9 months ago) by schoenebeck
* Implemented built-in instrument script function "set_event_mark()".
* Implemented built-in instrument script function "delete_event_mark()".
* Implemented built-in instrument script function "by_marks()".
* Added built-in instrument script int const variables $MARK_1 to $MARK_28.
* Built-in instrument script functions "ignore_event()", "note_off()" and
  "gig_set_dim_zone()" now also accept an array of event IDs as argument
  (i.e. return value of new script function "by_marks()").
* Bumped version (1.0.0.svn53).


Revision 2619 - Directory Listing
Modified Wed Jun 11 13:24:32 2014 UTC (9 years, 9 months ago) by schoenebeck
* Implemented built-in instrument script function "abs()".
* Implemented built-in instrument script function "random()".
* Implemented built-in instrument script function "num_elements()".
* Disabled debug mode of RefPtr template class.
* Bumped version (1.0.0.svn51).


Revision 2600 - Directory Listing
Modified Sat Jun 7 00:16:03 2014 UTC (9 years, 9 months ago) by schoenebeck
* Implemented built-in instrument script function "set_controller()".
* Fixed built-in script functions "ignore_event()" and
  "ignore_controller()".
* Added extended instrument script VM for the Gigasampler/GigaStudio format
  sampler engine, which extends the general instrument script VM with Giga
  format specific variables and functions.
* Giga format instrument scripts: added built-in script int constant
  variables $GIG_DIM_CHANNEL, $GIG_DIM_LAYER, $GIG_DIM_VELOCITY,
  $GIG_DIM_AFTERTOUCH, $GIG_DIM_RELEASE, $GIG_DIM_KEYBOARD,
  $GIG_DIM_ROUNDROBIN, $GIG_DIM_RANDOM, $GIG_DIM_SMARTMIDI,
  $GIG_DIM_ROUNDROBINKEY, $GIG_DIM_MODWHEEL, $GIG_DIM_BREATH,
  $GIG_DIM_FOOT, $GIG_DIM_PORTAMENTOTIME, $GIG_DIM_EFFECT1,
  $GIG_DIM_EFFECT2, $GIG_DIM_GENPURPOSE1, $GIG_DIM_GENPURPOSE2,
  $GIG_DIM_GENPURPOSE3, $GIG_DIM_GENPURPOSE4, $GIG_DIM_SUSTAIN,
  $GIG_DIM_PORTAMENTO, $GIG_DIM_SOSTENUTO, $GIG_DIM_SOFT,
  $GIG_DIM_GENPURPOSE5, $GIG_DIM_GENPURPOSE6, $GIG_DIM_GENPURPOSE7,
  $GIG_DIM_GENPURPOSE8, $GIG_DIM_EFFECT1DEPTH, $GIG_DIM_EFFECT2DEPTH,
  $GIG_DIM_EFFECT3DEPTH, $GIG_DIM_EFFECT4DEPTH, $GIG_DIM_EFFECT5DEPTH.
* Giga format instrument scripts: Implemented built-in script function
  "gig_set_dim_zone(event_id, dimension, zone)", which allows to override
  dimension zone(s) for new voices.
* Bumped version (1.0.0.svn45).


Revision 2598 - Directory Listing
Modified Fri Jun 6 12:38:54 2014 UTC (9 years, 9 months ago) by schoenebeck
* ScriptVM (WIP): Built-in script function "play_note()" now returns the
  event ID of the triggered note.
* ScriptVM (WIP): Implemented built-in script int variable $EVENT_ID.
* ScriptVM (WIP): Implemented built-in script function "ignore_event()".
* ScriptVM (WIP): Implemented built-in script function
  "ignore_controller()" (accepts one and no argument).
* Bumped version (1.0.0.svn44).


Revision 2581 - Directory Listing
Modified Fri May 30 12:48:05 2014 UTC (9 years, 10 months ago) by schoenebeck
* (WIP) Implemented parser and VM for upcoming new real-time instrument
  script support. It needs yet to be integrated into the sampler's
  sampler engines. You can toy around for now with the command line tool
  "ls_instr_script" and i.e. examples showing the core language features
  under src/scriptvm/examples/.
* Bumped version (1.0.0.svn41).


Revision 2529 - Directory Listing
Modified Tue Mar 4 20:41:47 2014 UTC (10 years ago) by schoenebeck
* SFZ format: Added support for "#include" instruction (modified patch
  which was originally posted by Sergey on LS mailing list).
* Bumped version (1.0.0.svn34).


Revision 2506 - Directory Listing
Modified Sun Jan 12 11:27:05 2014 UTC (10 years, 2 months ago) by schoenebeck
* Bugfix: only process the latest MIDI program change event.


Revision 2501 - Directory Listing
Modified Fri Jan 10 13:53:19 2014 UTC (10 years, 2 months ago) by schoenebeck
- Fixed minor compilation error (certain GCC versions).


Revision 2500 - Directory Listing
Modified Fri Jan 10 12:20:05 2014 UTC (10 years, 2 months ago) by schoenebeck
* Added support for multiple MIDI input ports per sampler channel (added
  various new C++ API methods for this new feature/design, old C++ API
  methods are now marked as deprecated but should still provide full
  behavior backward compatibility).
* LSCP Network interface: Added the following new LSCP commands for the new
  feature mentioned above: "ADD CHANNEL MIDI_INPUT",
  "REMOVE CHANNEL MIDI_INPUT" and "LIST CHANNEL MIDI_INPUTS". As with the
  C++ API changes, the old LSCP commands for MIDI input management are now
  marked as deprecated, but are still there and should provide full behavior
  backward compatibility.
* New LSCP specification document (LSCP v1.6).
* AbstractEngine::GSCheckSum(): don't allocate memory on the stack (was
  unsafe and caused compilation error with old clang 2.x).
* Bumped version (1.0.0.svn25).


Revision 2478 - Directory Listing
Modified Sat Oct 19 07:52:33 2013 UTC (10 years, 5 months ago) by persson
* fixed build error on newer MinGW
* support building with older jack versions
* support building with spaces in vst sdk path


Revision 2473 - Directory Listing
Modified Sun Sep 15 17:55:56 2013 UTC (10 years, 6 months ago) by schoenebeck
* Mac OS X: added temporary hack allowing to spawn gigedit as callback
  on the process's main thread.
* Bumped version to 1.0.0.svn23.


Revision 2460 - Directory Listing
Modified Sun Aug 18 14:20:53 2013 UTC (10 years, 7 months ago) by persson
* fixed building with C++11
* build fix: ChangeFlagRelaxed.h was missing in makefile
* build fix: libsndfile compiler flags were missing in some makefiles


Revision 2453 - Directory Listing
Modified Mon May 13 19:11:08 2013 UTC (10 years, 10 months ago) by schoenebeck
* Added DoubleBuffer class, built on top of SynchronizedConfig, aiming to
  reduce the amount of code for protecting shared data. 


Revision 2452 - Directory Listing
Modified Mon May 13 17:26:29 2013 UTC (10 years, 10 months ago) by persson
* lsatomic.h fixes: seq_cst load and store were suboptimal for x86 and
  broken for ppc64. (Seq_cst loads and stores are actually not used in
  LS, so the bug wasn't noticable.)
* lsatomic.h: added ARMv7 support


Revision 2449 - Directory Listing
Modified Fri May 3 14:33:52 2013 UTC (10 years, 10 months ago) by schoenebeck
- Fixed compilation warning/error regarding previous commit.


Revision 2448 - Directory Listing
Modified Fri May 3 14:26:32 2013 UTC (10 years, 10 months ago) by schoenebeck
* Immediately apply scale tuning changes to active voices.
* Exposed scale tuning to C++ API (along to the already existing standard
  SysEx way).
* Bumped version to 1.0.0.svn21


Revision 2434 - Directory Listing
Modified Thu Mar 7 19:23:24 2013 UTC (11 years ago) by schoenebeck
* Started to spread new C++ keyword "override" over the code base
  (keyword introduced with C++11 standard).


Revision 2427 - Directory Listing
Modified Sat Mar 2 07:03:04 2013 UTC (11 years ago) by persson
* code refactoring: added a lock guard class for exception safe mutex
  handling and used it everywhere appropriate


Revision 2420 - Directory Listing
Modified Sun Feb 24 08:59:25 2013 UTC (11 years, 1 month ago) by persson
* removed usage of deprecated Automake variable INCLUDES
* ASIO driver: removed compiler warnings


Revision 2386 - Directory Listing
Modified Tue Dec 18 18:29:55 2012 UTC (11 years, 3 months ago) by schoenebeck
- "RingBuffer" class: implemented += operator for NonVolatileReader


Revision 2384 - Directory Listing
Modified Fri Dec 14 16:04:49 2012 UTC (11 years, 3 months ago) by schoenebeck
* Fixed variable underflow in VirtualMidiDevice, which caused graphical
  virtual keyboards in frontends / instrument editors being stuck.
* VirtualKeyboard: allow to dynamically adjust max. MIDI events.
* RingBuffer: added resize() method


Revision 2343 - Directory Listing
Modified Sun Apr 29 16:14:45 2012 UTC (11 years, 11 months ago) by persson
* fixed configure script error with old autoconf versions
* LV2: use the new lv2 package if present
* lsatomic.h: use gcc provided atomic functions if building with gcc
  4.7 and C++11
* added comments in lsatomic.h


Revision 2335 - Directory Listing
Modified Sat Mar 17 06:19:01 2012 UTC (12 years ago) by persson
* fixed compilation with gcc 4.7


Revision 2324 - Directory Listing
Modified Sun Mar 4 09:01:32 2012 UTC (12 years ago) by persson
* plugin bugfix: instrument loading hang when the plugin was loaded a
  second time (this time it's for Linux and Mac, previous similar fix
  was for Windows)
* thread safety fixes for the instrument loading thread
* MME driver: removed compiler warning
* LV2: fixed invalid realtime statement in plugin metadata


Revision 2316 - Directory Listing
Modified Sat Feb 18 13:51:38 2012 UTC (12 years, 1 month ago) by persson
* VST bugfix: instrument loading hang and crashed the host when the
  plugin was loaded a second time (#174)


Revision 2313 - Directory Listing
Modified Sun Feb 12 11:32:43 2012 UTC (12 years, 1 month ago) by persson
* bugfix: LADSPA_PATH was not evaluated correctly when containing
  multiple paths (#165)


Revision 2247 - Directory Listing
Modified Fri Aug 19 11:26:40 2011 UTC (12 years, 7 months ago) by iliev
* possibly fixes a compile error on Windows and Mac OS X
  introduced in the previous commit


Revision 2244 - Directory Listing
Modified Thu Aug 18 11:32:33 2011 UTC (12 years, 7 months ago) by iliev
* sfz engine: use common pool of CC objects to minimize RAM usage


Revision 2188 - Directory Listing
Modified Fri Jun 24 19:39:11 2011 UTC (12 years, 9 months ago) by iliev
* Added LSCP commands "SUBSCRIBE EFFECT_INSTANCE_COUNT",
  "SUBSCRIBE EFFECT_INSTANCE_INFO", "SUBSCRIBE SEND_EFFECT_CHAIN_COUNT",
  "SUBSCRIBE SEND_EFFECT_CHAIN_INFO"


Revision 2185 - Directory Listing
Modified Sun Jun 19 09:09:38 2011 UTC (12 years, 9 months ago) by persson
* fixed compilation with gcc 4.6.1
* another "make dist" fix, for LV2 plugin
* made --enable-pthread-testcancel default on Mac OS X
* Mac OS X: fixed hanging threads


Revision 2183 - Directory Listing
Modified Sat Jun 11 17:53:32 2011 UTC (12 years, 9 months ago) by persson
* Mac OS X fixes: support the new dir for Core Audio SDK, fixed name
  collision of enum in EffectControl, fixed building outside source
  directory, fixed wrong name of destructor in
  AudioOutputDeviceCoreAudio.cpp
* made sure all source files for hostplugins are included when doing
  "make dist"
* removed empty directories left from the cvs to svn migration


Revision 2137 - Directory Listing
Modified Mon Oct 4 12:20:23 2010 UTC (13 years, 5 months ago) by schoenebeck
* revised previously added new LSCP commands regarding effect handling:
  renamed "master effects" to "send effects", since this is the actual
  correct common term for those effects
* also corrected the names regarding "send effects" in the respective
  methods of the "FxSsnd" class and "AudioOutputDevice" class of the
  sampler's C++ API, the old methods are still available but marked as
  deprecated and scheduled for removal
* added LSCP command "SET FX_SEND SEND_EFFECT <sampler_channel>
  <fx_send_id> <effect_chain> <chain_pos>"
* added LSCP command "REMOVE FX_SEND SEND_EFFECT <sampler_channel>
  <fx_send_id>"
* added a list of common known LADSPA paths (for Windows and POSIX) which
  will be automatically checked for being used as LADSPA plugin directory
  (if the user did not set the LADSPA_PATH environment variable explicitly)
* bumped version to 1.0.0.cvs8


Revision 2135 - Directory Listing
Modified Thu Sep 30 20:00:43 2010 UTC (13 years, 6 months ago) by schoenebeck
* added and implemented a set of 19 new LSCP commands for controlling
  internal effects:
  - added LSCP command "GET AVAILABLE_EFFECTS"
  - added LSCP command "LIST AVAILABLE_EFFECTS"
  - added LSCP command "GET EFFECT INFO <effect-index>"
  - added LSCP command "CREATE EFFECT_INSTANCE <effect-index>"
  - added LSCP command
    "CREATE EFFECT_INSTANCE <effect-system> <module> <effect-name>"
  - added LSCP command "DESTROY EFFECT_INSTANCE <effect-instance>"
  - added LSCP command "GET EFFECT_INSTANCES"
  - added LSCP command "LIST EFFECT_INSTANCES"
  - added LSCP command "GET EFFECT_INSTANCE INFO <effect-instance>"
  - added LSCP command "GET EFFECT_INSTANCE_INPUT_CONTROL INFO
    <effect-instance> <input-control>"
  - added LSCP command "SET EFFECT_INSTANCE_INPUT_CONTROL <effect-instance>
    <input-control> <value>"
  - added LSCP command "GET MASTER_EFFECT_CHAINS <audio-device>"
  - added LSCP command "LIST MASTER_EFFECT_CHAINS <audio-device>"
  - added LSCP command "ADD MASTER_EFFECT_CHAIN <audio-device>"
  - added LSCP command
    "REMOVE MASTER_EFFECT_CHAIN <audio-device> <effect-chain>"
  - added LSCP command
    "GET MASTER_EFFECT_CHAIN INFO <audio-device> <effect-chain>"
  - added LSCP command "APPEND MASTER_EFFECT_CHAIN EFFECT <audio-device>
    <effect-chain> <effect-instance>"
  - added LSCP command "INSERT MASTER_EFFECT_CHAIN EFFECT <audio-device>
    <effect-chain> <effect-instance> <effect-chain-pos>"
  - added LSCP command "REMOVE MASTER_EFFECT_CHAIN EFFECT <audio-device>
    <effect-chain> <effect-instance>"
* bumped version to 1.0.0.cvs7


Revision 2128 - Directory Listing
Modified Wed Sep 22 20:19:08 2010 UTC (13 years, 6 months ago) by persson
* fixed compile errors on windows


Revision 2124 - Directory Listing
Modified Sat Sep 18 09:24:41 2010 UTC (13 years, 6 months ago) by schoenebeck
* implemented support for internal LADSPA effects (work in progress)


Revision 2121 - Directory Listing
Modified Tue Sep 14 17:09:08 2010 UTC (13 years, 6 months ago) by schoenebeck
* implemented Roland GS NRPN 1ArrH which allows to set volume per note
* implemented Roland GS NRPN 1CrrH which allows to set pan per note
* implemented Roland GS NRPN 1DrrH which allows to set reverb send per
  note (in this implementation of the sampler its simply hard routed to
  the 1st effect send of the sampler channel, no matter what the actual
  effect type is)
* implemented Roland GS NRPN 1ErrH which allows to set chorus send per
  note (in this implementation of the sampler its simply hard routed to
  the 2nd effect send of the sampler channel, no matter what the actual
  effect type is)
* bumped version to 1.0.0cvs4


Revision 2086 - Directory Listing
Modified Sun Apr 25 12:51:30 2010 UTC (13 years, 11 months ago) by persson
* sfz engine: added support for transpose
* sfz engine: fixed crash when using sw_down/up
* sfz engine: improved logic for sw_lokey/hikey/up/down/last
* sfz parser: added more v1 aliases
* fixed building with newer MinGW-w64


Revision 2055 - Directory Listing
Modified Sat Jan 30 10:30:02 2010 UTC (14 years, 2 months ago) by persson
* sfz engine: added support for v2 multiple stage envelope generators
* sfz engine: added a fine-tuned v1 envelope generator instead of
  using the one from the gig engine


Revision 2012 - Directory Listing
Modified Fri Oct 23 17:53:17 2009 UTC (14 years, 5 months ago) by iliev
* Refactoring: moved the independent code from
  the Gigasampler format engine to base classes
* SFZ format engine: experimental code (not usable yet)
* SoundFont format engine: experimental code (not usable yet)
* Fixed crash which may occur when MIDI key + transpose is out of range


Revision 1943 - Directory Listing
Modified Tue Jul 14 18:25:11 2009 UTC (14 years, 8 months ago) by persson
* fixed instrument database recursive import, which was broken on
  Windows


Revision 1933 - Directory Listing
Modified Thu Jul 9 17:37:41 2009 UTC (14 years, 8 months ago) by persson
* fixed low-level ConditionServer usage bug that caused lockups on
  Windows


Revision 1931 - Directory Listing
Modified Sat Jul 4 14:58:34 2009 UTC (14 years, 8 months ago) by persson
* when cross-compiling, don't try to create instruments.db
* fix for new mingw-w64 version, which has usleep


Revision 1930 - Directory Listing
Modified Sat Jul 4 12:31:44 2009 UTC (14 years, 8 months ago) by schoenebeck
* fixed vector optimization code in AudioChannel.cpp:
  - application crashed when audio buffer(s) were not 16 byte aligned
    (e.g. the case with some VST host applications)
  - vector extension code was always to tried be compiled, even though the
    compiler didn't support vector extensions


Revision 1913 - Directory Listing
Modified Sun Jun 7 16:24:55 2009 UTC (14 years, 9 months ago) by senoner
* AudioChannel.cpp: added GCC vector extensions code for the functions
* copyTo() and MixTo() , gives 300% speedup
* should reduce CPU usage with large FX sends setups


Revision 1911 - Directory Listing
Modified Sat Jun 6 13:50:36 2009 UTC (14 years, 9 months ago) by senoner
* InstrumentsDB on Windows now works in both standalone and VST mode
* DB is stored in %USERPROFILE%\.linuxsampler\instruments.db
* removed stat() implementation as mingw already provides it


Revision 1910 - Directory Listing
Modified Fri Jun 5 14:22:20 2009 UTC (14 years, 9 months ago) by senoner
* Added Instruments DB on Windows.
* Relative path support for DB file (stdalone and VST) not implemented yet


Revision 1895 - Directory Listing
Modified Sun May 3 12:15:40 2009 UTC (14 years, 10 months ago) by persson
* fixes for using large audio device buffers
* VST: added support for sample rate and buffer size changes
* VST: close editor (Fantasia) when the VST is removed
* minor fix in configure for mmsystem.h detection on MinGW
* removed warnings from gcc 4.4 and valgrind


Revision 1887 - Directory Listing
Modified Sat Apr 18 08:17:16 2009 UTC (14 years, 11 months ago) by persson
* bugfix: pitch bend wasn't working with JackMidi, VST, LV2, Mme,
  CoreMidi or AU
* theoretical fix: made SynchronizedConfig follow C++0x memory model
  more strictly


Revision 1879 - Directory Listing
Modified Sun Mar 29 18:43:40 2009 UTC (15 years ago) by schoenebeck
* atomic.h was accidently included in the liblinuxsampler C++ API header
  files (fixes bug #122)


Revision 1870 - Directory Listing
Modified Sun Mar 22 16:53:01 2009 UTC (15 years ago) by persson
* bugfix: low-level lsatomic.h load function was broken on 64-bit
  PowerPC, which probably could cause crashes on that platform
* minor cleanups and optimization in lsatomic.h


Revision 1862 - Directory Listing
Modified Wed Mar 11 19:03:37 2009 UTC (15 years ago) by persson
* allow gig files to use unlimited downward pitch shifting
* added a limit check for upward pitch shifting


Revision 1832 - Directory Listing
Modified Thu Feb 5 17:48:54 2009 UTC (15 years, 1 month ago) by iliev
* CoreAudio: Improved hardware detection
* CoreAudio: Added new driver parameter DEVICE
* CoreAudio: Restart the audio queue when the device
  is changed, for example when headphones are plugged


Revision 1825 - Directory Listing
Modified Fri Jan 16 19:09:10 2009 UTC (15 years, 2 months ago) by persson
* fixed CPU feature detection on x86_64 (maybe fixes #108)


Revision 1808 - Directory Listing
Modified Sun Dec 14 15:43:18 2008 UTC (15 years, 3 months ago) by persson
* fixes for building with newer MinGW versions
* fix for building with bison 2.4 (#111)
* fix for crash when running gigedit as a plugin


Revision 1800 - Directory Listing
Modified Sun Dec 7 01:26:46 2008 UTC (15 years, 3 months ago) by schoenebeck
* maximum voices and disk streams can now be altered at runtime (added new
  LSCP commands "GET VOICES", "SET VOICES", "GET STREAMS", "SET STREAMS"
  and accordingly new LSCP events "GLOBAL_INFO:VOICES" and
  "GLOBAL_INFO:STREAMS")
* bumped version to 0.5.1.8cvs


Revision 1794 - Directory Listing
Modified Sun Nov 30 09:10:07 2008 UTC (15 years, 4 months ago) by persson
* fixed crash on x86_64, introduced in 2008-11-02 commit (#108)
* fixed configure so it detects x86_64 (#107)


Revision 1792 - Directory Listing
Modified Sun Nov 16 19:19:26 2008 UTC (15 years, 4 months ago) by persson
* fixes for building on OS X


Revision 1790 - Directory Listing
Modified Sun Nov 2 12:05:00 2008 UTC (15 years, 4 months ago) by persson
* added memory ordering constraints to improve stability on multi-core
  and multi-cpu systems


Revision 1782 - Directory Listing
Modified Tue Sep 30 02:16:41 2008 UTC (15 years, 6 months ago) by iliev
* updated the lscp spec
* code cleanup in InstrumentsDb


Revision 1781 - Directory Listing
Modified Mon Sep 29 18:21:21 2008 UTC (15 years, 6 months ago) by iliev
* Implemented option for adding instruments in separate directories
  in the instruments database
  (patch by Chris Cherrett & Andrew Williams, a bit adjusted)


Revision 1765 - Directory Listing
Modified Sat Sep 6 16:44:42 2008 UTC (15 years, 6 months ago) by persson
* refactoring: extracted lscp notification from main() to a separate
  function
* added helper function MidiInputPort::DispatchRaw for midi device
  implementations with raw byte data
* fixed a win32 build error (atomic.h is working on windows too)
* code cleanup: moved lscp classes into LinuxSampler namespace


Revision 1764 - Directory Listing
Modified Sat Sep 6 14:55:18 2008 UTC (15 years, 6 months ago) by persson
* rewrote the ConditionServer class to make it possible to create
  multiple sample channels when the audio thread isn't running


Revision 1726 - Directory Listing
Modified Sat Apr 26 09:27:24 2008 UTC (15 years, 11 months ago) by persson
* more gcc 4.3 fixes


Revision 1723 - Directory Listing
Modified Sun Apr 20 08:53:39 2008 UTC (15 years, 11 months ago) by schoenebeck
* allow pan control of engine channels on C++ API level
* export denormals-are-zero mode feature to C++ API


Revision 1717 - Directory Listing
Modified Sun Mar 16 17:43:20 2008 UTC (16 years ago) by iliev
* moved all OS dependent file operation to File class


Revision 1653 - Directory Listing
Modified Wed Jan 30 01:51:46 2008 UTC (16 years, 2 months ago) by schoenebeck
* added support for notifying instrument editors on note-on / note-off
  events (e.g. to highlight the pressed keys on the virtual keyboard
  of gigedit)
* fixed return value of recently added Thread::TestCancel() method
* be verbose on DLL load errors (on Linux)


Revision 1650 - Directory Listing
Modified Sun Jan 27 09:44:30 2008 UTC (16 years, 2 months ago) by nagata
* Reverting to v1.7


Revision 1649 - Directory Listing
Modified Fri Jan 25 15:06:02 2008 UTC (16 years, 2 months ago) by nagata
* added a new config option --enable-pthread-testcancel, which uses
pthread_testcancel() instead of asynchronous canceling (needed for OSX)


Revision 1644 - Directory Listing
Modified Sat Jan 19 16:55:03 2008 UTC (16 years, 2 months ago) by persson
* fixed memory leaks that occurred when liblinuxsampler was unloaded
* fixed a memory leak that could happen when a channel was deleted
  while notes were playing
* fixed memory management bug in ASIO driver
* optimized the SynchronizedConfig class so it doesn't wait
  unnecessarily long after an update


Revision 1642 - Directory Listing
Modified Sun Jan 13 16:36:14 2008 UTC (16 years, 2 months ago) by nagata
* OSX: Definition of ATOMIC_INIT is added
* OSX: "~" in DB/plugin names are expanded to "$HOME"
* OSX: MIDI device name are now "linuxsampler_in_%d" where %d=0,1,etc.


Revision 1561 - Directory Listing
Modified Thu Dec 6 18:24:48 2007 UTC (16 years, 3 months ago) by senoner
- fixed compilation error in Condition.cpp


Revision 1560 - Directory Listing
Modified Thu Dec 6 17:19:16 2007 UTC (16 years, 3 months ago) by schoenebeck
* minor code refactoring of win32 Condition code
* preparations for release 0.5.1


Revision 1537 - Directory Listing
Modified Mon Dec 3 18:30:47 2007 UTC (16 years, 3 months ago) by senoner
* win32 port: common/Path.cpp :
 - fixed missing drive letter in toLscp()
 network/lscpserver.cpp:
 - added win32 support in VerifyFile()


Revision 1531 - Directory Listing
Modified Tue Nov 27 18:03:13 2007 UTC (16 years, 4 months ago) by senoner
* global.h: - added macros to emulate usleep() and sleep()
 by using Sleep() under WIN32


Revision 1482 - Directory Listing
Modified Thu Nov 15 01:15:12 2007 UTC (16 years, 4 months ago) by schoenebeck
- bugfix: recent win32 commit broke the non-win code
- fixed API doc comments


Revision 1481 - Directory Listing
Modified Wed Nov 14 23:42:15 2007 UTC (16 years, 4 months ago) by senoner
* win32 port work in progress:
* - implemented win32 support in the following classes:
* Thread, Condition, Mutex, Path, LscpServer
* - lscp.y use DONTCARE instead of VOID
*  (a win32 symbol defined)
* - completed win32 editor plugin loader


Revision 1479 - Directory Listing
Modified Wed Nov 14 15:06:48 2007 UTC (16 years, 4 months ago) by senoner
* fixes in Ringbuffer.h:
 - fill_write_space_with_null() did not zero out all the space
 - operator--() did not apply size_mask after decrementing the read_ptr
  (might fix bug #48)
 - DEFAULT_WRAP_ELEMENTS set to 0 in order to avoid problems with
  the _NonVolatileReader functions.


Revision 1471 - Directory Listing
Modified Mon Nov 5 13:56:26 2007 UTC (16 years, 4 months ago) by schoenebeck
* LSCP server: added support for Windows style path / filenames, however
  with forward slash path separators instead of backslash
  (i.e. "C:/foo/bar.gig")


Revision 1427 - Directory Listing
Modified Sun Oct 14 22:34:31 2007 UTC (16 years, 5 months ago) by schoenebeck
- accidently removed atomic.h from distribution


Revision 1424 - Directory Listing
Modified Sun Oct 14 22:00:17 2007 UTC (16 years, 5 months ago) by schoenebeck
* code cleanup:
- global.h now only covers global definitions that are needed for the C++
  API header files, all implementation internal global definitions are now
  in global_private.h
- atomic.h is not exposed to the C++ API anymore (replaced the references
  in SynchronizedConfig.h for this with local definitions)
- no need to include config.h anymore for using LS's API header files
- DB instruments classes are not exposed to the C++ API
- POSIX callback functions of Thread.h are hidden
- the (optional) gig Engine benchmark compiles again
- updated Doxyfile.in
- fixed warnings in API doc generation
* preparations for release 0.5.0


Revision 1403 - Directory Listing
Modified Fri Oct 12 09:12:22 2007 UTC (16 years, 5 months ago) by iliev
* _escapeLscpResponse now escapes backslashes
* implemented new method Path::fromDbPath


Revision 1399 - Directory Listing
Modified Thu Oct 11 18:53:29 2007 UTC (16 years, 5 months ago) by schoenebeck
* the following LSCP command return escape sequences in at least one
  of their LSCP response fields: "GET ENGINE INFO", "GET CHANNEL INFO",
  "GET MIDI_INSTRUMENT INFO", "GET MIDI_INSTRUMENT_MAP INFO",
  "GET FX_SEND INFO", "GET SERVER INFO"
* listed all LSCP commands in the LSCP specs which may use escape
  sequences in at least on of their response fields
* hide instrument editor related debug messages in the gig::Engine when
  using the default debug level (which is 1)
* bumped version to 0.4.0.8cvs


Revision 1345 - Directory Listing
Modified Thu Sep 13 21:46:25 2007 UTC (16 years, 6 months ago) by iliev
* added support for escape sequences to the instruments database


Revision 1338 - Directory Listing
Modified Sun Sep 9 23:30:34 2007 UTC (16 years, 6 months ago) by schoenebeck
* bugfix: files with percent character ('%') in their path or filename
  could not be loaded


Revision 1332 - Directory Listing
Modified Sun Sep 9 12:22:34 2007 UTC (16 years, 6 months ago) by schoenebeck
* bugfix: files with slash in their path or filename could not be loaded


Revision 1324 - Directory Listing
Modified Tue Sep 4 18:02:27 2007 UTC (16 years, 6 months ago) by schoenebeck
* automake fix: don't throw an error on "make uninstall" just because the
  plugin directory is not empty (fixes bug #54)


Revision 1321 - Directory Listing
Modified Tue Sep 4 01:12:49 2007 UTC (16 years, 6 months ago) by schoenebeck
* added highly experimental code for synchronizing instrument editors
  hosted in the sampler's process to safely edit instruments while playing
  without a crash (hopefully) by either suspending single regions wherever
  possible or - if unavoidable - whole engine(s)
* disk thread: queue sizes are now proportional to CONFIG_MAX_STREAMS
  instead of fix values
* removed legacy Makefiles in meanwhile deleted src/lib directory and its
  subdirectories
* bumped version to 0.4.0.7cvs


Revision 1319 - Directory Listing
Modified Mon Sep 3 23:59:10 2007 UTC (16 years, 6 months ago) by schoenebeck
- just some API doc update


Revision 1314 - Directory Listing
Modified Fri Aug 31 10:29:13 2007 UTC (16 years, 7 months ago) by schoenebeck
* minor assembly fix in x86 features detection (don't use the PIC
  register, to avoid relocations in the text segment at runtime)


Revision 1233 - Directory Listing
Modified Mon Jun 11 13:42:21 2007 UTC (16 years, 9 months ago) by schoenebeck
* minor fix in our automatic stack trace mechanism on crashes, the
  main process did not wait for the stack trace process to finish
  and thus killed the whole application before the stack trace was
  completely shown on the console


Revision 1231 - Directory Listing
Modified Mon Jun 11 10:06:52 2007 UTC (16 years, 9 months ago) by schoenebeck
- just fixed some minor glitch in API doc comment


Revision 1223 - Directory Listing
Modified Sun Jun 10 09:25:57 2007 UTC (16 years, 9 months ago) by persson
- added Condition.h to the include files that get installed


Revision 1222 - Directory Listing
Modified Sun Jun 10 06:54:54 2007 UTC (16 years, 9 months ago) by persson
* small fix for previous Thread change: don't try to change static
  priority for non-RT threads


Revision 1221 - Directory Listing
Modified Wed Jun 6 18:50:03 2007 UTC (16 years, 9 months ago) by schoenebeck
* fixed several issues in fundamental "Thread" class: set scheduling
  policy and priority on thread level, set a minimum stack size for
  thread (TODO: a reasonable value yet to be tested), bugfix: non-RT
  threads simply inherited properties of starting thread instead of
  setting their own policy and priority
* updated and fixed test cases (haven't been touched in a while, but
  are now all running successfully through all cases)


Revision 1212 - Directory Listing
Modified Tue May 29 23:59:36 2007 UTC (16 years, 10 months ago) by schoenebeck
* added highly experimental support for on-the-fly instrument editing
  within the sampler's process (by using instrument editor plugins),
  you'll notice the new "Registered instrument editors:" message on
  startup, the plugin path can be overridden at compile time with
  ./configure --enable-plugin-dir=/some/dir
* added a new LSCP command "EDIT INSTRUMENT <sampler-channel>" to spawn
  a matching instrument editor for the instrument on the given sampler
  channel (LSCP command syntax might be subject to change soon)
* config.h is not going to be installed along with liblinuxsampler's
  API header files anymore (not necessary anymore)
* take care of $(DESTDIR) when creating the instruments DB on 'make
  install' rule (needed for packaging and cross compilation)
* bumped version to 0.4.0.5cvs


Revision 1200 - Directory Listing
Modified Thu May 24 14:04:18 2007 UTC (16 years, 10 months ago) by iliev
* Implemented instrument scanning in background
  and commands for monitoring the scan progress


Revision 1149 - Directory Listing
Modified Sat Apr 7 22:32:47 2007 UTC (16 years, 11 months ago) by schoenebeck
* minor fix of EGDecay
* fixed compilation errors regarding OSX
(patch by Toshi Nagata)


Revision 1040 - Directory Listing
Modified Wed Feb 7 15:41:31 2007 UTC (17 years, 1 month ago) by schoenebeck
* bugfix: sampler crashed when trying to persistently map a not existent or
  corrupt .gig file ("MAP MIDI_INSTRUMENT ... PERSISTENT")
* behavior fix: reset FX send levels i.e. when receiving a MIDI "reset all
  controllers" message
* bumped version to 0.4.0.3cvs


Revision 1038 - Directory Listing
Modified Sat Feb 3 15:33:00 2007 UTC (17 years, 1 month ago) by persson
* playback is no longer disabled during instrument loading
* all notes playing on a channel that changes its instrument keep
  playing with the old instrument until they get a note off command
* new thread safety fix for lscp "load engine" and "set channel audio
  output device"


Revision 1005 - Directory Listing
Modified Fri Dec 29 20:06:14 2006 UTC (17 years, 3 months ago) by schoenebeck
* global volume can now be altered at runtime
  (added two new LSCP commands for this, LSCP specs updated)


Revision 970 - Directory Listing
Modified Wed Dec 6 22:28:17 2006 UTC (17 years, 3 months ago) by schoenebeck
* fixed crash occuring in conjunction with the new 'MAP MIDI_INSTRUMENT'
  LSCP command (cause: RingBuffer was not able to do deep copies)


Revision 958 - Directory Listing
Modified Wed Nov 29 19:48:38 2006 UTC (17 years, 4 months ago) by schoenebeck
* store volume for each MIDI instrument mapper entry individually instead
  of managing the volume as shared setting with the respective instrument
  entry of its InstrumentManager


Revision 947 - Directory Listing
Modified Mon Nov 27 21:34:55 2006 UTC (17 years, 4 months ago) by schoenebeck
* implemented MIDI instrument mapping according to latest LSCP draft


Revision 932 - Directory Listing
Modified Sun Nov 5 08:50:43 2006 UTC (17 years, 4 months ago) by persson
* fixed mutex initialization bug


Revision 925 - Directory Listing
Modified Sat Oct 21 14:50:32 2006 UTC (17 years, 5 months ago) by schoenebeck
* fixed crash when instrument loading failed previously on the same
  sampler channel (fixes bug #36)


Revision 885 - Directory Listing
Modified Wed Jun 28 19:32:21 2006 UTC (17 years, 9 months ago) by schoenebeck
* various fixes to allow liblinuxsampler to be used
  (as a native C++ library)


Revision 881 - Directory Listing
Modified Wed Jun 28 17:46:17 2006 UTC (17 years, 9 months ago) by schoenebeck
avoid possible macro clash (__GLOBAL_H__)


Revision 880 - Directory Listing
Modified Tue Jun 27 22:57:37 2006 UTC (17 years, 9 months ago) by schoenebeck
just some refactoring work:
- renamed class LinuxSamplerException -> Exception
- encapsulated LS API relevant files into LS namespace
- removed unnecessary header inclusions


Revision 879 - Directory Listing
Modified Tue Jun 27 22:53:17 2006 UTC (17 years, 9 months ago) by schoenebeck
renamed class LinuxSamplerException -> Exception


Revision 846 - Directory Listing
Modified Sun Mar 19 16:38:22 2006 UTC (18 years ago) by persson
* more thread safety fixes: another fix for lscp "load engine" and
  midi thread. Sysex midi protected against lscp. Instrument loader
  thread protected against lscp thread.


Revision 840 - Directory Listing
Modified Sun Feb 26 13:00:08 2006 UTC (18 years, 1 month ago) by persson
* fixed some concurrency problems between the lscp thread and the
  audio/midi threads for these commands: load engine, set channel
  audio output device, set channel midi input device/port/channel and
  remove channel. Thanks to Vincent Bongiorno for bug reports and
  testing.
* removed an autotools warning
* fixed an iterator bug
* minor code clean-ups


Revision 835 - Directory Listing
Modified Mon Feb 6 18:07:17 2006 UTC (18 years, 1 month ago) by persson
* fixed some memory management errors


Revision 830 - Directory Listing
Modified Sun Jan 15 18:23:11 2006 UTC (18 years, 2 months ago) by persson
* added linear interpolation of volume modulation inside a
  subfragment; this prevents clicks during voice stealing. Can be
  switched off with the --disable-interpolate-volume configure option.


Revision 829 - Directory Listing
Modified Sat Jan 14 14:07:47 2006 UTC (18 years, 2 months ago) by schoenebeck
* implemented portamento mode and solo mode (a.k.a 'mono mode'):
  all modes can be altered via standard GM messages, that is CC5 for
  altering portamento time, CC65 for enabling / disabling portamento
  mode, CC126 for enabling solo mode and CC127 for disabling solo mode
* fixed EG3 (pitch envelope) synthesis which was neutral all the time
* configure.in: do not automatically pick optimized gcc flags if the user
  already provided some on his own (as CXXFLAGS)


Revision 819 - Directory Listing
Modified Thu Dec 22 19:37:19 2005 UTC (18 years, 3 months ago) by wylder
conditionally include features.h


Revision 818 - Directory Listing
Modified Thu Dec 22 19:35:42 2005 UTC (18 years, 3 months ago) by wylder
replace deprecated min/max operator with std::max()/std::min() template


Revision 810 - Directory Listing
Modified Tue Nov 22 11:49:40 2005 UTC (18 years, 4 months ago) by schoenebeck
* src/common/optional.h: fixed '=' operator which did not return anything


Revision 799 - Directory Listing
Modified Sat Nov 5 10:59:37 2005 UTC (18 years, 4 months ago) by persson
* Bug-fixes: pitch changes larger than one octave didn't work. Looped
  samples small enough to fit in RAM didn't work.


Revision 738 - Directory Listing
Modified Tue Aug 16 17:14:25 2005 UTC (18 years, 7 months ago) by schoenebeck
* extensive synthesis optimization: reimplementation of EGs and LFO(s),
  removed synthesis parameter prerendering and the synthesis parameter
  matrix in general, splitting each audio fragment into subfragments now
  where each subfragment uses constant synthesis parameters
  (everything's still very buggy ATM)


Revision 737 - Directory Listing
Modified Tue Aug 16 16:50:00 2005 UTC (18 years, 7 months ago) by schoenebeck
added GCCs C++ language extension for Min and Max


Revision 724 - Directory Listing
Modified Mon Jul 25 09:28:00 2005 UTC (18 years, 8 months ago) by iliev
- Fixed some typos


Revision 685 - Directory Listing
Modified Tue Jul 5 19:30:37 2005 UTC (18 years, 8 months ago) by persson
* gcc 4.0 compilation fixes


Revision 654 - Directory Listing
Modified Wed Jun 15 20:25:25 2005 UTC (18 years, 9 months ago) by schoenebeck
* fixed 'make dist' build rule to include all necessary files


Revision 643 - Directory Listing
Modified Sun Jun 12 23:49:00 2005 UTC (18 years, 9 months ago) by capela
* RPM .spec script added to repository.


Revision 617 - Directory Listing
Modified Wed Jun 8 21:00:06 2005 UTC (18 years, 9 months ago) by schoenebeck
* hand-crafted assembly optimization code can be disabled with
  './configure --disable-asm' (definitely not recommended)


Revision 579 - Directory Listing
Modified Tue May 24 19:20:20 2005 UTC (18 years, 10 months ago) by schoenebeck
* src/network/lscpserver.cpp: fixed segfault
  (patch by Grigor Iliev, fixes #17)
* added man page
* final preparations for the first official release (which will be 0.3.1)


Revision 563 - Directory Listing
Modified Sun May 22 20:43:32 2005 UTC (18 years, 10 months ago) by schoenebeck
* (re)implemented voice stealing algorithm "oldestvoiceonkey" and made it
  the default voice stealing algorithm
* added new LSCP command "GET SERVER INFO" which currently returns
  description and version about this sampler
* added some API documentation comments
* minor cleanup


Revision 554 - Directory Listing
Modified Thu May 19 19:25:14 2005 UTC (18 years, 10 months ago) by schoenebeck
* All compile time options are now centrally alterable as arguments to the
  ./configure script. All options are C Macros beginning with CONFIG_
  prefix and will be placed into auto generated config.h file.


Revision 550 - Directory Listing
Modified Tue May 17 17:59:45 2005 UTC (18 years, 10 months ago) by schoenebeck
just some API documentation


Revision 517 - Directory Listing
Modified Sun May 8 00:26:21 2005 UTC (18 years, 10 months ago) by schoenebeck
* implemented progress indicator for loading instruments
  (can be polled with "GET CHANNEL INFO", field "INSTRUMENT_STATUS")


Revision 510 - Directory Listing
Modified Wed May 4 12:02:35 2005 UTC (18 years, 10 months ago) by schoenebeck
* autotools build fixes for PPC architecture


Revision 504 - Directory Listing
Modified Tue May 3 00:37:35 2005 UTC (18 years, 11 months ago) by schoenebeck
* removed statically included libgig sources from the LinuxSampler code
  base - you now have to compile and install libgig separately
* added -Wreturn-type gcc switch to avoid bugs with no returns on non void
  functions in future


Revision 502 - Directory Listing
Modified Fri Apr 29 14:20:22 2005 UTC (18 years, 11 months ago) by letz
Fix destructor


Revision 497 - Directory Listing
Modified Sun Apr 10 11:55:44 2005 UTC (18 years, 11 months ago) by persson
* removed some build warnings
* fixed a bug with hanging notes when using sustain pedal
* release samples are not triggered anymore when sustain pedal is down


Revision 478 - Directory Listing
Modified Sat Mar 19 09:31:46 2005 UTC (19 years ago) by persson
* fixed a compilation error in Pool.h (gcc 3.4.3)


Revision 472 - Directory Listing
Modified Thu Mar 17 19:54:51 2005 UTC (19 years ago) by schoenebeck
make forced segfaults verbose in case of DEVMODE and !USE_EXCEPTIONS


Revision 459 - Directory Listing
Modified Mon Mar 14 22:32:42 2005 UTC (19 years ago) by schoenebeck
added ArrayList.h


Revision 458 - Directory Listing
Modified Mon Mar 14 22:32:23 2005 UTC (19 years ago) by schoenebeck
simple container with array implementation


Revision 457 - Directory Listing
Modified Mon Mar 14 22:29:46 2005 UTC (19 years ago) by schoenebeck
fixed tiny exception bug


Revision 425 - Directory Listing
Modified Sat Mar 5 07:27:48 2005 UTC (19 years ago) by persson
* fixed a bug that sometimes caused clicks at the beginning of samples
* added denormal number elimination for CPUs with SSE2 support


Revision 417 - Directory Listing
Modified Tue Mar 1 21:55:51 2005 UTC (19 years, 1 month ago) by persson
* fixed a bug in the low-level thread synchronizing code, that made
  loading of very small gig files sometimes fail


Revision 410 - Directory Listing
Modified Sat Feb 26 01:23:55 2005 UTC (19 years, 1 month ago) by schoenebeck
removed RTELMemoryPool.h


Revision 399 - Directory Listing
Modified Mon Feb 21 11:09:15 2005 UTC (19 years, 1 month ago) by letz
Fix for OSX compilation (mlockall function not available...)


Revision 392 - Directory Listing
Modified Sat Feb 19 02:40:24 2005 UTC (19 years, 1 month ago) by schoenebeck
* fixed possibility that memory got not locked
* immediately set instrument status when calling LOAD INSTUMENT NON_MODAL


Revision 386 - Directory Listing
Modified Thu Feb 17 10:45:30 2005 UTC (19 years, 1 month ago) by letz
Add missing virtual destructor


Revision 361 - Directory Listing
Modified Wed Feb 9 01:22:18 2005 UTC (19 years, 1 month ago) by schoenebeck
* bunch of fixes for OSX (patch by Stephane Letz)


Revision 351 - Directory Listing
Modified Tue Jan 25 22:11:43 2005 UTC (19 years, 2 months ago) by schoenebeck
* fixed some memory leaks (patch by Gene Anders)


Revision 328 - Directory Listing
Modified Sat Dec 25 21:58:58 2004 UTC (19 years, 3 months ago) by schoenebeck
* architecture independence fixes, should now compile again for non x86
  systems
* tiny fix of command line switch --version


Revision 320 - Directory Listing
Modified Mon Dec 13 00:53:16 2004 UTC (19 years, 3 months ago) by schoenebeck
* introduced 'synthesis mode' to reduce the amount of code and conditionals
  for the current synthesis case in the main synthesis loop
* support for MMX and SSE(1) in the core synthesis algorithms (CPU feature
  detection at runtime, only x86 so far)


Revision 319 - Directory Listing
Modified Mon Dec 13 00:46:42 2004 UTC (19 years, 3 months ago) by schoenebeck
* introduced 'synthesis mode' to reduce the amount of code and conditionals
  for the current synthesis case in the main synthesis loop
* support for MMX and SSE(1) in the core synthesis algorithms (CPU feature
  detection at runtime, only x86 so far)


Revision 294 - Directory Listing
Modified Mon Oct 25 15:21:43 2004 UTC (19 years, 5 months ago) by schoenebeck
added new methods for template class NonVolatileReader: free(), decrement
operator and pop() method variant which returns a pointer instead of
copying data


Revision 290 - Directory Listing
Modified Wed Oct 20 03:02:35 2004 UTC (19 years, 5 months ago) by senkov
* Quoted warnings to avoid unmatched single quote.


Revision 289 - Directory Listing
Modified Tue Oct 19 14:41:38 2004 UTC (19 years, 5 months ago) by schoenebeck
* LinuxSampler was badly broken with last commit, fixed that
* using now James Klicman's proposol to fix the reported linker problem
* Mutex.cpp: try to force UNIX98 compatibility (if not already supported)
* Makefile.cvs: generate (and clean) all necessary autotools files


Revision 288 - Directory Listing
Modified Tue Oct 19 00:36:34 2004 UTC (19 years, 5 months ago) by schoenebeck
* configure.in: added check for UNIX98 compatibility, check if there's at
  least one supported MIDI input and audio output system available, added
  conditionals for ALSA and JACK
* src/drivers/audio/Makefile.am: ALSA and JACK drivers are only compiled
  respectively if they're supported by the system
* MidiInputDeviceFactory.cpp, AudioOutputDeviceFactory.cpp: little
  workaround for reported linker problem
* removed autotools generated files from CVS


Revision 281 - Directory Listing
Modified Tue Oct 12 20:46:13 2004 UTC (19 years, 5 months ago) by schoenebeck
tiny compatibility fix, patch by James Klicman


Revision 277 - Directory Listing
Modified Sat Oct 9 15:48:32 2004 UTC (19 years, 5 months ago) by schoenebeck
* compatibility fixes for old gcc 2.95.4


Revision 275 - Directory Listing
Modified Sat Oct 9 15:40:35 2004 UTC (19 years, 5 months ago) by schoenebeck
src/common/Mutex.cpp only compiles on UNIX98 compatible systems


Revision 271 - Directory Listing
Modified Fri Oct 8 20:51:39 2004 UTC (19 years, 5 months ago) by schoenebeck
* libgig: fixed panorama value in DimensionRegion (invalid conversion
  from signed 7 bit to signed 8 bit)
* src/linuxsampler.cpp: stacktrace is now automatically shown on fatal
  errors (that is  segmentation faults, etc.), gdb should be installed for
  this to work
* gig::Voice: tiny accuracy fix of pan calculation
* replaced old pool classes by completely new ones which now offer
  Iterator abstraction


Revision 270 - Directory Listing
Modified Fri Oct 8 20:30:25 2004 UTC (19 years, 5 months ago) by schoenebeck
stacktrace routines by Bjorn Reese, only slightly modified:
- header file adjusted to work with C++ applications
- deactivated separated piping of debugger output, as it didn't work out
  correctly in multithreaded application


Revision 268 - Directory Listing
Modified Thu Oct 7 22:20:20 2004 UTC (19 years, 5 months ago) by capela
* gcc-c++ 3.4.1 compability fixes.


Revision 248 - Directory Listing
Modified Mon Sep 20 00:20:13 2004 UTC (19 years, 6 months ago) by schoenebeck
added pool_is_empty() methods


Revision 243 - Directory Listing
Modified Fri Sep 17 00:52:48 2004 UTC (19 years, 6 months ago) by schoenebeck
added inner class 'NonVolatileReader' which allows random access reading
from a RingBuffer without having to worry that read space could get freed
by access operations


Revision 216 - Directory Listing
Modified Sun Aug 15 17:25:31 2004 UTC (19 years, 7 months ago) by schoenebeck
print cause to standard error channel instead of standard out and flush
right after


Revision 170 - Directory Listing
Modified Sat Jul 3 20:08:07 2004 UTC (19 years, 8 months ago) by senkov
* moved ToString to common
* Implemented handling of multiple connections
* Implemented guts for event subscription/unsubscription
* Illustrated event notification sending by sending MISC events
when connections are established or terminated.


Revision 165 - Directory Listing
Modified Thu Jul 1 04:25:55 2004 UTC (19 years, 9 months ago) by senkov
* Small enhancement to mutex class to support Trylock()


Revision 134 - Directory Listing
Modified Sun Jun 20 15:12:05 2004 UTC (19 years, 9 months ago) by senkov
* small but important typo fix in optional.h


Revision 123 - Directory Listing
Modified Mon Jun 14 19:33:16 2004 UTC (19 years, 9 months ago) by schoenebeck
* src/common: added template class 'optional<>' which can be used e.g. as
  return type whenever a value might be returned, but don't has to; this
  template class pretty much acts like a pointer of the given type, but is
  much more safer than a simple pointer
* src/audiodriver: added static class AudioDeviceFactory to create audio
  devices at runtime by using a string and to obtain driver informations
  of drivers at runtime, driver classes should simply use the macro
  REGISTER_AUDIO_OUTPUT_DRIVER(DriverName,DriverClass) in their cpp file
  to register the driver to LinuxSampler (no changes needed anymore in the
  LS code to add a new audio output driver)
* src/drivers: added classes to dynamically manage driver parameters; there
  are two different kinds of parameters: parameters which are need to
  create a new device (DeviceCreationParameterX) used to e.g. create an
  audio output device or a MIDI input device and parameters which are only
  available at runtime, means when a device is already created
  (DeviceRuntimeParameterX) which will be e.g. used as audio channel
  parameters and MIDI port parameters
* src/linuxsampler.cpp: all registered audio output drivers will be shown
  on the console on startup
* src/network: implemented configuration of audio output devices via LSCP


Revision 83 - Directory Listing
Modified Sun May 23 19:47:59 2004 UTC (19 years, 10 months ago) by schoenebeck
forgot to actually reduce the debug level value (to 1) with the last
commit batch


Revision 80 - Directory Listing
Modified Sun May 23 19:16:33 2004 UTC (19 years, 10 months ago) by schoenebeck
* biquad filter parameters are now calculated outside the interpolate
  loop for better performance
* couple of loop unroll optimizations
* filter is now enabled by default
* cubic interpolation is now enabled by default
* reduced debug level to 1 to lower verbosity
* raised default limit for voices to 128
* raised default limit for streams to 150
* added some compiler optimization flags (-ffast-math -march -mcpu)


Revision 63 - Directory Listing
Modified Tue May 4 18:52:24 2004 UTC (19 years, 10 months ago) by schoenebeck
* src/common/Thread.cpp: threads are now stoppable even if they are
  waiting for a condition
* src/common/Condition.cpp: fixed little misbehavior of Set() method,
  which locked the Condition object on return
* src/testcases: added a couple of new unit tests (against classes
  'Mutex', 'Condition' and 'Thread')


Revision 57 - Directory Listing
Modified Sun May 2 17:45:43 2004 UTC (19 years, 11 months ago) by schoenebeck
* src/common/Thread.cpp: method StartThread() now blocks until thread
  actually runs, mlockall() will only be applied for realtime threads
* libtoolized liblinuxsampler
* initiated automatic unit tests against the LinuxSampler codebase
  (see src/testcases): already added a couple of tests for the Thread and
  Mutex classes, you have to explicitly compile the unit tests by running
  'make testcases' (you need to have cppunit installed though) and then you
  can run the console version of the test runner by calling
  'src/testcases/linuxsamplertest'
* src/Sampler.h: added API documentation


Revision 56 - Directory Listing
Modified Tue Apr 27 09:21:58 2004 UTC (19 years, 11 months ago) by schoenebeck
updated copyright header for 2004


Revision 53 - Directory Listing
Added Mon Apr 26 17:15:51 2004 UTC (19 years, 11 months ago) by schoenebeck
* completely restructured source tree
* implemented multi channel support
* implemented instrument manager, which controls sharing of instruments
  between multiple sampler engines / sampler channels
* created abstract classes 'AudioOutputDevice' and 'MidiInputDevice' for
  convenient implementation of further audio output driver and MIDI input
  driver for LinuxSampler
* implemented following LSCP commands: 'SET CHANNEL MIDI INPUT TYPE',
  'LOAD ENGINE', 'GET CHANNELS', 'ADD CHANNEL', 'REMOVE CHANNEL',
  'SET CHANNEL AUDIO OUTPUT TYPE'
* temporarily removed all command line options
* LSCP server is now launched by default


  ViewVC Help
Powered by ViewVC