Log of /linuxsampler/trunk/src/engines
Directory Listing
Revision
3283 -
Directory Listing
Modified
Wed Jun 21 20:59:06 2017 UTC
(6 years, 11 months ago)
by
schoenebeck
* RT Instrument Scripts: Fixed potential memory access bug
and potential undefined behavior of "init" event handlers.
* Bumped version (2.0.0.svn62).
Revision
3277 -
Directory Listing
Modified
Mon Jun 5 18:40:18 2017 UTC
(7 years ago)
by
schoenebeck
* NKSP: Implemented built-in script function "abort()" which allows
to abort another script handler by passing its callback ID.
* Bumped version (2.0.0.svn61).
Revision
3255 -
Directory Listing
Modified
Tue May 30 15:43:39 2017 UTC
(7 years ago)
by
schoenebeck
* NKSP: Implemented built-in script function "change_play_pos()".
* Bumped version (2.0.0.svn57).
Revision
3253 -
Directory Listing
Modified
Tue May 30 12:08:45 2017 UTC
(7 years ago)
by
schoenebeck
* NKSP: built-in "play_note()" function now accepts -2 for its fourth
argument (note duration) which means the life time of the note shall
be sticked to the requested note number of argument 1.
* NKSP Fix: built-in "play_note()" function now returns 0 as result
value if -1 was passed for its fourth argument (note duration) and
the respective parent note is already gone.
* NKSP: Built-in array variable %KEY_DOWN[] is now a read-only
variable.
* Built-in variable $EVENT_NOTE is now a read-only variable.
* Built-in variable $EVENT_VELOCITY is now a read-only variable.
* Bumped version (2.0.0.svn56).
Revision
3251 -
Directory Listing
Modified
Mon May 29 22:19:19 2017 UTC
(7 years ago)
by
schoenebeck
* NKSP: built-in "play_note()" function now supports a sample playback
start offset with argument 3, where special value -1 means to use the
regular sample offset as defined by the instrument file.
* Bumped version (2.0.0.svn55).
Revision
3246 -
Directory Listing
Modified
Sun May 28 22:22:56 2017 UTC
(7 years ago)
by
schoenebeck
* NKSP: Implemented built-in script function "change_vol_curve()".
* NKSP: Implemented built-in script function "change_tune_curve()".
* NKSP: Added built-in script constant "$NKSP_LINEAR".
* NKSP: Added built-in script constant "$NKSP_EASE_IN_EASE_OUT".
* Bumped version (2.0.0.svn54).
Revision
3228 -
Directory Listing
Modified
Sun May 28 14:46:14 2017 UTC
(7 years ago)
by
schoenebeck
* Implemented built-in script function "same_region()" (currently only
available for gig format engine).
* Bumped version (2.0.0.svn53).
Revision
3221 -
Directory Listing
Modified
Fri May 26 18:30:42 2017 UTC
(7 years ago)
by
schoenebeck
* NKSP Fix: Never suspend "init" event handlers.
* NKSP: Implemented built-in script function "array_equal()".
* NKSP: Implemented built-in script function "search()".
* NKSP: Implemented built-in script function "sort()".
* Bumped version (2.0.0.svn52).
Revision
3219 -
Directory Listing
Modified
Thu May 25 21:49:40 2017 UTC
(7 years ago)
by
schoenebeck
* NKSP Fix: built-in script function "change_note()" did not
(re)select the correct expected region.
* NKSP Fix: built-in script function "change_velo()" did not
(re)select the correct subregion/dimension region
(whatever term you are using for the sampler format of
your choice).
* Bumped version (2.0.0.svn51).
Revision
3218 -
Directory Listing
Modified
Thu May 25 16:32:17 2017 UTC
(7 years ago)
by
schoenebeck
* NKSP: Adjusted behavior of "change_vol()" and "change_tune()" to a more
intuitive behavior if used in combination with "change_vol_time()" or
"change_tune_time()" respectively: now tuning/volume changes are only
assigned (without delay) immediately to a new note if the respective
timing function has not been called before, otherwise the volume/tuning
changes are automatically faded (before, only the event's time stamp was
relevant).
* Bumped version (2.0.0.svn50).
Revision
3216 -
Directory Listing
Modified
Thu May 25 15:16:28 2017 UTC
(7 years ago)
by
schoenebeck
- Fixed compilation error with some compilers.
Revision
3214 -
Directory Listing
Modified
Thu May 25 14:46:47 2017 UTC
(7 years ago)
by
schoenebeck
* NKSP: Implemented built-in script function "change_velo()".
* NKSP: Implemented built-in script function "change_note()".
* Bumped version (2.0.0.svn49).
Revision
3212 -
Directory Listing
Modified
Thu May 25 13:17:47 2017 UTC
(7 years ago)
by
schoenebeck
* NKSP: Built-in "ignore_event()" function: argument is now optional,
like with built-in function "ignore_controller()".
Revision
3207 -
Directory Listing
Modified
Thu May 25 10:53:45 2017 UTC
(7 years ago)
by
schoenebeck
* NKSP: Fixed polyphonic variables not being reset to zero
after usage.
* Bumped version (2.0.0.svn48).
Revision
3205 -
Directory Listing
Modified
Wed May 24 20:05:38 2017 UTC
(7 years ago)
by
schoenebeck
* Fixed invalid (note-on) event ID being assigned to new Note
objects.
* Fixed a bunch of scheduler time related bugs.
* Bumped version (2.0.0.svn47).
Revision
3193 -
Directory Listing
Modified
Sat May 20 12:28:57 2017 UTC
(7 years 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
3188 -
Directory Listing
Modified
Fri May 19 14:23:12 2017 UTC
(7 years, 1 month ago)
by
schoenebeck
* NKSP: Implemented built-in script function "change_vol_time()".
* NKSP: Implemented built-in script function "change_tune_time()".
* NKSP: Implemented built-in script function "fade_in()".
* NKSP: Implemented built-in script function "fade_out()".
* NKSP: Fixed acceptance of wrong data type of parameters passed to
built-in script functions "change_vol()", "change_tune()",
"change_pan()", "change_cutoff()", "change_reso()",
"change_attack()", "change_decay()", "change_release()",
"change_amp_lfo_depth()", "change_amp_lfo_freq()",
"change_pitch_lfo_depth()" and "change_pitch_lfo_freq()".
* Bumped version (2.0.0.svn45).
Revision
3120 -
Directory Listing
Modified
Fri Apr 21 16:54:52 2017 UTC
(7 years, 1 month ago)
by
schoenebeck
- Minor override fix.
Revision
3118 -
Directory Listing
Modified
Fri Apr 21 13:33:03 2017 UTC
(7 years, 1 month 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
3102 -
Directory Listing
Modified
Sun Feb 5 19:48:54 2017 UTC
(7 years, 4 months ago)
by
schoenebeck
- Additional 'override' fixes.
Revision
3101 -
Directory Listing
Modified
Sun Feb 5 18:03:58 2017 UTC
(7 years, 4 months ago)
by
schoenebeck
* Instruments DB: Fixed undefined DB transaction behavior.
* Fixed general compiler warnings.
* Bumped version (2.0.0.svn43).
Revision
3100 -
Directory Listing
Modified
Sat Feb 4 16:53:20 2017 UTC
(7 years, 4 months ago)
by
schoenebeck
* SFZ: Fixed unintended volume fade-in of voices under certain
conditions.
* Bumped version (2.0.0.svn42).
Revision
3095 -
Directory Listing
Modified
Wed Jan 18 14:52:31 2017 UTC
(7 years, 4 months ago)
by
schoenebeck
* SFZ engine: Implemented opcode set_ccN
(initial patch by Giovanni Senatore).
* SFZ engine: print a warning if a CC related
opcode uses an invalid MIDI controller number.
* Bumped version (2.0.0.svn41).
Revision
3084 -
Directory Listing
Modified
Tue Jan 10 12:26:38 2017 UTC
(7 years, 5 months ago)
by
schoenebeck
* SFZ Engine: Just fixed a false warning about allegedly
unsupported sfz opcode "script", which is obviously not true.
* Bumped version (2.0.0.svn38).
Revision
3082 -
Directory Listing
Modified
Mon Jan 9 18:39:35 2017 UTC
(7 years, 5 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, 5 months ago)
by
schoenebeck
* NKSP: Implemented built-in script array variable "%ALL_EVENTS".
* Bumped version (2.0.0.svn35).
Revision
3072 -
Directory Listing
Modified
Wed Jan 4 15:49:52 2017 UTC
(7 years, 5 months ago)
by
schoenebeck
* Gig Engine: Fixed clicks and pumping noise with Lowpass Turbo filter
on very low cutoff settings.
* Bumped version (2.0.0.svn34).
Revision
3054 -
Directory Listing
Modified
Thu Dec 15 12:47:45 2016 UTC
(7 years, 6 months ago)
by
schoenebeck
* Fixed numerous compiler warnings.
* Bumped version (2.0.0.svn32).
Revision
3052 -
Directory Listing
Modified
Wed Dec 14 17:34:54 2016 UTC
(7 years, 6 months ago)
by
schoenebeck
- Preparations for Xcode project update.
Revision
3035 -
Directory Listing
Modified
Mon Oct 31 12:00:00 2016 UTC
(7 years, 7 months ago)
by
schoenebeck
* Check compiler for supported pragma diagnostics to avoid
compiler errors.
Revision
3034 -
Directory Listing
Modified
Mon Oct 31 00:05:00 2016 UTC
(7 years, 7 months ago)
by
schoenebeck
* Fixed a bunch of minor issues (mostly compiler warnings).
* Bumped version (2.0.0.svn31).
Revision
3018 -
Directory Listing
Modified
Wed Oct 19 17:22:28 2016 UTC
(7 years, 7 months ago)
by
schoenebeck
* Added new C++ API method
VirtualMidiDevice::SendChannelPressureToSampler().
* Bumped version (2.0.0.svn30).
Revision
3017 -
Directory Listing
Modified
Wed Oct 19 12:28:40 2016 UTC
(7 years, 7 months ago)
by
schoenebeck
* Follow-up fix regarding aftertouch handling.
* Bumped version (2.0.0.svn29).
Revision
3016 -
Directory Listing
Modified
Tue Oct 18 21:01:46 2016 UTC
(7 years, 8 months ago)
by
schoenebeck
- Follow-up of previous fix.
Revision
3015 -
Directory Listing
Modified
Tue Oct 18 20:13:08 2016 UTC
(7 years, 8 months ago)
by
schoenebeck
* gig/sf2/sfz: Fixed aftertouch channel pressure events being processed
properly and thus were ignored for certain uses.
* Bumped version (2.0.0.svn28).
Revision
2972 -
Directory Listing
Modified
Fri Jul 22 14:37:34 2016 UTC
(7 years, 10 months ago)
by
schoenebeck
* NKSP Fix: "init" event handler was not always executed when a script
was loaded.
* NKSP built-in wait() script function: abort script execution if
a negative or zero wait time was passed as argument (since this is
a common indication of a bug either of the script or even of the
engine, which could lead to RT instability or even worse).
* Bumped version (2.0.0.svn24).
Revision
2963 -
Directory Listing
Modified
Sun Jul 17 18:41:21 2016 UTC
(7 years, 11 months ago)
by
schoenebeck
* All engines: Increased ramp speed of volume smoother and pan smoother
(while slow rate of crossfade smoother is preserved) to allow quick
volume and pan changes by instrument scripts for instance.
* Bumped version (2.0.0.svn21).
Revision
2962 -
Directory Listing
Modified
Sun Jul 17 17:54:04 2016 UTC
(7 years, 11 months ago)
by
schoenebeck
* NKSP: Fixed all change_*() built-in script functions to apply their
synthesis parameter changes immediately in case the respective note
was triggered at the same time, instead of scheduling the parameter
change, especially because it would cause some parameter types's
changes either to be ramped (i.e. change_vol()) or other types even
to have not effect at all (i.e. change_attack()).
* Bumped version (2.0.0.svn20).
Revision
2953 -
Directory Listing
Modified
Sat Jul 16 11:24:39 2016 UTC
(7 years, 11 months ago)
by
schoenebeck
* NKSP: Implemented built-in script function "change_attack()".
* NKSP: Implemented built-in script function "change_decay()".
* NKSP: Implemented built-in script function "change_release()".
* Bumped version (2.0.0.svn19).
Revision
2952 -
Directory Listing
Modified
Sat Jul 16 11:19:31 2016 UTC
(7 years, 11 months ago)
by
persson
* fixed C++11 compilation error
Revision
2948 -
Directory Listing
Modified
Fri Jul 15 15:29:04 2016 UTC
(7 years, 11 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
2945 -
Directory Listing
Modified
Thu Jul 14 00:22:26 2016 UTC
(7 years, 11 months ago)
by
schoenebeck
* NKSP: Implemented built-in script function "inc()".
* NKSP: Implemented built-in script function "dec()".
* NKSP language fix: division expressions were evaluated too often.
* NKSP language fix: string concatenation operator was right
associative instead of left (to right).
* Bumped version (2.0.0.svn15).
Revision
2942 -
Directory Listing
Modified
Wed Jul 13 15:51:06 2016 UTC
(7 years, 11 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
2938 -
Directory Listing
Modified
Mon Jul 11 17:10:40 2016 UTC
(7 years, 11 months ago)
by
schoenebeck
* Fixed behavior of built-in instrument script functions play_note()
and note_off(), which must be distinguished engine internally
from "real" MIDI note on/off events in order to avoid
misbehaviors like hanging notes.
* Bumped version (2.0.0.svn13).
Revision
2935 -
Directory Listing
Modified
Sun Jul 10 14:24:13 2016 UTC
(7 years, 11 months ago)
by
schoenebeck
* NKSP: Added & implemented built-in script function "change_cutoff()".
* NKSP: Added & implemented built-in script function "change_reso()".
* NKSP: Added & implemented built-in script function "event_status()".
* NKSP: Added built-in script constants "$EVENT_STATUS_INACTIVE" and
"$EVENT_STATUS_NOTE_QUEUE" both for being used as flags for
built-in "event_status()" script function.
* NKSP language: Added support for bitwise operators ".or.", ".and."
and ".not.".
* NKSP language scanner: Fixed IDs matching to require at least one
character (i.e. when matching function names or variable names).
* NKSP language scanner: disabled unusued rules.
* Bumped version (2.0.0.svn12).
Revision
2931 -
Directory Listing
Modified
Sat Jul 9 14:38:33 2016 UTC
(7 years, 11 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
2927 -
Directory Listing
Modified
Thu Jun 30 16:44:46 2016 UTC
(7 years, 11 months ago)
by
schoenebeck
* Fix: Release trigger voices were not spawned on sustain pedal up
(CC #64) events.
* Fix: Release trigger voices can now also distinguish correctly between
note-off and sustain pedal up events.
* Bumped version (2.0.0.svn10).
Revision
2902 -
Directory Listing
Modified
Tue May 3 14:00:16 2016 UTC
(8 years, 1 month ago)
by
schoenebeck
* Reload instrument script automatically after being modified by an
instrument editor.
* Bumped version (2.0.0.svn8).
Revision
2884 -
Directory Listing
Modified
Wed Apr 20 15:22:58 2016 UTC
(8 years, 1 month ago)
by
schoenebeck
* Automake: set environment variable GCC_COLORS=auto to allow GCC to
auto detect whether it (sh/c)ould output its messages in color.
* Fixed behavior of built-in script function "ignore_event()".
* Bumped version (2.0.0.svn4).
Revision
2880 -
Directory Listing
Modified
Tue Apr 19 15:49:34 2016 UTC
(8 years, 1 month ago)
by
schoenebeck
- Fixed compile error regarding latest commit and older compilers.
Revision
2879 -
Directory Listing
Modified
Tue Apr 19 14:07:53 2016 UTC
(8 years, 1 month 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
(8 years, 2 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
2856 -
Directory Listing
Modified
Wed Jan 6 10:02:40 2016 UTC
(8 years, 5 months ago)
by
persson
* sfz engine: added support for <global>, <master> and #define (patch
by Alby M)
Revision
2837 -
Directory Listing
Modified
Sun Aug 23 06:14:00 2015 UTC
(8 years, 9 months ago)
by
persson
* fixed printf type errors (mostly in debug messages)
Revision
2687 -
Directory Listing
Modified
Sun Jan 4 17:16:05 2015 UTC
(9 years, 5 months ago)
by
schoenebeck
* Instrument editor interface: Changed instrument editor plugin interface,
providing additional informations like the EngineChannel for which the
instrument editor was spawned for. This allows the instrument editors to
interact more actively with the sampler.
* Bumped version (1.0.0.svn60).
Revision
2674 -
Directory Listing
Modified
Thu Sep 11 18:22:14 2014 UTC
(9 years, 9 months ago)
by
persson
* sfz engine: added support for float and 32 bit sample files
Revision
2673 -
Directory Listing
Modified
Sat Sep 6 18:56:02 2014 UTC
(9 years, 9 months ago)
by
persson
* gig engine: fixed behaviour of filter LFO
Revision
2672 -
Directory Listing
Modified
Sat Sep 6 13:04:01 2014 UTC
(9 years, 9 months ago)
by
schoenebeck
* Fixed MIDI program change messages being ignored if quickly executed
after each other (fixes #231).
Revision
2665 -
Directory Listing
Modified
Sun Jul 6 00:49:36 2014 UTC
(9 years, 11 months ago)
by
schoenebeck
* Another fix regarding virtual MIDI device event import.
* Bumped version (1.0.0.svn57).
Revision
2662 -
Directory Listing
Modified
Wed Jul 2 22:24:02 2014 UTC
(9 years, 11 months ago)
by
schoenebeck
* Fixed virtual MIDI device event import (which caused i.e. the
events from the virtual keyboard of gigedit to be ignored by the
sampler).
* Bumped version (1.0.0.svn56).
Revision
2659 -
Directory Listing
Modified
Sun Jun 29 19:34:28 2014 UTC
(9 years, 11 months ago)
by
schoenebeck
* Fixed crash which happened if instrument without
instrument script was loaded (fixes #227).
* Bumped version (1.0.0.svn55).
Revision
2645 -
Directory Listing
Modified
Wed Jun 18 00:14:57 2014 UTC
(10 years ago)
by
schoenebeck
* RT instrument scripts: Pass/preserve polyphonic variable data
from respective "note" event handler to "release" event handler.
* Fixed theoretical memory leak regarding instrument scripts.
* Bumped version (1.0.0.svn54).
Revision
2630 -
Directory Listing
Modified
Fri Jun 13 15:01:06 2014 UTC
(10 years 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
2629 -
Directory Listing
Modified
Thu Jun 12 18:25:11 2014 UTC
(10 years ago)
by
schoenebeck
* Implemented built-in instrument script function "note_off()".
* Bumped version (1.0.0.svn52).
Revision
2618 -
Directory Listing
Modified
Wed Jun 11 11:39:44 2014 UTC
(10 years ago)
by
schoenebeck
* Fixed execution of "init" instrument script handler.
* Fixed further crashes.
* Bumped version (1.0.0.svn50).
Revision
2614 -
Directory Listing
Modified
Tue Jun 10 17:22:48 2014 UTC
(10 years ago)
by
schoenebeck
* Fixed silence and another crash.
* Bumped version (1.0.0.svn49).
Revision
2613 -
Directory Listing
Modified
Tue Jun 10 15:17:01 2014 UTC
(10 years ago)
by
schoenebeck
* Implemented built-in script int array variable $KEY_DOWN.
* Bumped version (1.0.0.svn48).
Revision
2612 -
Directory Listing
Modified
Tue Jun 10 13:32:16 2014 UTC
(10 years ago)
by
schoenebeck
* Fixed crashes when exiting the sampler.
* Bumped version (1.0.0.svn47).
Revision
2611 -
Directory Listing
Modified
Mon Jun 9 19:20:37 2014 UTC
(10 years ago)
by
schoenebeck
* Fixed crash when loading an instrument script.
* Fixed "init" script handler only to be executed once:
when the script was loaded.
* Fixed aftertouch script event which always had value zero
and controller number was set to aftertouch value instead.
* gig Engine: Fixed handling of "smartmidi" dimension, which
was recognized as "unknown" dimension.
* Fixed script function gig_set_dim_zone(): was accessing
wrong event.
* ls_instr_script command line tool: is now not limited to
core language scripts, but can now also parse sampler format
dependent instrument scripts, with the respective specific
built-in script variables and functions.
* ScriptVM: Fixed runtime behavior of "and" and "or" binary
script expressions, which also evaluated the right hand side
of the expression even if the left hand side already failed
the overall expression semantic to become true.
* Bumped version (1.0.0.svn46).
Revision
2606 -
Directory Listing
Modified
Sun Jun 8 05:42:56 2014 UTC
(10 years ago)
by
persson
* removed usage of c++11 initializer that caused compilation errors on
older compilers
Revision
2600 -
Directory Listing
Modified
Sat Jun 7 00:16:03 2014 UTC
(10 years 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
(10 years 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
2596 -
Directory Listing
Modified
Thu Jun 5 19:39:12 2014 UTC
(10 years ago)
by
schoenebeck
* ScriptVM (WIP): Implemented execution of script event
handlers "note" and "release".
* ScriptVM (WIP): Implemented built-in script function
"play_note()" (only two of the max. four function
arguments are currently implemented yet though).
* ScriptVM (WIP): Fixed incorrect handling of
suspended scripts.
* Bumped version (1.0.0.svn43).
Revision
2595 -
Directory Listing
Modified
Thu Jun 5 12:14:53 2014 UTC
(10 years ago)
by
schoenebeck
- Fixed compiler error with GCC 4.x (seems to be a GCC bug).
Revision
2594 -
Directory Listing
Modified
Thu Jun 5 00:16:25 2014 UTC
(10 years ago)
by
schoenebeck
* ScriptVM (WIP): started to integrate real-time instrument script
support into the sampler engine implementations. The code is
shared among all sampler engines, however currently only the gig
file format supports storing instrument scripts (as LinuxSampler
extension to the original GigaStudio 4 file format).
* gig engine: Added support for loading instrument scripts from .gig
files.
* ScriptVM (WIP): Implemented built-in script variables %CC, $CC_NUM,
$EVENT_NOTE, $EVENT_VELOCITY, $VCC_MONO_AT, $VCC_PITCH_BEND.
* ScriptVM (WIP): Implemented execution of script event handler "init".
* ScriptVM (WIP): Implemented execution of script event handler
"controller".
* Bumped version (1.0.0.svn42).
Revision
2565 -
Directory Listing
Modified
Tue May 20 12:21:39 2014 UTC
(10 years, 1 month ago)
by
schoenebeck
* Giga format: Fixed crash that happened with velocity split sounds
under certain conditions (see also previous commit on libgig).
* Bumped version to 1.0.0.svn40.
Revision
2559 -
Directory Listing
Modified
Sun May 18 17:38:25 2014 UTC
(10 years, 1 month ago)
by
schoenebeck
* Aftertouch: extended API to explicitly handle channel pressure and
polyphonic key pressure events (so far polyphonic pressure was not
supported at all, and channel pressure was rerouted as CC128 but not
used so far).
* Gig Engine: Fixed support for 'aftertouch' attenuation controller.
* Bumped version (1.0.0.svn39).
Revision
2533 -
Directory Listing
Modified
Sat Mar 8 09:04:42 2014 UTC
(10 years, 3 months ago)
by
persson
* sfz parser bugfix: generation of velocity curves etc should not be
done after each "#include", only after the main file is parsed
* sfz parser bugfix: line numbers in error messages were wrong after
"#include"
* disabled build of LSCP shell on windows
Revision
2529 -
Directory Listing
Modified
Tue Mar 4 20:41:47 2014 UTC
(10 years, 3 months 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
2521 -
Directory Listing
Modified
Wed Feb 19 19:02:43 2014 UTC
(10 years, 3 months ago)
by
schoenebeck
* VirtualMidiDevice: implemented support for program change, bank select
and pitch bend.
* Bumped version (1.0.0.svn32).
Revision
2506 -
Directory Listing
Modified
Sun Jan 12 11:27:05 2014 UTC
(10 years, 5 months ago)
by
schoenebeck
* Bugfix: only process the latest MIDI program change event.
Revision
2500 -
Directory Listing
Modified
Fri Jan 10 12:20:05 2014 UTC
(10 years, 5 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
2494 -
Directory Listing
Modified
Wed Jan 1 17:48:01 2014 UTC
(10 years, 5 months ago)
by
schoenebeck
* Enabled automatic svn "Revision" macro expansion on certain files.
* Bumped version to 1.0.0.svn24.
Revision
2460 -
Directory Listing
Modified
Sun Aug 18 14:20:53 2013 UTC
(10 years, 10 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
2448 -
Directory Listing
Modified
Fri May 3 14:26:32 2013 UTC
(11 years, 1 month 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, 3 months 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, 3 months 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, 3 months ago)
by
persson
* removed usage of deprecated Automake variable INCLUDES
* ASIO driver: removed compiler warnings
Revision
2410 -
Directory Listing
Modified
Sat Feb 2 18:52:15 2013 UTC
(11 years, 4 months ago)
by
schoenebeck
* Several fixes in JACK audio driver:
- React on sample rate changes.
- React on buffer size changes.
- jack_port_get_buffer() was cached and called
outside RT context.
Revision
2408 -
Directory Listing
Modified
Sat Feb 2 08:22:49 2013 UTC
(11 years, 4 months ago)
by
persson
* gig engine: fixed EG1 modulation when attack or release is zero
Revision
2403 -
Directory Listing
Modified
Sun Jan 20 19:01:53 2013 UTC
(11 years, 4 months ago)
by
persson
* sfz parser bugfix: lines starting with whitespace were ignored
* sfz engine: added amplitude opcode
Revision
2399 -
Directory Listing
Modified
Sun Jan 13 17:22:23 2013 UTC
(11 years, 5 months ago)
by
persson
* sfz engine: added FLAC support (#191)
Revision
2396 -
Directory Listing
Modified
Tue Jan 8 12:00:45 2013 UTC
(11 years, 5 months ago)
by
schoenebeck
* Exclusive Groups: don't ever stop voices of the same note,
doesn't sound naturally with a drumkit.
Revision
2390 -
Directory Listing
Modified
Sat Jan 5 12:31:05 2013 UTC
(11 years, 5 months ago)
by
persson
* fixed compilation with Clang 3.2
Revision
2382 -
Directory Listing
Modified
Sun Dec 2 16:30:42 2012 UTC
(11 years, 6 months ago)
by
persson
* all engines: add pan CC value to instrument pan parameter before
applying panning, instead of using two separate pan functions in
series (#182)
* sfz parser: allow -200 to 200 for pan_oncc opcode (#182)
* gig engine: handle special case when pan parameter in gig file has
max or min value
* CoreMIDI: fixed memory deallocation error
Revision
2377 -
Directory Listing
Modified
Thu Oct 4 18:16:26 2012 UTC
(11 years, 8 months ago)
by
schoenebeck
* Various "const" and "restrict" optimizations.
Revision
2376 -
Directory Listing
Modified
Thu Oct 4 18:09:26 2012 UTC
(11 years, 8 months ago)
by
schoenebeck
- don't use printf() for error messages
Revision
2375 -
Directory Listing
Modified
Thu Oct 4 17:45:22 2012 UTC
(11 years, 8 months ago)
by
schoenebeck
* Added new C++ API method Sampler::GetGlobalMaxVoices().
* Added new C++ API method Sampler::GetGlobalMaxStreams().
* Added new C++ API method Sampler::SetGlobalMaxVoices().
* Added new C++ API method Sampler::SetGlobalMaxStreams().
* CoreMIDI: remove ports that disappeared on the OS from
the internal list of port bindings
* Fixed erroneous piping of error message in
src/engines/common/VoiceBase.h (labelled "Disk stream not
available in time").
Revision
2361 -
Directory Listing
Modified
Sun Aug 26 07:31:12 2012 UTC
(11 years, 9 months ago)
by
persson
* sfz engine: fixed crash when using lochan/hichan opcodes (#187)
Revision
2354 -
Directory Listing
Modified
Sun Jul 8 10:29:07 2012 UTC
(11 years, 11 months ago)
by
persson
* DSSI bugfix: it wasn't possible to change engine type. The MIDI port
and audio channel routing for DSSI plugins are now visible.
Revision
2352 -
Directory Listing
Modified
Sun Jun 24 16:11:31 2012 UTC
(11 years, 11 months ago)
by
persson
* fixed crash when a channel received a program change while playing a
note in a key group
Revision
2351 -
Directory Listing
Modified
Sat Jun 23 11:02:48 2012 UTC
(11 years, 11 months ago)
by
persson
* Mac OS X: fixed process hang when unloading 32-bit plugin (bug
introduced in previous fix)
Revision
2349 -
Directory Listing
Modified
Sun Jun 17 15:47:43 2012 UTC
(12 years ago)
by
persson
* Mac OS X: fixed crash when unloading plugin on 10.7 and later
Revision
2335 -
Directory Listing
Modified
Sat Mar 17 06:19:01 2012 UTC
(12 years, 3 months ago)
by
persson
* fixed compilation with gcc 4.7
Revision
2330 -
Directory Listing
Modified
Mon Mar 12 15:14:31 2012 UTC
(12 years, 3 months ago)
by
schoenebeck
* Introduced new C++ API method EngineChannel::InstrumentFileName(int index)
allowing to retrieve the whole list of files used for the loaded
instrument on an engine channel (a.k.a. part). Some GigaStudio instruments
for example are splitted over several files like "Foo.gig", "Foo.gx01",
"Foo.gx02", ...
* Bumped version to 1.0.0.svn18
Revision
2328 -
Directory Listing
Modified
Sat Mar 10 16:23:19 2012 UTC
(12 years, 3 months ago)
by
persson
- forgot one file in previous commit
Revision
2327 -
Directory Listing
Modified
Sat Mar 10 16:16:14 2012 UTC
(12 years, 3 months ago)
by
persson
* sfz/sf2 engine: fixed crash when using small audio fragment size
Revision
2326 -
Directory Listing
Modified
Thu Mar 8 19:40:14 2012 UTC
(12 years, 3 months ago)
by
persson
* bugfix: instrument loading crashed for sfz and sf2 in Ardour (#176)
* more thread safety fixes for the instrument loading thread
Revision
2324 -
Directory Listing
Modified
Sun Mar 4 09:01:32 2012 UTC
(12 years, 3 months 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
2322 -
Directory Listing
Modified
Sun Feb 26 09:09:19 2012 UTC
(12 years, 3 months ago)
by
iliev
* bugfix: voice stealing didn't work for SFZ and SF2 engines
Revision
2317 -
Directory Listing
Modified
Sun Feb 19 12:13:19 2012 UTC
(12 years, 4 months ago)
by
persson
* sfz engine bugfix: looping was disabled if loop_start was set to 0
* sfz engine: allow regions with end=-1 to turn off other regions
using the group and off_by opcodes (#168)
* sfz engine: made end=0 play the whole sample
* sfz engine: fixed support for lochan and hichan opcodes (#155)
* bumped version to 1.0.0.svn17
Revision
2316 -
Directory Listing
Modified
Sat Feb 18 13:51:38 2012 UTC
(12 years, 4 months ago)
by
persson
* VST bugfix: instrument loading hang and crashed the host when the
plugin was loaded a second time (#174)
Revision
2315 -
Directory Listing
Modified
Fri Feb 17 19:55:33 2012 UTC
(12 years, 4 months ago)
by
persson
* sfz engine bugfix: only the first amp_veltrack definition in a file
was used
Revision
2311 -
Directory Listing
Modified
Sat Feb 11 11:08:09 2012 UTC
(12 years, 4 months ago)
by
persson
* more LV2 "state" extension support fixes (patch by David Robillard)
* sfz parser: allow double spaces in sample filenames
* sfz parser: allow absolute paths for sample filenames
* MME driver: fixed memory handling bug found with cppcheck
* sfz/sf2 engines: use linear decay and release for filter and pitch
envelope generators
Revision
2309 -
Directory Listing
Modified
Mon Jan 30 10:40:19 2012 UTC
(12 years, 4 months ago)
by
iliev
* fixed bug #162
Revision
2300 -
Directory Listing
Modified
Mon Dec 12 09:20:00 2011 UTC
(12 years, 6 months ago)
by
iliev
* implemented opcodes eq1_vel2freq, eq2_vel2freq,
eq3_vel2freq, eq1_vel2gain, eq2_vel2gain, eq3_vel2gain
Revision
2299 -
Directory Listing
Modified
Sun Dec 11 20:50:31 2011 UTC
(12 years, 6 months ago)
by
iliev
* implemented opcodes egN_eq1gain, egN_eq2gain, egN_eq3gain,
egN_eq1gain_onccX, egN_eq2gain_onccX, egN_eq3gain_onccX, egN_eq1freq,
egN_eq2freq, egN_eq3freq, egN_eq1freq_onccX, egN_eq2freq_onccX,
egN_eq3freq_onccX, egN_eq1bw, egN_eq2bw, egN_eq3bw, egN_eq1bw_onccX,
egN_eq2bw_onccX, egN_eq3bw_onccX, lfoN_eq1gain, lfoN_eq2gain,
lfoN_eq3gain, lfoN_eq1gain_onccX, lfoN_eq2gain_onccX, lfoN_eq3gain_onccX,
lfoN_eq1gain_smoothccX, lfoN_eq2gain_smoothccX, lfoN_eq3gain_smoothccX,
lfoN_eq1gain_stepccX, lfoN_eq2gain_stepccX, lfoN_eq3gain_stepccX,
lfoN_eq1freq, lfoN_eq2freq, lfoN_eq3freq, lfoN_eq1freq_onccX,
lfoN_eq2freq_onccX, lfoN_eq3freq_onccX, lfoN_eq1freq_smoothccX,
lfoN_eq2freq_smoothccX, lfoN_eq3freq_smoothccX, lfoN_eq1freq_stepccX,
lfoN_eq2freq_stepccX, lfoN_eq3freq_stepccX, lfoN_eq1bw, lfoN_eq2bw,
lfoN_eq3bw, lfoN_eq1bw_onccX, lfoN_eq2bw_onccX, lfoN_eq3bw_onccX,
lfoN_eq1bw_smoothccX, lfoN_eq2bw_smoothccX, lfoN_eq3bw_smoothccX,
lfoN_eq1bw_stepccX, lfoN_eq2bw_stepccX, lfoN_eq3bw_stepccX
Revision
2298 -
Directory Listing
Modified
Fri Dec 9 17:04:24 2011 UTC
(12 years, 6 months ago)
by
iliev
* use different EQ effect instance for every voice
Revision
2297 -
Directory Listing
Modified
Fri Dec 9 15:04:55 2011 UTC
(12 years, 6 months ago)
by
iliev
* implemented opcodes delay, delay_onccN, delay_random,
delay_samples, delay_samples_onccN
Revision
2296 -
Directory Listing
Modified
Thu Dec 8 20:03:47 2011 UTC
(12 years, 6 months ago)
by
iliev
* fixed crash when trying to create an effect instance with controls
which min and/or max values depend on the sample rate
* experimental support for per voice equalization (work in progress)
* sfz engine: implemented opcodes eq1_freq, eq2_freq, eq3_freq,
eq1_freqccN, eq2_freqccN, eq3_freqccN, eq1_bw, eq2_bw, eq3_bw,
eq1_bwccN, eq2_bwccN, eq3_bwccN, eq1_gain, eq2_gain, eq3_gain,
eq1_gainccN, eq2_gainccN, eq3_gainccN
Revision
2291 -
Directory Listing
Modified
Thu Nov 24 17:00:29 2011 UTC
(12 years, 6 months ago)
by
capela
* LV2 State extension;
replaces LV2 Persist and LV2 Files extensions (patch by David Robilard).
Revision
2277 -
Directory Listing
Modified
Sat Oct 1 08:23:02 2011 UTC
(12 years, 8 months ago)
by
persson
* fixed handling of rapid bank select and program change messages sent
to the same sampler channel (patch from the Open Octave project,
slightly adjusted)
Revision
2275 -
Directory Listing
Modified
Mon Sep 19 21:48:45 2011 UTC
(12 years, 9 months ago)
by
schoenebeck
* Bugfix: When creating MIDI instrument map entries with "PERSISTENT"
type, the instruments were uselessly precached with zero samples,
however it still took the full preloading time and on 1st program
change the respective instrument was completely reloaded again.
* Bumped version to 1.0.0.svn15
Revision
2265 -
Directory Listing
Modified
Mon Aug 22 12:22:34 2011 UTC
(12 years, 9 months ago)
by
iliev
* sfz engine: implemented opcodes volume_stepccN, pan_stepccN,
cutoff_stepccN, resonance_stepccN, lfoN_freq_stepccX,
lfoN_volume_stepccX, lfoN_pitch_stepccX, lfoN_pan_stepccX,
lfoN_cutoff_stepccX, lfoN_resonance_stepccX
Revision
2264 -
Directory Listing
Modified
Mon Aug 22 10:00:01 2011 UTC
(12 years, 9 months ago)
by
iliev
* sfz engine: implemented opcodes pitch_onccN,
pitch_curveccN, pitch_smoothccN, pitch_stepccN
Revision
2253 -
Directory Listing
Modified
Sat Aug 20 15:54:07 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes fillfo_depthchanaft,
fillfo_freqchanaft, amplfo_depthchanaft, amplfo_freqchanaft,
pitchlfo_depthchanaft, pitchlfo_freqchanaft
Revision
2252 -
Directory Listing
Modified
Sat Aug 20 14:01:36 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes resonance_onccN, resonance_smoothccN,
resonance_curveccN, cutoff_smoothccN, cutoff_curveccN
Revision
2251 -
Directory Listing
Modified
Sat Aug 20 10:38:31 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: *lfo_freqccN wasn't working when the respective *lfo_freq
was not set or was set to zero
* sfz engine: lfoN_freq_onccX wasn't working when lfoN_freq
was not set or was set to zero
Revision
2250 -
Directory Listing
Modified
Sat Aug 20 07:39:49 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented automatic aliasing *ccN <-> *_onccN
Revision
2249 -
Directory Listing
Modified
Fri Aug 19 18:29:29 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes fileg_delay_onccN,
fileg_start_onccN, fileg_attack_onccN, fileg_hold_onccN,
fileg_decay_onccN, fileg_sustain_onccN, fileg_release_onccN,
fileg_depth_onccN, pitcheg_delay_onccN, pitcheg_start_onccN,
pitcheg_attack_onccN, pitcheg_hold_onccN, pitcheg_decay_onccN,
pitcheg_sustain_onccN, pitcheg_release_onccN, pitcheg_depth_onccN
Revision
2248 -
Directory Listing
Modified
Fri Aug 19 15:51:18 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes amplfo_delay_onccN,
amplfo_fade_onccN, fillfo_delay_onccN, fillfo_fade_onccN,
pitchlfo_delay_onccN, pitchlfo_fade_onccN
Revision
2244 -
Directory Listing
Modified
Thu Aug 18 11:32:33 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: use common pool of CC objects to minimize RAM usage
Revision
2238 -
Directory Listing
Modified
Fri Aug 12 17:30:47 2011 UTC
(12 years, 10 months ago)
by
iliev
* bugfix: sfz engine was using enormous amount of memory
* bumped version to 1.0.0.cvs14
Revision
2237 -
Directory Listing
Modified
Fri Aug 12 13:07:05 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes pan_onccN, pan_smoothccN,
pan_curveccN, egN_pan, egN_pan_curve, egN_pan_onccX,
egN_pan_curveccX, pitch_veltrack
* sfz engine: when failed to parse a sfz file
print the line number on which the error occurs
Revision
2236 -
Directory Listing
Modified
Thu Aug 11 18:25:45 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes xfin_lokey, xfin_hikey,
xfout_lokey, xfout_hikey, xf_keycurve, xfin_lovel, xfin_hivel,
xfout_lovel, xfout_hivel, xf_velcurve, xfin_loccN, xfin_hiccN,
xfout_loccN, xfout_hiccN, xf_cccurve
Revision
2235 -
Directory Listing
Modified
Wed Aug 10 19:40:39 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes egN_amplitude_onccX,
egN_volume, egN_volume_onccX, egN_cutoff, egN_cutoff_onccX,
egN_pitch, egN_pitch_onccX, egN_resonance, egN_resonance_onccX
Revision
2234 -
Directory Listing
Modified
Tue Aug 9 18:27:58 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcode end
Revision
2233 -
Directory Listing
Modified
Mon Aug 8 18:46:19 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes fillfo_depthccN, amplfo_depthccN,
lfoN_volume, lfoN_volume_onccX, lfoN_volume_smoothccX,
lfoN_freq_smoothccX, lfoN_pitch_smoothccX, lfoN_pan_onccX,
lfoN_pan_smoothccX, lfoN_cutoff_onccX, lfoN_cutoff_smoothccX,
lfoN_resonance_onccX, lfoN_resonance_smoothccX, lfoN_delay_onccX
Revision
2232 -
Directory Listing
Modified
Mon Aug 8 13:40:04 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcode volume_smoothccN
Revision
2231 -
Directory Listing
Modified
Sun Aug 7 14:27:24 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: some group opcodes were not reset on next group
Revision
2230 -
Directory Listing
Modified
Fri Aug 5 17:59:10 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented curves
* sfz engine: implemented opcodes volume_onccN, volume_curveccN
Revision
2229 -
Directory Listing
Modified
Thu Aug 4 19:02:36 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes ampeg_delayccN, ampeg_startccN,
ampeg_attackccN, ampeg_holdccN, ampeg_decayccN, ampeg_sustainccN,
ampeg_releaseccN, egN_timeX_onccY, egN_levelX_onccY
* sfz engine: lfoN_* and egN_* opcodes defined
in group sections are now taken into account
Revision
2227 -
Directory Listing
Modified
Wed Aug 3 17:11:40 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes fillfo_freqccN,
pitchlfo_freqccN, amplfo_freqccN, lfoN_freq_onccX
Revision
2226 -
Directory Listing
Modified
Wed Aug 3 09:12:09 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes pitchlfo_fade,
fillfo_fade, amplfo_fade, lfoN_fade, lfoN_fade_onccX
Revision
2225 -
Directory Listing
Modified
Tue Aug 2 13:44:57 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes lfoN_phase, lfoN_phase_onccX,
lfoN_pitch, lfoN_pitch_onccX
Revision
2224 -
Directory Listing
Modified
Mon Aug 1 19:08:09 2011 UTC
(12 years, 10 months ago)
by
iliev
* implemented opcode pitchlfo_depthccN
Revision
2223 -
Directory Listing
Modified
Fri Jul 29 13:39:58 2011 UTC
(12 years, 10 months ago)
by
iliev
* implemented sine LFO, pulse LFO and saw LFO
* sfz engine: implemented opcode lfoN_wave
Revision
2222 -
Directory Listing
Modified
Thu Jul 28 18:24:12 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes fileg_delay, fileg_start, fileg_attack,
fileg_hold, fileg_decay, fileg_sustain, fileg_release, fileg_vel2delay,
fileg_vel2attack, fileg_vel2hold, fileg_vel2decay, fileg_vel2sustain,
fileg_vel2release
* bumped version to 1.0.0.cvs13
Revision
2221 -
Directory Listing
Modified
Thu Jul 28 17:17:42 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes pitchlfo_delay, pitchlfo_freq,
pitchlfo_depth, fillfo_delay, fillfo_freq, fillfo_depth,
amplfo_delay, amplfo_freq, amplfo_depth
Revision
2220 -
Directory Listing
Modified
Thu Jul 28 15:47:51 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes ampeg_delay, ampeg_vel2delay
pitcheg_delay, pitcheg_start, pitcheg_attack, pitcheg_hold,
pitcheg_decay, pitcheg_sustain, pitcheg_release, pitcheg_vel2delay,
pitcheg_vel2attack, pitcheg_vel2hold, pitcheg_vel2decay,
pitcheg_vel2sustain, pitcheg_vel2release, pitcheg_depth
Revision
2219 -
Directory Listing
Modified
Thu Jul 28 12:35:49 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: implemented opcodes lfoN_delay,
lfoN_freq, lfoN_pan, lfoN_cutoff, lfoN_resonance
Revision
2218 -
Directory Listing
Modified
Thu Jul 28 08:05:57 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz engine: use the newly introduced signal units model
Revision
2217 -
Directory Listing
Modified
Tue Jul 26 15:51:30 2011 UTC
(12 years, 10 months ago)
by
iliev
* removed helper classes SignalUnitBase,
EndpointSignalUnitBase, SignalUnitRackBase
* clean up sf2::Voice
* bumped version to 1.0.0.cvs12
Revision
2216 -
Directory Listing
Modified
Mon Jul 25 17:21:16 2011 UTC
(12 years, 10 months ago)
by
iliev
* sfz: added support for sample offset (offset)
Revision
2207 -
Directory Listing
Modified
Fri Jul 15 15:43:49 2011 UTC
(12 years, 11 months ago)
by
iliev
* simplified the signal unit model
* sf2: initial implementation of modulation LFO and cutoff filter
Revision
2205 -
Directory Listing
Modified
Mon Jul 11 17:52:01 2011 UTC
(12 years, 11 months ago)
by
iliev
* Introduced Signal Units and Signal Unit Racks, which hopefully will meet
the demands of the new engines for flexible signal processing.
* sf2: Initial implementation of vibrato LFO, fixes in modulation EG and
and volume EG (work in progress)
Revision
2203 -
Directory Listing
Modified
Sat Jul 9 16:44:27 2011 UTC
(12 years, 11 months ago)
by
persson
* sf2 engine: fine-tuned amplitude EG (by switching from gig to sfz EG)
* sfz engine: added support for EG hold (ampeg_hold)
* Mac OS X: made it possible to specify plugin installation dir to
configure
Revision
2198 -
Directory Listing
Modified
Sun Jul 3 18:06:51 2011 UTC
(12 years, 11 months ago)
by
iliev
* bugfix: LSCP command "REMOVE FX_SEND EFFECT" was broken
* fixed a bug in FxSend::SetDestinationEffect
* bugfix: parent was not set when effect instance is appended
* bugfix: was able to remove effect chain while FX send is connected to it
* bugfix: was able to remove effect instance from effect chain while
FX send is connected to that instance
Revision
2188 -
Directory Listing
Modified
Fri Jun 24 19:39:11 2011 UTC
(12 years, 11 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
2187 -
Directory Listing
Modified
Sun Jun 19 18:54:11 2011 UTC
(13 years ago)
by
persson
* Windows: disabled the previous thread fix on non-Mac systems, as it
caused hanging threads on Windows
Revision
2185 -
Directory Listing
Modified
Sun Jun 19 09:09:38 2011 UTC
(13 years 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
2176 -
Directory Listing
Modified
Sun May 1 15:19:38 2011 UTC
(13 years, 1 month ago)
by
persson
* sfz engine: added support for velocity effect on amplifier envelope
time (ampeg_vel2attack, ampeg_vel2decay, ampeg_vel2sustain and
ampeg_vel2release)
Revision
2175 -
Directory Listing
Modified
Mon Apr 25 08:12:36 2011 UTC
(13 years, 1 month ago)
by
persson
* sfz engine: implemeted filters. Filter types: lowpass, bandpass,
bandreject and highpass. 1, 2, 4 and 6 pole filters. Opcodes:
fil_type, cutoff, resonance, fil_veltrack, fil_keytrack,
fil_keycenter, cutoff_cc, cutoff_chanaft.
* sfz engine: bugfix: zero ampeg_sustain didn't work
* gig engine: bugfix: pitch LFO controller "internal+aftertouch" was broken
* gig engine: bugfix: filter keyboard tracking was broken
* gig engine: filter performance fix (an unnecessary copy was made of
the filter parameters in each sub fragment)
* ASIO driver: fixes for newer gcc versions (fix from PortAudio)
Revision
2167 -
Directory Listing
Modified
Mon Feb 21 17:34:36 2011 UTC
(13 years, 3 months ago)
by
persson
* sfz engine: use loop markers from sample file if loop_start and
loop_end are not set in sfz file
Revision
2165 -
Directory Listing
Modified
Sun Feb 20 14:20:22 2011 UTC
(13 years, 3 months ago)
by
persson
* bugfix: calling SET VOICES (which Fantasia does on start and
refresh) could cause instruments to be unloaded
* plugins: save engine type (gig, sfz or sf2) in plugin state
* VST: when opening Fantasia, look for both 32 and 64 bit Java on
64 bit Windows
Revision
2162 -
Directory Listing
Modified
Tue Feb 8 18:22:50 2011 UTC
(13 years, 4 months ago)
by
persson
* bugfix: playing a note while changing the instrument could cause a
crash, or give "Handing back unknown region" error messages
Revision
2140 -
Directory Listing
Modified
Tue Oct 5 10:35:13 2010 UTC
(13 years, 8 months ago)
by
schoenebeck
* raised limit of program change queue from 100 to 512
(as suggested by Alex Stone)
* removed limit of maximum amount of MIDI ports per MIDI device, since
there is no reason for this limit
* minor syntax simplification regarding 2 new LSCP commands: changed
"SET FX_SEND SEND_EFFECT"" to "SET FX_SEND EFFECT" and changed
"REMOVE FX_SEND SEND_EFFECT"" to "REMOVE FX_SEND EFFECT", also changed
the respective category field of command "GET FX_SEND INFO" from
"SEND_EFFECT" to "EFFECT"
* updated LSCP specification document
* bumped version to 1.0.0.cvs10
Revision
2137 -
Directory Listing
Modified
Mon Oct 4 12:20:23 2010 UTC
(13 years, 8 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
2127 -
Directory Listing
Modified
Wed Sep 22 18:59:16 2010 UTC
(13 years, 8 months ago)
by
persson
* fixed crash when deleting a sampler channel or changing engine type
while an instrument load was in progress
Revision
2121 -
Directory Listing
Modified
Tue Sep 14 17:09:08 2010 UTC
(13 years, 9 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
2119 -
Directory Listing
Modified
Fri Aug 27 16:27:16 2010 UTC
(13 years, 9 months ago)
by
persson
* sfz engine: fixed playback of 16 bit wav files on big endian CPUs
* sfz engine: added support for Ogg Vorbis sample files
Revision
2115 -
Directory Listing
Modified
Thu Aug 12 15:36:15 2010 UTC
(13 years, 10 months ago)
by
persson
* sfz engine: added support for controller triggered regions
(on_locc/on_hicc)
* sfz engine: added support for loop_mode=one_shot
Revision
2114 -
Directory Listing
Modified
Tue Aug 10 12:05:19 2010 UTC
(13 years, 10 months ago)
by
persson
* sfz engine: improved support for exclusive groups (group, off_by and
off_mode)
* minor valgrind fixes
Revision
2106 -
Directory Listing
Modified
Sun Jul 4 12:50:51 2010 UTC
(13 years, 11 months ago)
by
persson
* sfz engine: optimized sample lookup
* sfz engine: fixed bug introduced in previous commit: sample lookup
returned wrong sample
Revision
2101 -
Directory Listing
Modified
Sun May 30 11:40:31 2010 UTC
(14 years ago)
by
persson
* sfz/sf2 engines: RT-safeness: avoid malloc in audio thread
* sfz/sf2 engines: fixed a bug that could cause voice stealing to fail
Revision
2091 -
Directory Listing
Modified
Sat May 15 09:02:31 2010 UTC
(14 years, 1 month ago)
by
persson
* sfz engine: reduced memory usage for sfz data
Revision
2086 -
Directory Listing
Modified
Sun Apr 25 12:51:30 2010 UTC
(14 years, 1 month 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
2082 -
Directory Listing
Modified
Sun Apr 11 10:20:24 2010 UTC
(14 years, 2 months ago)
by
persson
* sfz engine: added support for amp_veltrack and amp_velcurve_N.
Fine-tuned the default velocity curve.
Revision
2072 -
Directory Listing
Modified
Sat Mar 20 11:37:52 2010 UTC
(14 years, 3 months ago)
by
persson
* sfz engine: added support for random, seq_position, seq_length and
volume
* sfz parser: added v1 LFO opcodes (no support in engine yet)
Revision
2063 -
Directory Listing
Modified
Sun Feb 28 07:28:56 2010 UTC
(14 years, 3 months ago)
by
persson
* sfz engine: added support for off_mode=normal
Revision
2061 -
Directory Listing
Modified
Tue Feb 23 18:32:31 2010 UTC
(14 years, 3 months ago)
by
persson
* sfz engine: added support for trigger=release and rt_decay
Revision
2058 -
Directory Listing
Modified
Sun Feb 14 11:40:49 2010 UTC
(14 years, 4 months ago)
by
persson
* sfz/sf2 engines: fixed memory leak and memory handling errors
* sfz engine: added support for sw_trigger=first, sw_trigger=legato
and sw_previous
* sfz parser: allow non-numerical key values ("C#4" for example)
* sfz engine: "key" opcode now sets pitch_keycenter too
* sfz engine: fixed error when unloading instrument with same sample
used by multiple regions
* sfz parser: added some opcode aliases, like loopmode for loop_mode,
to be more compatible
Revision
2055 -
Directory Listing
Modified
Sat Jan 30 10:30:02 2010 UTC
(14 years, 4 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
2047 -
Directory Listing
Modified
Mon Jan 11 21:14:14 2010 UTC
(14 years, 5 months ago)
by
schoenebeck
* command line option '--profile' is currently disabled, since the
respective profiling code is currently broken
Revision
2045 -
Directory Listing
Modified
Sun Jan 10 13:22:19 2010 UTC
(14 years, 5 months ago)
by
persson
* VST bugfix: If the host called resume() before and after changing
sample rate or block size, the number of channels was incorrectly
set to two. This caused silence in Cubase 5.
* removed compiler warnings
Revision
2043 -
Directory Listing
Modified
Sat Jan 9 09:37:01 2010 UTC
(14 years, 5 months ago)
by
persson
* gig engine: implemented the "round robin keyboard" dimension
* gig engine: fixed round robin and random dimensions for cases when
number of dimension zones is not a power of two
* gig engine: made round robin use a counter for each region instead
of each key
* fixed building with libgig installed in a non-standard directory
Revision
2032 -
Directory Listing
Modified
Fri Nov 20 20:13:08 2009 UTC
(14 years, 6 months ago)
by
persson
* bugfix: release samples could cause loud noises
Revision
2027 -
Directory Listing
Modified
Tue Nov 3 19:27:42 2009 UTC
(14 years, 7 months ago)
by
iliev
* sfz engine: support for exclusive groups
* sf2 engine: support for exclusive groups
* sf2 engine: manage presets only
* sf2 engine: preset regions are now taken into account
Revision
2025 -
Directory Listing
Modified
Sun Nov 1 18:47:59 2009 UTC
(14 years, 7 months ago)
by
schoenebeck
* added support for sending MIDI CC messages via LSCP command
"SEND CHANNEL MIDI_DATA CC <sampler-chan> <ctrl> <val>"
Revision
2021 -
Directory Listing
Modified
Fri Oct 30 16:36:20 2009 UTC
(14 years, 7 months ago)
by
iliev
* sfz engine: loop support
* sf2 engine: 24bit support
* sf2 engine: loop support
* sf2 engine: instrument unloading
Revision
2019 -
Directory Listing
Modified
Tue Oct 27 19:36:09 2009 UTC
(14 years, 7 months ago)
by
iliev
* SFZ format engine: implemented 24 bit support
Revision
2018 -
Directory Listing
Modified
Tue Oct 27 19:04:57 2009 UTC
(14 years, 7 months ago)
by
iliev
* SFZ format engine: Implemented sfz version 1
Filter EG, Amplifier EG and Pitch EG
* use SF2 file loader from libgig
Revision
2015 -
Directory Listing
Modified
Sun Oct 25 22:22:52 2009 UTC
(14 years, 7 months ago)
by
iliev
* Refactoring: moved the independent code from gig::Voice to base classes
* SoundFont format engine: implemented EG1 & EG2
Revision
2013 -
Directory Listing
Modified
Sat Oct 24 09:07:38 2009 UTC
(14 years, 7 months ago)
by
persson
* fixed compilation error in DSSI plugin
* removed gig engine dependency in DSSI plugin
Revision
2012 -
Directory Listing
Modified
Fri Oct 23 17:53:17 2009 UTC
(14 years, 7 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
1933 -
Directory Listing
Modified
Thu Jul 9 17:37:41 2009 UTC
(14 years, 11 months ago)
by
persson
* fixed low-level ConditionServer usage bug that caused lockups on
Windows
Revision
1924 -
Directory Listing
Modified
Sun Jun 28 16:43:38 2009 UTC
(14 years, 11 months ago)
by
persson
* made program change handling in MIDI thread real-time safe by moving
the logic to a non-RT thread
Revision
1923 -
Directory Listing
Modified
Sat Jun 27 16:55:41 2009 UTC
(14 years, 11 months ago)
by
persson
* fixed crash happening when a pitch bend event arrived at the same
time a new instrument was loading
* fixed building with sqlite installed in a non-standard directory
Revision
1909 -
Directory Listing
Modified
Wed Jun 3 17:21:42 2009 UTC
(15 years ago)
by
persson
* bugfix: note off was ignored when EG was in decay stage (bug
introduced 2009-05-16)
Revision
1906 -
Directory Listing
Modified
Sat May 16 12:14:27 2009 UTC
(15 years, 1 month ago)
by
persson
* bugfix: sometimes, when playing a note twice fast, the second note
was silent
Revision
1896 -
Directory Listing
Modified
Mon May 4 18:34:44 2009 UTC
(15 years, 1 month ago)
by
persson
* bugfix: two private structs had the same name, which could cause
problems if the linker chose the wrong constructor
Revision
1895 -
Directory Listing
Modified
Sun May 3 12:15:40 2009 UTC
(15 years, 1 month 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
1893 -
Directory Listing
Modified
Sat May 2 18:57:49 2009 UTC
(15 years, 1 month ago)
by
schoenebeck
* fixed crash which occured when max. voices / streams limits were altered
while voices were still active
Revision
1879 -
Directory Listing
Modified
Sun Mar 29 18:43:40 2009 UTC
(15 years, 2 months ago)
by
schoenebeck
* atomic.h was accidently included in the liblinuxsampler C++ API header
files (fixes bug #122)
Revision
1876 -
Directory Listing
Modified
Fri Mar 27 12:16:12 2009 UTC
(15 years, 2 months ago)
by
schoenebeck
* added optional 3rd party user data parameter for following
liblinuxsampler C++ API methods: InstrumentEditor::Main(),
InstrumentEditor::Launch(), InstrumentManager::LaunchInstrumentEditor()
* minor cosmetics regarding configure script summary
* debian packaging: include DSSI and LV2 plugin binaries of the sampler
into the liblinuxsampler package
* RPM packaging: include DSSI and LV2 plugin binaries of the sampler
into the liblinuxsampler package
* bumped version to 0.5.1.12cvs
Revision
1868 -
Directory Listing
Modified
Wed Mar 18 22:16:14 2009 UTC
(15 years, 3 months ago)
by
schoenebeck
* C++ API method InstrumentManager::LaunchInstrumentEditor() now returns
a pointer to the launched InstrumentEditor object
Revision
1862 -
Directory Listing
Modified
Wed Mar 11 19:03:37 2009 UTC
(15 years, 3 months ago)
by
persson
* allow gig files to use unlimited downward pitch shifting
* added a limit check for upward pitch shifting
Revision
1860 -
Directory Listing
Modified
Wed Mar 11 18:23:35 2009 UTC
(15 years, 3 months ago)
by
schoenebeck
* added support for GS Reset SysEx message
Revision
1858 -
Directory Listing
Modified
Sun Mar 8 09:57:19 2009 UTC
(15 years, 3 months ago)
by
persson
* optimized the DSSI plugin: all plugin instances now share the same
disk streaming buffers
* added support for the "fine tune" and "pitch bend range"
instrument-level gig parameters
* fixed minor artifacts in pitch bend handling
Revision
1857 -
Directory Listing
Modified
Sat Mar 7 19:23:10 2009 UTC
(15 years, 3 months ago)
by
schoenebeck
* fixed hanging notes which occured when note-off event had the exact
same time stamp as the voice's note-on event and occured both in the
same audio fragment cycle (fixes bug #112)
* bumped version to 0.5.1.11cvs
Revision
1855 -
Directory Listing
Modified
Mon Mar 2 15:33:38 2009 UTC
(15 years, 3 months ago)
by
iliev
* fixed endless loop in Engine::SuspendAll() (bug #120)
* AU plugin, work in progress: minor fixes in the build files
Revision
1852 -
Directory Listing
Modified
Sun Mar 1 22:22:03 2009 UTC
(15 years, 3 months ago)
by
schoenebeck
* bugfix: on sample reference changes (instrument editor), only un-cache
the respective sample if it's really not used by any sampler engine
anymore
* re-cache samples in case they were changed by an instrument editor, e.g.
when a sample was added while playing (#82)
* bumped version to 0.5.1.10cvs
Revision
1850 -
Directory Listing
Modified
Sun Mar 1 16:33:22 2009 UTC
(15 years, 3 months ago)
by
persson
* fixed crash when a linuxsampler plugin is unloading
Revision
1847 -
Directory Listing
Modified
Fri Feb 27 17:12:40 2009 UTC
(15 years, 3 months ago)
by
iliev
* fixed crash when changing the audio output device of a sampler
channel with loaded instrument and start playing notes
Revision
1844 -
Directory Listing
Modified
Mon Feb 23 18:29:50 2009 UTC
(15 years, 3 months ago)
by
persson
* fixed crash when removing channel with active voices (#116)
Revision
1843 -
Directory Listing
Modified
Sat Feb 21 17:08:18 2009 UTC
(15 years, 3 months ago)
by
iliev
* fixed orphaned pointers when setting maximum voices limit (bug #118)
Revision
1835 -
Directory Listing
Modified
Mon Feb 16 17:56:50 2009 UTC
(15 years, 4 months ago)
by
iliev
* Adapted drivers/Plugin class to be used as a base class for the
AudioUnit plugin and fixed orphaned pointers when deleting PluginGlobal
* Fixed possible iterator invalidations when resetting the sampler
* Fixed memory leaks when issuing the following LSCP commands:
GET AUDIO_OUTPUT_DRIVER INFO
GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO
GET MIDI_INPUT_DRIVER INFO
GET MIDI_INPUT_DRIVER_PARAMETER INFO
* Fixed possible compilation error when sqlite is not present
Revision
1826 -
Directory Listing
Modified
Sat Jan 24 14:32:35 2009 UTC
(15 years, 4 months ago)
by
iliev
* fixed a crash which occurs when removing a sampler channel with
instrument loading in progress (bug #113)
Revision
1800 -
Directory Listing
Modified
Sun Dec 7 01:26:46 2008 UTC
(15 years, 6 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
1797 -
Directory Listing
Modified
Thu Dec 4 19:33:13 2008 UTC
(15 years, 6 months ago)
by
persson
* let the GET FILE INSTRUMENT INFO command only return keyswitch range
if keyswitching is actually used (#106)
Revision
1789 -
Directory Listing
Modified
Sat Nov 1 19:01:27 2008 UTC
(15 years, 7 months ago)
by
iliev
* notification events for stream/voice count statistics are now sent
only when there are actual changes
* use atomic_t for stream/voice count statistics
Revision
1774 -
Directory Listing
Modified
Thu Sep 11 18:11:06 2008 UTC
(15 years, 9 months ago)
by
iliev
* don't retrieve key bindings and keyswitch bindings if
the instrument is not loaded in the instrument manager
* notification events are now sent when sending MIDI
messages using SEND CHANNEL MIDI_DATA lscp command
* fixed a bug in the keyswitch bindings retrieval
Revision
1771 -
Directory Listing
Modified
Wed Sep 10 15:02:24 2008 UTC
(15 years, 9 months ago)
by
iliev
* added new LSCP command: SEND CHANNEL MIDI_DATA which can be used by
frontends to send MIDI messages to specific sampler channel
* added two additional fields to GET FILE INSTRUMENT INFO command -
KEY_BINDINGS and KEYSWITCH_BINDINGS
* InstrumentResourceManager::GetInstrumentInfo now scans the specified
instrument file only if it is not loaded in the instrument manager
Revision
1764 -
Directory Listing
Modified
Sat Sep 6 14:55:18 2008 UTC
(15 years, 9 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
1762 -
Directory Listing
Modified
Fri Aug 29 17:33:02 2008 UTC
(15 years, 9 months ago)
by
schoenebeck
* global volume sysex message can now be selected at compile time to be
only applied to the sampler channels that are connected to the respective
MIDI input port the SysEx message arrived on (by default global volume
SysEx messages apply globally to the whole sampler)
* bumped version to 0.5.1.7cvs
Revision
1761 -
Directory Listing
Modified
Fri Aug 29 15:42:06 2008 UTC
(15 years, 9 months ago)
by
iliev
* fixed a crash which occurs when removing a sampler channel waiting
to start instrument loading after another channel
Revision
1751 -
Directory Listing
Modified
Mon Jul 28 07:36:35 2008 UTC
(15 years, 10 months ago)
by
schoenebeck
* bugfix: process chromatic / drumkit mode sysex message only for
the respective engine channels that are connected to the MIDI
input port on which the message was received
Revision
1750 -
Directory Listing
Modified
Thu Jul 10 15:00:38 2008 UTC
(15 years, 11 months ago)
by
schoenebeck
* added support for chromatic / drumkit mode Roland GS Sysex message
which is usally used to switch a part between chromatic sounds and
drumkit sounds (as opposed to their common default setting of MIDI
part 10 being a drumkit part and all other ones chromatic parts), in
LS however one can switch between the first 16 MIDI instrument maps
of all ones defined for the sampler
* bumped version to 0.5.1.6cvs
Revision
1748 -
Directory Listing
Modified
Sun Jun 22 14:46:46 2008 UTC
(15 years, 11 months ago)
by
persson
* bugfix: notes triggered at position 0 in the audio buffer were
sometimes wrongly killed in the same buffer, causing no sound to be
played
* fixes for audio drivers with varying buffer sizes
* Makefile fix: JACK_CFLAGS wasn't used
* JACK driver: use jack_client_open instead of the deprecated
jack_client_new
Revision
1724 -
Directory Listing
Modified
Tue Apr 22 08:52:54 2008 UTC
(16 years, 1 month ago)
by
schoenebeck
* added support for GM global device volume SysEx message
Revision
1723 -
Directory Listing
Modified
Sun Apr 20 08:53:39 2008 UTC
(16 years, 2 months ago)
by
schoenebeck
* allow pan control of engine channels on C++ API level
* export denormals-are-zero mode feature to C++ API
Revision
1722 -
Directory Listing
Modified
Thu Apr 10 17:41:32 2008 UTC
(16 years, 2 months ago)
by
schoenebeck
* minor preparations for internal effects support
* bumped version to 0.5.1.5cvs
Revision
1715 -
Directory Listing
Modified
Tue Mar 11 15:20:46 2008 UTC
(16 years, 3 months ago)
by
schoenebeck
* dispatch bank select as ordinary CC as well, the user might seriously
want to (mis)use it for some purpose ("fixed" in all current MIDI
input drivers: ALSA, CoreMIDI, JACK, MidiShare, MME)
* minor fix: only mark FX sends as being modified if really the
respective FX send MIDI controller was used
Revision
1700 -
Directory Listing
Modified
Sun Feb 17 12:40:59 2008 UTC
(16 years, 4 months ago)
by
persson
* added partial support for the "Controller Triggered" MIDI rule,
enough for piano gigs with pedal noise samples
Revision
1686 -
Directory Listing
Modified
Thu Feb 14 14:58:50 2008 UTC
(16 years, 4 months ago)
by
schoenebeck
* added new LSCP event "CHANNEL_MIDI" which can be used by frontends to
react on MIDI data arriving on certain sampler channels (so far only
Note-On and Note-Off events are sent via this LSCP event)
* bumped LSCP compliance version to 1.4
* bumped LS version to 0.5.1.3cvs
Revision
1681 -
Directory Listing
Modified
Wed Feb 13 15:10:13 2008 UTC
(16 years, 4 months ago)
by
schoenebeck
- fixed di-harmonic triangle LFO implementation (this LFO implementation
is only used by very few systems, most pick the int math
implementation, which is usually faster)
Revision
1662 -
Directory Listing
Modified
Sun Feb 3 16:21:38 2008 UTC
(16 years, 4 months ago)
by
schoenebeck
* the promised "cleanup": rewrote virtual MIDI device's notification a bit
(using now a safe double buffer approach using "SynchronizedConfig"
instead of the Trylock() approach previously to synchronize the list of
virtual MIDI devices)
* bumped version to 0.5.1.2cvs
Revision
1659 -
Directory Listing
Modified
Sun Feb 3 00:13:27 2008 UTC
(16 years, 4 months ago)
by
schoenebeck
* added support for triggering notes by instrument editors
(still some cleanup / refactoring ahead, but it should work)
* bumped version to 0.5.1.1cvs
Revision
1653 -
Directory Listing
Modified
Wed Jan 30 01:51:46 2008 UTC
(16 years, 4 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
1649 -
Directory Listing
Modified
Fri Jan 25 15:06:02 2008 UTC
(16 years, 4 months ago)
by
nagata
* added a new config option --enable-pthread-testcancel, which uses
pthread_testcancel() instead of asynchronous canceling (needed for OSX)
Revision
1646 -
Directory Listing
Modified
Sun Jan 20 15:04:51 2008 UTC
(16 years, 5 months ago)
by
persson
* made it possible to load an instrument even if the audio thread
isn't running
Revision
1644 -
Directory Listing
Modified
Sat Jan 19 16:55:03 2008 UTC
(16 years, 5 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
1555 -
Directory Listing
Modified
Thu Dec 6 01:39:24 2007 UTC
(16 years, 6 months ago)
by
schoenebeck
- slightly changed gig engine description
Revision
1552 -
Directory Listing
Modified
Wed Dec 5 22:37:42 2007 UTC
(16 years, 6 months ago)
by
schoenebeck
* seems mingw has problems with accessing static variables from another
static (noinst) libtool library, at least it prevented it from producing
the liblinuxsampler.dll and just created a static archive
* fixed Perl script which automatically updates our LSCP spec source file
(lscp.xml), it didn't remove multi line C++ code
Revision
1536 -
Directory Listing
Modified
Mon Dec 3 16:41:17 2007 UTC
(16 years, 6 months ago)
by
schoenebeck
* added index bounds check to quite new LSCP command
"GET FILE INSTRUMENT INFO"
Revision
1525 -
Directory Listing
Modified
Sun Nov 25 17:47:46 2007 UTC
(16 years, 6 months ago)
by
schoenebeck
* LSCP: added new LSCP commands: "GET FILE INSTRUMENTS <file>",
"LIST FILE INSTRUMENTS <file>" and
"GET FILE INSTRUMENT INFO <file> <index>" for retrieving informations
about an arbitrary instrument file on the system where the sampler is
running on (LSCP specs yet to be updated!)
* bumped version to 0.5.0.1cvs
* bumped LSCP compliance to LSCP version 1.3
Revision
1502 -
Directory Listing
Modified
Wed Nov 21 07:29:52 2007 UTC
(16 years, 7 months ago)
by
senoner
* win32 port, work in progress: added autoconf checks for Windows
- win32 additions in linuxsampler.cpp
Revision
1485 -
Directory Listing
Modified
Thu Nov 15 23:35:45 2007 UTC
(16 years, 7 months ago)
by
senoner
* win32 port, work in progress:
* added MME MIDI Input driver
* Resampler.h, gig/Synthesizer.h:
* changed return type of getSample() from int to int32_t
Revision
1484 -
Directory Listing
Modified
Thu Nov 15 13:24:41 2007 UTC
(16 years, 7 months ago)
by
senoner
* Stream.h: added a missing divide by BytesPerSample in GetWriteSpace()
* since this function is currently only used in the stream's
* qsort() compare function, it did trigger any bugs
* Resampler.h, Synthesizer.h:
* cubic interpolation now works in 24bit mode too
* faster method to read 24bit words on little endian machines (x86):
* replaced 3 byte reads + shifts with a 1 unaligned 32bit read and shift
Revision
1481 -
Directory Listing
Modified
Wed Nov 14 23:42:15 2007 UTC
(16 years, 7 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
1455 -
Directory Listing
Modified
Sun Oct 21 11:59:59 2007 UTC
(16 years, 8 months ago)
by
persson
* bugfix: the thread used by an editor plugin didn't die when the
editor closed
Revision
1424 -
Directory Listing
Modified
Sun Oct 14 22:00:17 2007 UTC
(16 years, 8 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
1399 -
Directory Listing
Modified
Thu Oct 11 18:53:29 2007 UTC
(16 years, 8 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
1375 -
Directory Listing
Modified
Wed Oct 3 18:41:09 2007 UTC
(16 years, 8 months ago)
by
schoenebeck
* code refactoring, moved the following files from
src/engines/ -> src/plugins/ :
InstrumentEditor.h ,
InstrumentEditor.cpp ,
InstrumentEditorFactory.h ,
InstrumentEditorFactory.cpp
Revision
1348 -
Directory Listing
Modified
Fri Sep 14 14:45:11 2007 UTC
(16 years, 9 months ago)
by
schoenebeck
* behavior fix: on MIDI CC# 65 (portamento on / off), 126 (mono mode),
127 (solo mode) only kill voices if the respective mode really changed
Revision
1321 -
Directory Listing
Modified
Tue Sep 4 01:12:49 2007 UTC
(16 years, 9 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
1309 -
Directory Listing
Modified
Wed Aug 29 10:36:32 2007 UTC
(16 years, 9 months ago)
by
iliev
* A notification event is now sent when the
instrument loading on a sampler channel failed
Revision
1305 -
Directory Listing
Modified
Mon Aug 27 07:51:28 2007 UTC
(16 years, 9 months ago)
by
iliev
* added default min and max values to restrict the number of allowed
audio output channels and MIDI input ports
* the connection to the PCM interface is now closed when destroying
an audio output device
Revision
1298 -
Directory Listing
Modified
Fri Aug 17 12:55:37 2007 UTC
(16 years, 10 months ago)
by
iliev
* ensure that a notification event is sent when already
loaded instrument is assigned to another sampler channel
Revision
1297 -
Directory Listing
Modified
Thu Aug 16 15:55:21 2007 UTC
(16 years, 10 months ago)
by
iliev
* bugfix: the active stream/voice count statistic was incorrect
Revision
1267 -
Directory Listing
Modified
Tue Aug 7 10:34:07 2007 UTC
(16 years, 10 months ago)
by
iliev
* A notification event is now sent when altering
audio output channel on a sampler channel
Revision
1259 -
Directory Listing
Modified
Tue Jun 26 21:41:09 2007 UTC
(16 years, 11 months ago)
by
schoenebeck
* reenabled assembly features support, at the moment only for
enabling a fast denormal FPU mode (x86 platforms supporting SSE2)
* bumped version to 0.4.0.6cvs
Revision
1254 -
Directory Listing
Modified
Sun Jun 24 20:02:56 2007 UTC
(16 years, 11 months ago)
by
iliev
* A notification event is now sent when changing
the instrument map on a sampler channel
Revision
1248 -
Directory Listing
Modified
Fri Jun 22 10:10:06 2007 UTC
(16 years, 11 months ago)
by
persson
* fixed some minor memory leaks
Revision
1212 -
Directory Listing
Modified
Tue May 29 23:59:36 2007 UTC
(17 years 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
1181 -
Directory Listing
Modified
Sat May 12 16:03:00 2007 UTC
(17 years, 1 month ago)
by
schoenebeck
* fixed compiler error when --enable-override-filter-type was
supplied to the configure script (fixes #46)
Revision
1149 -
Directory Listing
Modified
Sat Apr 7 22:32:47 2007 UTC
(17 years, 2 months ago)
by
schoenebeck
* minor fix of EGDecay
* fixed compilation errors regarding OSX
(patch by Toshi Nagata)
Revision
1147 -
Directory Listing
Modified
Tue Apr 3 17:39:52 2007 UTC
(17 years, 2 months ago)
by
persson
* fixed some more EG bugs that could cause noises or crashes
Revision
1135 -
Directory Listing
Modified
Thu Mar 29 09:40:45 2007 UTC
(17 years, 2 months ago)
by
iliev
* Added new LSCP command - SET FX_SEND NAME
* The default map is now the first available map
Revision
1130 -
Directory Listing
Modified
Sun Mar 25 18:59:14 2007 UTC
(17 years, 2 months ago)
by
iliev
* Implemented new, improved notification system
Revision
1108 -
Directory Listing
Modified
Thu Mar 22 20:39:04 2007 UTC
(17 years, 3 months ago)
by
iliev
* Added new notification events for tracking
effect send changes and global volume changes
Revision
1046 -
Directory Listing
Modified
Sat Feb 10 12:00:55 2007 UTC
(17 years, 4 months ago)
by
persson
* EG fine tuning: when attack is zero the EG starts at a level above
max sustain level, which means that there is a decay phase even if
sustain is 100%
Revision
1044 -
Directory Listing
Modified
Wed Feb 7 21:51:19 2007 UTC
(17 years, 4 months ago)
by
schoenebeck
- small fix regarding previously added MIDI RPN controller handling
(all subsequent CC #6 messages were misinterpreted as being
values for the previously selected RPN controller)
Revision
1043 -
Directory Listing
Modified
Wed Feb 7 21:02:04 2007 UTC
(17 years, 4 months ago)
by
schoenebeck
* for now just set all notes off when receiving a MIDI coarse tuning
message to prevent hanging notes when transposing while playing
Revision
1041 -
Directory Listing
Modified
Wed Feb 7 17:45:19 2007 UTC
(17 years, 4 months ago)
by
schoenebeck
* handle MIDI coarse tuning messages (MIDI RPN #0 MSB, #2 LSB),
currently lazy implementation, transpose value is simply added on the
note on/off values instead only at the mandatory places, thus when
altering transpose while playing, voices can unintendedly survive
Revision
1040 -
Directory Listing
Modified
Wed Feb 7 15:41:31 2007 UTC
(17 years, 4 months 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
1039 -
Directory Listing
Modified
Sat Feb 3 20:46:44 2007 UTC
(17 years, 4 months ago)
by
persson
* EG fix: a release value of zero could cause noises or crash
* fix of previous thread safety fix, which in some cases locked the
engine
Revision
1038 -
Directory Listing
Modified
Sat Feb 3 15:33:00 2007 UTC
(17 years, 4 months 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
1037 -
Directory Listing
Modified
Tue Jan 23 20:03:22 2007 UTC
(17 years, 4 months ago)
by
schoenebeck
* bugfix regarding FX Sends: when more than one sampler channel used FX
sends, only the audio signal of the last sampler channel made it into the
final output signal
* fixed small autoconf compilation issue on certain systems (complained
about missing AM_PATH_ARTS macro)
Revision
1026 -
Directory Listing
Modified
Sun Jan 14 17:10:59 2007 UTC
(17 years, 5 months ago)
by
schoenebeck
* extended response of LSCP command "GET FX_SEND INFO" to return the FX
Send's MIDI controller and current send level and added two new LSCP
commands "SET FX_SEND MIDI_CONTROLLER" and "SET FX_SEND LEVEL"
respectively
Revision
1017 -
Directory Listing
Modified
Tue Jan 9 23:51:32 2007 UTC
(17 years, 5 months ago)
by
schoenebeck
* create IDs for FX Send entities in a logical sequence on a per sampler
channel basis
Revision
1012 -
Directory Listing
Modified
Sun Jan 7 15:52:36 2007 UTC
(17 years, 5 months ago)
by
capela
* Fixed a memory leak due to EngineFactory::Destroy() not doing it
as an actual destructor and just removing the engine instance from
factory stock and all instances allocated via EngineFactory::Create()
never got delete'd and thus their destructors never called. This bug
was evident while having many mapped instruments and querying the
instrument status via GET MIDI_INSTRUMENT INFO command, eating up
system memory very quickly and never let it go.
Revision
1010 -
Directory Listing
Modified
Sat Jan 6 11:02:58 2007 UTC
(17 years, 5 months ago)
by
persson
- fixed handling of MIDI volume change
Revision
1005 -
Directory Listing
Modified
Fri Dec 29 20:06:14 2006 UTC
(17 years, 5 months ago)
by
schoenebeck
* global volume can now be altered at runtime
(added two new LSCP commands for this, LSCP specs updated)
Revision
1001 -
Directory Listing
Modified
Wed Dec 27 16:17:08 2006 UTC
(17 years, 5 months ago)
by
schoenebeck
* implemented effect sends (also added new LSCP commands for this feature,
updated LSCP spec document along with this commit batch as well)
Revision
989 -
Directory Listing
Modified
Tue Dec 19 19:34:08 2006 UTC
(17 years, 6 months ago)
by
schoenebeck
* bugfix: sampler was limited to load max. 200 instruments in the
background (replaced RingBuffer FIFO by a std::list FIFO)
Revision
973 -
Directory Listing
Modified
Fri Dec 15 21:40:27 2006 UTC
(17 years, 6 months ago)
by
schoenebeck
* revised and extended MIDI instrument mapping feature to allow managing
arbitrary amount of maps and assigning each sampler channel individually
to one map (this commit batch includes LSCP spec document update and
respective implementation on LS side)
Revision
970 -
Directory Listing
Modified
Wed Dec 6 22:28:17 2006 UTC
(17 years, 6 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, 6 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
950 -
Directory Listing
Modified
Tue Nov 28 20:09:48 2006 UTC
(17 years, 6 months ago)
by
persson
* if a filter is used and EG2 finishes before EG1, let the voice die
when EG2 has finished (this fixes a problem with clicks and voice
starvation for some gigs)
Revision
947 -
Directory Listing
Modified
Mon Nov 27 21:34:55 2006 UTC
(17 years, 6 months ago)
by
schoenebeck
* implemented MIDI instrument mapping according to latest LSCP draft
Revision
924 -
Directory Listing
Modified
Sat Oct 21 14:13:09 2006 UTC
(17 years, 8 months ago)
by
schoenebeck
just minor code comment update
Revision
922 -
Directory Listing
Modified
Mon Oct 2 18:40:10 2006 UTC
(17 years, 8 months ago)
by
persson
* small fix of LFO1 behaviour (dampening from max volume instead of
amplifying from 0)
* added checks for bad MIDI data
Revision
908 -
Directory Listing
Modified
Fri Jul 28 21:47:23 2006 UTC
(17 years, 10 months ago)
by
iliev
* The engine names are again encapsulated
into apostrophes as is said in the specification
Revision
906 -
Directory Listing
Modified
Sun Jul 23 16:44:08 2006 UTC
(17 years, 10 months ago)
by
schoenebeck
* MIDI driver API extension for MIDI drivers which already supply exact
time stamps for events (i.e. for offline rendering based MIDI drivers)
Revision
903 -
Directory Listing
Modified
Sat Jul 22 14:22:53 2006 UTC
(17 years, 11 months ago)
by
persson
* real support for 24 bit samples - samples are not truncated to 16
bits anymore
* support for aftertouch (channel pressure, not polyphonic aftertouch)
Revision
900 -
Directory Listing
Modified
Wed Jul 5 17:53:22 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
* src/Sampler.h, src/Sampler.cpp: allow 3rd party applications to
retrieve available drivers and sampler engines
* src/linuxsampler.cpp: show available engines on startup (on the console)
Revision
899 -
Directory Listing
Modified
Wed Jul 5 17:43:48 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
just added API doc
Revision
890 -
Directory Listing
Modified
Sat Jul 1 13:43:04 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
just some refactoring work, moved the following files:
- src/engines/common/Engine.h -> src/engines/Engine.h,
- src/engines/common/EngineChannel.h ->
src/engines/EngineChannel.h,
- src/engines/common/EngineChannel.cpp ->
src/engines/EngineChannel.cpp
Revision
889 -
Directory Listing
Modified
Sat Jul 1 13:34:18 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
moved file src/engines/common/EngineChannel.h ->
src/engines/EngineChannel.h
Revision
888 -
Directory Listing
Modified
Sat Jul 1 13:33:21 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
moved file src/engines/common/EngineChannel.cpp ->
src/engines/EngineChannel.cpp
Revision
887 -
Directory Listing
Modified
Sat Jul 1 13:30:52 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
moved file src/engines/common/Engine.h -> src/engines/Engine.h
Revision
885 -
Directory Listing
Modified
Wed Jun 28 19:32:21 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
* various fixes to allow liblinuxsampler to be used
(as a native C++ library)
Revision
883 -
Directory Listing
Modified
Wed Jun 28 19:29:12 2006 UTC
(17 years, 11 months ago)
by
schoenebeck
include SynthesisParam.h in release tarball
Revision
880 -
Directory Listing
Modified
Tue Jun 27 22:57:37 2006 UTC
(17 years, 11 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
877 -
Directory Listing
Modified
Sun Jun 25 13:54:17 2006 UTC
(17 years, 11 months ago)
by
persson
* new filter implementation, which is more accurate and supports all
filter types including bandreject and lowpass turbo
Revision
866 -
Directory Listing
Modified
Thu May 25 14:39:45 2006 UTC
(18 years ago)
by
persson
* gcc 4.1 compilation fix
Revision
865 -
Directory Listing
Modified
Sun May 14 07:15:52 2006 UTC
(18 years, 1 month ago)
by
persson
* sample loop parameters are now taken from the DimensionRegion
instead of the wave chunk
* fixed keyswitching for v3 gigs with a number of keyswitch splits not
equal to a power of two
Revision
849 -
Directory Listing
Modified
Sat Mar 25 13:05:59 2006 UTC
(18 years, 2 months ago)
by
schoenebeck
* added compile time option to disable processing of All-Notes-Off
MIDI messages
Revision
846 -
Directory Listing
Modified
Sun Mar 19 16:38:22 2006 UTC
(18 years, 3 months 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
841 -
Directory Listing
Modified
Sat Mar 4 16:23:53 2006 UTC
(18 years, 3 months ago)
by
persson
* fixed concurrency problems between the main thread doing
lscp notifications and the lscp thread
* bug fix: the LFOs were not properly initialized
Revision
840 -
Directory Listing
Modified
Sun Feb 26 13:00:08 2006 UTC
(18 years, 3 months 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, 4 months ago)
by
persson
* fixed some memory management errors
Revision
832 -
Directory Listing
Modified
Sun Feb 5 10:24:05 2006 UTC
(18 years, 4 months ago)
by
persson
* added smoothing of volume changes caused by control change messages
* fine tuning of the crossfade volume curve
Revision
831 -
Directory Listing
Modified
Sat Jan 28 16:55:30 2006 UTC
(18 years, 4 months ago)
by
persson
* fixed global pan (CC10) which hasn't been working for a while
* fine tuning of the curves for volume (CC7) and pan (CC10 and gig
parameter)
* added support for the "attenuation controller threshold" gig
parameter
Revision
830 -
Directory Listing
Modified
Sun Jan 15 18:23:11 2006 UTC
(18 years, 5 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, 5 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
799 -
Directory Listing
Modified
Sat Nov 5 10:59:37 2005 UTC
(18 years, 7 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
797 -
Directory Listing
Modified
Wed Nov 2 19:26:15 2005 UTC
(18 years, 7 months ago)
by
persson
* minor EG fine tuning: attack time now has a minimum value to prevent
clicks
Revision
796 -
Directory Listing
Modified
Sun Oct 30 08:35:13 2005 UTC
(18 years, 7 months ago)
by
persson
* fixed voice stealing - stolen voices weren't killed
Revision
791 -
Directory Listing
Modified
Sun Oct 16 14:50:20 2005 UTC
(18 years, 8 months ago)
by
persson
* Filter tuning: calculation of cutoff frequency and bandwidth
improved. Removed use of "BasicBPFilter". Changed bandpass filter
from constant peak to constant skirt. Use gig parameter Resonance if
no resonance controller is set. Removed keyboard tracking influence
on resonance.
Revision
783 -
Directory Listing
Modified
Sun Oct 2 14:40:52 2005 UTC
(18 years, 8 months ago)
by
persson
* EG fixes: the length of "attack hold" stage was wrong. Release stage
can now start before attack stage ends. Cancel release didn't work
when sustain was zero.
Revision
781 -
Directory Listing
Modified
Mon Sep 26 10:17:00 2005 UTC
(18 years, 8 months ago)
by
schoenebeck
* fixed event handling bug which was introduced by the recent synthesis
optimizations (events were only processed for the first active voice)
* added global volume attenuation of -9 dB (0.35f) to prevent clipping
which can be overridden with --enable-global-attenuation
Revision
776 -
Directory Listing
Modified
Wed Sep 21 19:05:41 2005 UTC
(18 years, 8 months ago)
by
iliev
* Added support for sostenuto pedal
Revision
775 -
Directory Listing
Modified
Wed Sep 21 14:30:43 2005 UTC
(18 years, 8 months ago)
by
schoenebeck
* src/drivers/MidiInputPort.cpp: fixed legacy SysEx code which caused
dispatching of MIDI SysEx messages several times instead of once
* src/engines/gig/Engine.cpp: fixed bug in SysEx handling
(patch by Juan Linietsky)
Revision
770 -
Directory Listing
Modified
Sun Sep 11 15:56:29 2005 UTC
(18 years, 9 months ago)
by
schoenebeck
* synthesis core optimizations
Revision
769 -
Directory Listing
Modified
Sat Sep 3 11:14:30 2005 UTC
(18 years, 9 months ago)
by
schoenebeck
* fixed endless loop which occured on MIDI control change
and pitch bend events
Revision
768 -
Directory Listing
Modified
Fri Sep 2 20:11:55 2005 UTC
(18 years, 9 months ago)
by
persson
* bug fixes for the new EG implementation
Revision
741 -
Directory Listing
Modified
Tue Aug 16 17:20:55 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
- deleted LFO.h
- added LFOBase.h, LFOTriangleDiHarmonic.h,
LFOTriangleIntAbsMath.h and LFOTriangleIntMath.h
Revision
740 -
Directory Listing
Modified
Tue Aug 16 17:17:52 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
deleted Manipulator.h
Revision
739 -
Directory Listing
Modified
Tue Aug 16 17:16:24 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
not in use anymore since LFO(s) were reimplemented
Revision
738 -
Directory Listing
Modified
Tue Aug 16 17:14:25 2005 UTC
(18 years, 10 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
729 -
Directory Listing
Modified
Tue Jul 26 11:18:46 2005 UTC
(18 years, 10 months ago)
by
persson
* improved filter cutoff calculation by adding support for the
following gig parameters: Cutoff freq (used when no cutoff
controller is defined), Control invert, Minimum cutoff, Velocity
curve and Velocity range. The keyboard tracking now also scales
cutoff frequency, not just resonance.
Revision
727 -
Directory Listing
Modified
Mon Jul 25 15:18:44 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
* fixed little inconsistency: LSCP commands 'LIST AVAILABLE_ENGINES' and
'GET CHANNEL INFO' returned different names for the gig::Engine,
returning now only 'GIG'
Revision
724 -
Directory Listing
Modified
Mon Jul 25 09:28:00 2005 UTC
(18 years, 10 months ago)
by
iliev
- Fixed some typos
Revision
722 -
Directory Listing
Modified
Sun Jul 24 19:45:15 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
just a little API doc change
Revision
721 -
Directory Listing
Modified
Sun Jul 24 19:44:44 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
- fixed di-harmonic triangle LFO implementation
- calculated exact amplitude coefficient of 2nd harmonic
Revision
720 -
Directory Listing
Modified
Sun Jul 24 18:22:56 2005 UTC
(18 years, 10 months ago)
by
senkov
Added a variation of LFOTriangleIntMath using abs()
Revision
719 -
Directory Listing
Modified
Sun Jul 24 16:48:11 2005 UTC
(18 years, 10 months ago)
by
senkov
Adjusted code to build on gcc (GCC) 3.4.3-20050110
Revision
718 -
Directory Listing
Modified
Sun Jul 24 15:05:30 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
fixed integer math implementation of triangle LFO
Revision
717 -
Directory Listing
Modified
Sun Jul 24 10:26:17 2005 UTC
(18 years, 10 months ago)
by
schoenebeck
Added "real" implementations of the triangle LFOs. Unfortunately
I introduced some bugs - the output results don't look like they should.
This has to be fixed.
Revision
716 -
Directory Listing
Modified
Sun Jul 24 06:57:30 2005 UTC
(18 years, 10 months ago)
by
iliev
* Added configure option --enable-process-muted-channels
which can be used to enable the processing of muted channels
Revision
713 -
Directory Listing
Modified
Thu Jul 21 20:50:45 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
oops, did I screw indention here? ;)
Revision
705 -
Directory Listing
Modified
Wed Jul 20 21:43:23 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
* support for muting sampler channels and solo mode of the same, two new
LSCP commands ("SET CHANNEL MUTE" and "SET CHANNEL SOLO") and two new
fields ("MUTE" and "SOLO") for command "GET CHANNEL INFO" were
introduced for this (patch by Grigor Iliev, a bit adjusted)
Revision
696 -
Directory Listing
Modified
Sat Jul 16 19:37:52 2005 UTC
(18 years, 11 months ago)
by
persson
* fine tuning of the EG modulation parameters
Revision
690 -
Directory Listing
Modified
Fri Jul 15 16:43:56 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
just to clearify that the previous change refers to voice stealing
Revision
688 -
Directory Listing
Modified
Thu Jul 14 12:25:20 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
* if period time of chosen audio device is too small (< MIN_RELEASE_TIME)
then simply show a warning about possible click sounds and reduce the
volume ramp down appropriately instead of cancelling the audio device
connection
Revision
687 -
Directory Listing
Modified
Tue Jul 12 22:37:21 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
* minor efficiency fix (LFO preprocessing was performed even though the
respective LFO was disabled by the instrument patch)
Revision
685 -
Directory Listing
Modified
Tue Jul 5 19:30:37 2005 UTC
(18 years, 11 months ago)
by
persson
* gcc 4.0 compilation fixes
Revision
675 -
Directory Listing
Modified
Wed Jun 22 22:09:28 2005 UTC
(18 years, 11 months ago)
by
schoenebeck
* update MIDI channel info on program change
Revision
670 -
Directory Listing
Modified
Tue Jun 21 18:00:52 2005 UTC
(19 years ago)
by
schoenebeck
* don't reset volume, pan, pitch and MIDI controller values on instrument
or audio output device change
* send 'CHANNEL_INFO' LSCP event on MIDI program change messages
Revision
669 -
Directory Listing
Modified
Tue Jun 21 13:33:19 2005 UTC
(19 years ago)
by
schoenebeck
* fixed minor issue with null/silence samples
(those stole voices even though they don't need a voice at all which
resulted in "voice stealing didn't work out" messages)
Revision
668 -
Directory Listing
Modified
Mon Jun 20 15:30:47 2005 UTC
(19 years ago)
by
schoenebeck
* fixed a key group bug which caused undefined behavior in conjunction with
stolen voices (this case was usually followed by a "killed voice
survived" or "voice stealing didn't work out" error message)
Revision
665 -
Directory Listing
Modified
Sun Jun 19 15:11:20 2005 UTC
(19 years ago)
by
schoenebeck
finally fixes endless loop in voice stealing algorithm (hopefully)
Revision
663 -
Directory Listing
Modified
Sat Jun 18 21:37:03 2005 UTC
(19 years ago)
by
schoenebeck
* another voice stealing fix
(endless loop occured when voices were stolen from other engine channels)
Revision
660 -
Directory Listing
Modified
Fri Jun 17 19:49:30 2005 UTC
(19 years ago)
by
schoenebeck
* LSCP server: fixed LSCP event "CHANNEL_INFO" notification
(e.g. did not notify on volume changes)
Revision
659 -
Directory Listing
Modified
Thu Jun 16 21:35:30 2005 UTC
(19 years ago)
by
schoenebeck
* don't reset scale tuning on instrument or audio output device change
Revision
654 -
Directory Listing
Modified
Wed Jun 15 20:25:25 2005 UTC
(19 years ago)
by
schoenebeck
* fixed 'make dist' build rule to include all necessary files
Revision
649 -
Directory Listing
Modified
Wed Jun 15 00:01:28 2005 UTC
(19 years ago)
by
schoenebeck
* revised voice stealing (fixes crash caused by voice stealing)
Revision
630 -
Directory Listing
Modified
Sat Jun 11 14:51:49 2005 UTC
(19 years ago)
by
persson
* volume of release triggered samples now depends on note-on velocity,
note length and gig parameter "release trigger decay" instead of
note-off velocity.
Revision
617 -
Directory Listing
Modified
Wed Jun 8 21:00:06 2005 UTC
(19 years ago)
by
schoenebeck
* hand-crafted assembly optimization code can be disabled with
'./configure --disable-asm' (definitely not recommended)
Revision
614 -
Directory Listing
Modified
Mon Jun 6 16:54:20 2005 UTC
(19 years ago)
by
persson
* support for the gig parameters for "release velocity response"
curves, which means the decay and release times now depends on
velocity. The softer velocity, the longer release.
* fine tuning of the envelope curves. Decay1 and release now have two
parts, first linear and then exponential at the end.
Revision
563 -
Directory Listing
Modified
Sun May 22 20:43:32 2005 UTC
(19 years 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
(19 years, 1 month 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
539 -
Directory Listing
Modified
Wed May 11 20:03:02 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
lowered MAX_AUDIO_VOICES to pessimistic 64
Revision
538 -
Directory Listing
Modified
Wed May 11 20:02:17 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
just some cleanup
Revision
517 -
Directory Listing
Modified
Sun May 8 00:26:21 2005 UTC
(19 years, 1 month 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
(19 years, 1 month ago)
by
schoenebeck
* autotools build fixes for PPC architecture
Revision
505 -
Directory Listing
Modified
Tue May 3 01:00:25 2005 UTC
(19 years, 1 month ago)
by
schoenebeck
fixed libgig include rules
Revision
504 -
Directory Listing
Modified
Tue May 3 00:37:35 2005 UTC
(19 years, 1 month 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
(19 years, 1 month ago)
by
letz
Fix destructor
Revision
498 -
Directory Listing
Modified
Sun Apr 10 18:37:45 2005 UTC
(19 years, 2 months ago)
by
schoenebeck
* fixed bug in MMX/SSE(1) implementation of the sample loop code (caused
RAM-only voices to crash when entering the sample's loop section under
certain conditions)
Revision
497 -
Directory Listing
Modified
Sun Apr 10 11:55:44 2005 UTC
(19 years, 2 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
493 -
Directory Listing
Modified
Sun Apr 3 19:53:43 2005 UTC
(19 years, 2 months ago)
by
schoenebeck
* fixed MIDI GS scale tuning (via SysEx Message)
Revision
475 -
Directory Listing
Modified
Thu Mar 17 23:56:56 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* fixed segmentation fault on "GET CHANNEL INFO" commands which occured
when an engine type was selected but no audio device connected yet to
the sampler channel (fixes bug #4)
Revision
474 -
Directory Listing
Modified
Thu Mar 17 21:28:04 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
forgot to commit this with recent batch
Revision
473 -
Directory Listing
Modified
Thu Mar 17 20:13:08 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* fixed event leak (events sent to inactive keys were not freed)
* implemented MIDI channel mode messages "All Sound Off", "Reset All
Controller", "All Notes Off" (fixes bug #5)
Revision
466 -
Directory Listing
Modified
Tue Mar 15 19:27:01 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* fixed another crash under heavy load which was accidently introduced with
the previous commit - events have to be processed completely on all
engine channels before audio is rendered (fixes bug #7)
Revision
461 -
Directory Listing
Modified
Mon Mar 14 22:36:48 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
forgot to commit this with recent batch
Revision
460 -
Directory Listing
Modified
Mon Mar 14 22:35:44 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* spawning layered voices now within a loop instead of recursively (fixes
segmentation fault under heavy voice count load and reduces stress on the
stack)
* voice stealing operates on all engine channels now
* limit voice stealing to MAX_AUDIO_VOICES thefts per audio fragment cycle
* fixed keygroup handling (layered voices could kill each other)
Revision
438 -
Directory Listing
Modified
Wed Mar 9 22:12:15 2005 UTC
(19 years, 3 months ago)
by
persson
* 24-bit decompression now supports the 20 and 18 bit formats
* support for "random" and "round robin" dimensions
* removed a warning printout for empty samples during instrument
loading
Revision
425 -
Directory Listing
Modified
Sat Mar 5 07:27:48 2005 UTC
(19 years, 3 months 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
424 -
Directory Listing
Modified
Fri Mar 4 22:54:11 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* implemented MIDI Control Change 7 (Volume)
* implemented MIDI Control Change 10 (Panpot)
Revision
420 -
Directory Listing
Modified
Thu Mar 3 03:25:17 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* fixed some segfaults (which occured on EngineChannel destruction)
* InstrumentResourceManager: recache small samples if their current
number of silence sample points are not sufficient enough for the used
audio output device
* src/linuxsampler.cpp: voice / streams statistics on the console is back
again (can be turned on with command line switch --statistics)
Revision
412 -
Directory Listing
Modified
Sat Feb 26 22:44:51 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* gig::Engine: fixed silence (engine channels' events were not imported
into the engine, fixed undesired creation of new gig::Engine instances
(and disk threads)
* AudioOutputDevice: reverted behavior to render per Engine instance (and
not per EngineChannel instance)
Revision
411 -
Directory Listing
Modified
Sat Feb 26 02:01:14 2005 UTC
(19 years, 3 months ago)
by
schoenebeck
* design change: using now one sampler engine instance and one disk thread
instance for all sampler channels that are connected to the same audio
output device (and are using the same engine type of course)
* added EngineFactory / EngineChannelFactory to remove the annoying build
dependencies e.g. of the lscpserver to the actual sampler engine
implementations
* bumped version to 0.3.0 (current CVS state is still quite broken,
previous, stable CVS version was tagged as "v0_2_0" and is also available
as source tarball)
Revision
407 -
Directory Listing
Modified
Wed Feb 23 19:14:14 2005 UTC
(19 years, 3 months ago)
by
persson
* added support for sample parameter 'attenuation'
Revision
396 -
Directory Listing
Modified
Sun Feb 20 20:32:24 2005 UTC
(19 years, 3 months ago)
by
persson
* fixed a bug that made some release triggered samples too short
(envelope went directly from attack to release)
Revision
394 -
Directory Listing
Modified
Sun Feb 20 13:01:59 2005 UTC
(19 years, 4 months ago)
by
persson
fixed my previous fix.
Revision
393 -
Directory Listing
Modified
Sun Feb 20 12:30:36 2005 UTC
(19 years, 4 months ago)
by
persson
* fixed a bug that caused noise at end of samples
Revision
392 -
Directory Listing
Modified
Sat Feb 19 02:40:24 2005 UTC
(19 years, 4 months 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, 4 months ago)
by
letz
Add missing virtual destructor
Revision
385 -
Directory Listing
Modified
Thu Feb 17 02:53:45 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* lscpserver: we now only use one instrument loader thread; commands for
loading instruments in the background wait in a queue to be processed one
by one to avoid possible race conditions and to improve I/O efficiency
* fixed possible race condition while streaming with multiple disk threads
by using an own decompression buffer for each disk thread
* libgig: fixed some memory leaks caused by non virtual base constructors
Revision
376 -
Directory Listing
Modified
Sat Feb 12 23:48:50 2005 UTC
(19 years, 4 months ago)
by
senkov
* Added INSTRUMENT_NAME to GET CHANNEL INFO command result set
Revision
368 -
Directory Listing
Modified
Fri Feb 11 13:13:54 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* some fixes regarding the filter (fixes the "silence" bug which occured
occasionally, caused by random biquad parameters which lead to unstable
filter equation and thus to infinit filter output results)
Revision
361 -
Directory Listing
Modified
Wed Feb 9 01:22:18 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* bunch of fixes for OSX (patch by Stephane Letz)
Revision
354 -
Directory Listing
Modified
Sat Jan 29 15:17:59 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* support for keyswitching
* ignore if no sample was defined for region(s) or dimension region(s)
(patch by Andreas Persson)
Revision
351 -
Directory Listing
Modified
Tue Jan 25 22:11:43 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* fixed some memory leaks (patch by Gene Anders)
Revision
349 -
Directory Listing
Modified
Tue Jan 25 01:05:33 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
raised verbosity of debug message in case of caching a whole sample
Revision
348 -
Directory Listing
Modified
Sun Jan 23 21:24:16 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* another crossfade fix (honoring AttenuationController for case 0,0,0,0,
fixed cases in_start = in_end = CrossfadeControllerValue, fixed curve for
cases out_start < CrossfadeControllerValue < out_end, honoring
InvertAttenuationController parameter)
* support for up to 8 dimensions as introduced by Gig V3
(patch by Andreas Persson)
Revision
346 -
Directory Listing
Modified
Fri Jan 21 17:17:31 2005 UTC
(19 years, 4 months ago)
by
schoenebeck
* libgig: fixed vcf_type_lowpassturbo value, fixed crossfade points order
* gig::Voice: fixed special crossfade case 0,0,0,0 which actually means no
crossfade defined
Revision
336 -
Directory Listing
Modified
Mon Jan 3 03:33:51 2005 UTC
(19 years, 5 months ago)
by
senkov
* Fixed a bug in assembly that cause crashes in some cases
Revision
335 -
Directory Listing
Modified
Mon Jan 3 02:48:25 2005 UTC
(19 years, 5 months ago)
by
senkov
* Fixed pitch calculation. FineTune needs to be taken as is
without multiplying it by 10.
Revision
333 -
Directory Listing
Modified
Sat Jan 1 08:18:07 2005 UTC
(19 years, 5 months ago)
by
senkov
* Fix a basic diskthread multichannel issue.
Revision
332 -
Directory Listing
Modified
Sat Jan 1 03:06:06 2005 UTC
(19 years, 5 months ago)
by
senkov
* Initialize the synthesis mode bitmask properly
Revision
330 -
Directory Listing
Modified
Wed Dec 29 01:14:15 2004 UTC
(19 years, 5 months ago)
by
schoenebeck
* fixed endless loop at the end of sample playback
(patch by Andreas Persson)
Revision
329 -
Directory Listing
Modified
Tue Dec 28 09:43:04 2004 UTC
(19 years, 5 months ago)
by
senkov
* Fixes for engine reloading. Fixed streaming bugs in some
cases only, most probably not all yet.
Revision
328 -
Directory Listing
Modified
Sat Dec 25 21:58:58 2004 UTC
(19 years, 5 months ago)
by
schoenebeck
* architecture independence fixes, should now compile again for non x86
systems
* tiny fix of command line switch --version
Revision
326 -
Directory Listing
Modified
Tue Dec 21 04:59:11 2004 UTC
(19 years, 6 months ago)
by
senkov
Added profiler class
Revision
325 -
Directory Listing
Modified
Tue Dec 21 04:54:37 2004 UTC
(19 years, 6 months ago)
by
senkov
* Added some profiling capabilities, bugs.
Revision
324 -
Directory Listing
Modified
Sat Dec 18 18:54:46 2004 UTC
(19 years, 6 months ago)
by
senkov
* Applied patch from Andreas Persson and made a few other small
changes to fix a bug in the filter code.
Revision
323 -
Directory Listing
Modified
Tue Dec 14 00:32:21 2004 UTC
(19 years, 6 months ago)
by
schoenebeck
* fixed bug which caused samples not to be played back to their actual end
(patch by Andreas Persson, added a small extra fix)
Revision
322 -
Directory Listing
Modified
Mon Dec 13 03:33:59 2004 UTC
(19 years, 6 months ago)
by
senkov
* fixed CalculateBiquadParameters() to set parameters for
both right and left, not just left.
Revision
320 -
Directory Listing
Modified
Mon Dec 13 00:53:16 2004 UTC
(19 years, 6 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, 6 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
293 -
Directory Listing
Modified
Mon Oct 25 15:14:27 2004 UTC
(19 years, 7 months ago)
by
schoenebeck
* gig::Engine: changed way how events make it from the input event queue
into the engine's process chain (fixes forced segfault in EGADSR)
* Event.h: using signed type for fragment position for easier
differentiation if event might happened before or after current fragment
Revision
292 -
Directory Listing
Modified
Mon Oct 25 14:59:18 2004 UTC
(19 years, 7 months ago)
by
schoenebeck
encapsulated error message into quotation marks
Revision
288 -
Directory Listing
Modified
Tue Oct 19 00:36:34 2004 UTC
(19 years, 8 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
287 -
Directory Listing
Modified
Sat Oct 16 17:38:03 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
* fixed segfault which occured whenever a voice stole a voice and was in
turn killed in the same audio fragment, to fix that the MIDI key
informations are now updated only after all voices were processed
Revision
286 -
Directory Listing
Modified
Sat Oct 16 17:29:05 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
just added some sanity checks for debugging
Revision
285 -
Directory Listing
Modified
Thu Oct 14 21:31:26 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
* bunch of bugfixes (e.g. segfault on voice stealing)
Revision
284 -
Directory Listing
Modified
Thu Oct 14 21:24:39 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
raised EG_MIN_RELEASE_TIME a bit to avoid click sounds
Revision
273 -
Directory Listing
Modified
Fri Oct 8 21:04:51 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
forgot to modify include for Pool.h
Revision
271 -
Directory Listing
Modified
Fri Oct 8 20:51:39 2004 UTC
(19 years, 8 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
268 -
Directory Listing
Modified
Thu Oct 7 22:20:20 2004 UTC
(19 years, 8 months ago)
by
capela
* gcc-c++ 3.4.1 compability fixes.
Revision
259 -
Directory Listing
Modified
Wed Sep 29 03:16:01 2004 UTC
(19 years, 8 months ago)
by
senkov
* Fixed a hang in stage_fadeout
Revision
252 -
Directory Listing
Modified
Thu Sep 23 21:33:43 2004 UTC
(19 years, 8 months ago)
by
schoenebeck
* fixed another bug in EGADSR which caused clicks when voices were killed
near the audio fragment end
Revision
251 -
Directory Listing
Modified
Mon Sep 20 12:27:48 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* changed curve type from exponential to linear in stage 'end' of
EGADSR (fixes click sounds at the end of voices)
Revision
250 -
Directory Listing
Modified
Mon Sep 20 00:31:13 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* added first two experimental voice stealing algorithms ('oldestkey' -
which just steals the oldest voice on the oldest key and 'keymask' - which
tries to pick the oldest voice on the same key where the new voice should
be spawned, if it fails it behaves like 'oldestkey'), the desired algorithm
can be selected at compile time (see Engine.h) will be configurable via
LSCP soon though
Revision
249 -
Directory Listing
Modified
Mon Sep 20 00:26:40 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
reduced EG_MIN_RELEASE_TIME to allow to finish kill process of a voice
within the same audio fragment, this will be e.g. be mandatory for voice
stealing
Revision
247 -
Directory Listing
Modified
Sun Sep 19 23:44:23 2004 UTC
(19 years, 9 months ago)
by
senkov
* Small fix to pan coeff. calculation.
* (LS was silent with gigs where pan was 0).
Revision
246 -
Directory Listing
Modified
Sun Sep 19 14:12:55 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
just tidied up event type specific parameters (that is note-on specific
parameters, controle change specific parameters, etc.) in Event class
Revision
245 -
Directory Listing
Modified
Sat Sep 18 14:12:36 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* support patch panorama info
Revision
244 -
Directory Listing
Modified
Fri Sep 17 01:01:11 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* added support for scale tuning via MIDI GS system exclusive message
Revision
242 -
Directory Listing
Modified
Wed Sep 15 13:59:08 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* added support for release trigger dimension (that is voices which are
spawned when a key was released)
* libgig: bugfix in dimension region switching
Revision
239 -
Directory Listing
Modified
Sun Sep 12 14:48:19 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* implemented key groups (a.k.a exclusive groups) which is important for
drum patches and monphonic instruments
* src/engines/gig/Engine.cpp: bugfix in ProcessNoteOn() - did not always
stick the note on event to the respective key's own event list although
e.g. the EGADRS expects it to find there
Revision
237 -
Directory Listing
Modified
Sun Sep 12 01:59:40 2004 UTC
(19 years, 9 months ago)
by
senkov
* Fixed a crash in EGADSR::Process()
Revision
236 -
Directory Listing
Modified
Thu Sep 9 18:44:18 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* added support for crossfades
* support sample playback start offset
Revision
233 -
Directory Listing
Modified
Tue Sep 7 09:32:21 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* added support for layers
* fixed initial pitch calculation which did not honor the sample's own
sample rate
Revision
230 -
Directory Listing
Modified
Thu Sep 2 21:52:29 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* src/engines/gig/Voice.cpp: dimension region selection takes current
MIDI controller values into account
Revision
225 -
Directory Listing
Modified
Sun Aug 22 14:46:47 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
* set default volume to 1.0 in Gigasampler engine (was 0.0)
* implemented "SET CHANNEL AUDIO_OUTPUT_CHANNEL" LSCP command
* fixed "GET ENGINE INFO" LSCP command
* fixed "GET CHANNEL INFO" LSCP command
* src/network/lscp.y: fixed 'stringval' rule (returned string with formal
apostrophes), fixed 'dotnum' rule (ignored position after decimal point)
Revision
205 -
Directory Listing
Modified
Tue Jul 13 23:16:40 2004 UTC
(19 years, 11 months ago)
by
schoenebeck
accidently commited this file
Revision
203 -
Directory Listing
Modified
Tue Jul 13 22:44:13 2004 UTC
(19 years, 11 months ago)
by
schoenebeck
forgot to change some things which was mandatory due to the recent
directory movements ('/src/audiodriver' -> '/src/drivers/audio',
'/src/mididriver' -> '/src/drivers/midi')
Revision
133 -
Directory Listing
Modified
Fri Jun 18 14:29:02 2004 UTC
(20 years ago)
by
capela
* Load Instrument patch applied; this patch makes the
LOAD INSTRUMENT command to return immediately,
almost/always with an OK response, while spawning
the proper instrument file loading in the background.
* New INSTRUMENT_STATUS field on GET CHANNEL INFO result
set; the instrument status value holds the load progress
percentage if positive, otherwise a negative value is
evidence of a load exception error.
* VERSION is now set to 0.2.
Revision
123 -
Directory Listing
Modified
Mon Jun 14 19:33:16 2004 UTC
(20 years 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
112 -
Directory Listing
Modified
Sun Jun 6 20:57:28 2004 UTC
(20 years ago)
by
senkov
* Added methods for CHANNEL_INFO command
Revision
111 -
Directory Listing
Modified
Sat Jun 5 20:55:50 2004 UTC
(20 years ago)
by
schoenebeck
* LSCP allows now comment lines, that is lines starting with a hash ('#')
character
* src/engines/gig/Voice.cpp: fixed "SET CHANNEL VOLUME" bug
Revision
99 -
Directory Listing
Modified
Tue Jun 1 16:19:40 2004 UTC
(20 years ago)
by
letz
* Do polynomial interpolation computation in float
Revision
97 -
Directory Listing
Modified
Mon May 31 19:28:09 2004 UTC
(20 years ago)
by
schoenebeck
* src/engines/gig/Voice.h: fixed bug which caused to hear only one audio
channel
Revision
84 -
Directory Listing
Modified
Sun May 23 20:17:31 2004 UTC
(20 years ago)
by
schoenebeck
forgot to remove a redundant assignment (only a small efficiency issue)
Revision
80 -
Directory Listing
Modified
Sun May 23 19:16:33 2004 UTC
(20 years 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
64 -
Directory Listing
Modified
Thu May 6 20:06:20 2004 UTC
(20 years, 1 month ago)
by
schoenebeck
* src/Sampler.cpp: fixed 3 stupid but fatal bugs that left in the rush (in
method SamplerChannels(), CreateAudioOutputDevice() and
CreateMidiInputDevice())
* src/network/lscpserver.cpp: implemented LSCP command
'SET CHANNEL MIDI_INPUT_CHANNEL'
* src/Sampler.h: moved enums 'audio_output_type_t', 'midi_input_type_t'
and 'engine_type_t' into the respective base classes
('AudioOutputDevice', 'MidiInputDevice', 'Engine')
Revision
57 -
Directory Listing
Modified
Sun May 2 17:45:43 2004 UTC
(20 years, 1 month 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
(20 years, 1 month ago)
by
schoenebeck
updated copyright header for 2004
Revision
53 -
Directory Listing
Added
Mon Apr 26 17:15:51 2004 UTC
(20 years, 1 month 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