Log of /linuxsampler/trunk/src/engines/sf2
Directory Listing
Revision
3614 -
Directory Listing
Modified
Tue Oct 1 09:11:27 2019 UTC
(4 years, 6 months ago)
by
schoenebeck
Refactored LFO class names and their header file names:
* Renamed PulseLFO -> LFOPulse, LFOSawIntMath -> LFOSawIntMathNew,
SawLFO -> LFOSawIntMathOld, SineLFO -> LFOSineBuiltinFn,
LFOSine -> LFOSineNumericComplexNr, SquareLFO -> LFOSquarePulse.
* Separated LFOSquarePulse (previously "SquareLFO") to its own
header file.
* Renamed type LFOSigned -> LFOTriangleSigned.
* Renamed type LFOUnsigned -> LFOTriangleUnsigned.
* Bumped version (2.1.1.svn19).
Revision
3612 -
Directory Listing
Modified
Mon Sep 30 18:03:43 2019 UTC
(4 years, 6 months ago)
by
schoenebeck
Added new LFO implementations:
* Added int math square LFO implementation.
* Added int math saw LFO implementation.
* Added numeric complex nr sine LFO implementation.
* Added public API C++ class "LFO", which is a cluster class
encapsulating all the sampler's LFO implementations to be used by
3rd party applications (e.g. by Gigedit).
* Marked class LFOTriangleDiHarmonic as deprecated
(will be removed in future).
* Added LFOAll.h which includes all LFO implementation's header files.
* Fixed benchmarks/triang.cpp falsely having favoured "int math abs"
algorithm (since result of 2nd run was not accumulated).
* Added benchmark for saw wave (benchmarks/saw.cpp).
* Added benchmark for sine wave (benchmarks/sine.cpp).
* Added benchmark for square wave (benchmarks/square.cpp).
* Increased amount of benchmarks runs by factor 6 to achieve benchmark
times which are large enough on modern systems.
* Cleanup of LFO APIs.
* Bumped version (2.1.1.svn18).
Revision
3561 -
Directory Listing
Modified
Fri Aug 23 11:44:00 2019 UTC
(4 years, 8 months ago)
by
schoenebeck
NKSP: Added standard units support for numbers and final "!" operator:
* NKSP strictness: Variable names, function names and preprocessor condition
names must start with a regular character (a-z or A-Z); starting them with
a digit or underscore is no longer allowed.
* NKSP parser fix: equal comparison operator "=" and not equal comparison
operator "#" must only accept integer operands.
* NKSP language: Implemented support for standard units like Hertz, seconds,
Bel including support for metric unit prefixes; so one can now e.g.
conveniently use numbers in scripts like "5us" meaning "5 microseconds",
or e.g. "12kHz" meaning "12 kilo Hertz", or e.g. "-14mdB" meaning
"minus 14 Millidecibel", or e.g. "28c" meaning "28 cents" (for tuning).
* NKSP language: Introduced "final" operator "!" which is specifically
intended for synthesis parameter values to denote that the synthesis
parameter value is intended to be the "final" value for that synthesis
parameter that should explicitly be used by the engine and thus causing
the sampler engine to ignore all other modulation sources for the same
synthesis parameter (like e.g. LFO, EG); by simply prefixing a value,
variable or formula with this new "!" operator the expression is marked as
being "final".
* Bumped version (2.1.1.svn4).
Revision
3455 -
Directory Listing
Modified
Sun Jan 27 10:07:54 2019 UTC
(5 years, 3 months ago)
by
persson
* Fixed some compiler warnings
* Fixed compilation error when cross-compiling to Mac
Revision
3444 -
Directory Listing
Modified
Sun Dec 23 19:32:11 2018 UTC
(5 years, 4 months ago)
by
schoenebeck
* Only play release trigger samples on sustain pedal up if this behaviour
was explicitly requested by the instrument (otherwise only on note-off).
* Bumped version (2.1.0.svn2).
Revision
3316 -
Directory Listing
Modified
Thu Jul 20 12:05:53 2017 UTC
(6 years, 9 months ago)
by
schoenebeck
* NKSP: Implemented built-in script function "change_sustain()".
* Bumped version (2.0.0.svn72).
Revision
3219 -
Directory Listing
Modified
Thu May 25 21:49:40 2017 UTC
(6 years, 11 months 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
3118 -
Directory Listing
Modified
Fri Apr 21 13:33:03 2017 UTC
(7 years 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, 2 months ago)
by
schoenebeck
- Additional 'override' fixes.
Revision
3101 -
Directory Listing
Modified
Sun Feb 5 18:03:58 2017 UTC
(7 years, 2 months ago)
by
schoenebeck
* Instruments DB: Fixed undefined DB transaction behavior.
* Fixed general compiler warnings.
* Bumped version (2.0.0.svn43).
Revision
3054 -
Directory Listing
Modified
Thu Dec 15 12:47:45 2016 UTC
(7 years, 4 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, 4 months ago)
by
schoenebeck
- Preparations for Xcode project update.
Revision
3034 -
Directory Listing
Modified
Mon Oct 31 00:05:00 2016 UTC
(7 years, 5 months ago)
by
schoenebeck
* Fixed a bunch of minor issues (mostly compiler warnings).
* Bumped version (2.0.0.svn31).
Revision
3017 -
Directory Listing
Modified
Wed Oct 19 12:28:40 2016 UTC
(7 years, 6 months ago)
by
schoenebeck
* Follow-up fix regarding aftertouch handling.
* Bumped version (2.0.0.svn29).
Revision
3015 -
Directory Listing
Modified
Tue Oct 18 20:13:08 2016 UTC
(7 years, 6 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
2879 -
Directory Listing
Modified
Tue Apr 19 14:07:53 2016 UTC
(8 years 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 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
2837 -
Directory Listing
Modified
Sun Aug 23 06:14:00 2015 UTC
(8 years, 8 months ago)
by
persson
* fixed printf type errors (mostly in debug messages)
Revision
2559 -
Directory Listing
Modified
Sun May 18 17:38:25 2014 UTC
(9 years, 11 months 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
2494 -
Directory Listing
Modified
Wed Jan 1 17:48:01 2014 UTC
(10 years, 3 months ago)
by
schoenebeck
* Enabled automatic svn "Revision" macro expansion on certain files.
* Bumped version to 1.0.0.svn24.
Revision
2420 -
Directory Listing
Modified
Sun Feb 24 08:59:25 2013 UTC
(11 years, 2 months ago)
by
persson
* removed usage of deprecated Automake variable INCLUDES
* ASIO driver: removed compiler warnings
Revision
2390 -
Directory Listing
Modified
Sat Jan 5 12:31:05 2013 UTC
(11 years, 3 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, 4 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
2327 -
Directory Listing
Modified
Sat Mar 10 16:16:14 2012 UTC
(12 years, 1 month 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, 1 month ago)
by
persson
* bugfix: instrument loading crashed for sfz and sf2 in Ardour (#176)
* more thread safety fixes for the instrument loading thread
Revision
2311 -
Directory Listing
Modified
Sat Feb 11 11:08:09 2012 UTC
(12 years, 2 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
2296 -
Directory Listing
Modified
Thu Dec 8 20:03:47 2011 UTC
(12 years, 4 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
2277 -
Directory Listing
Modified
Sat Oct 1 08:23:02 2011 UTC
(12 years, 7 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, 7 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
2219 -
Directory Listing
Modified
Thu Jul 28 12:35:49 2011 UTC
(12 years, 9 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, 9 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, 9 months ago)
by
iliev
* removed helper classes SignalUnitBase,
EndpointSignalUnitBase, SignalUnitRackBase
* clean up sf2::Voice
* bumped version to 1.0.0.cvs12
Revision
2207 -
Directory Listing
Modified
Fri Jul 15 15:43:49 2011 UTC
(12 years, 9 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, 9 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, 9 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
2185 -
Directory Listing
Modified
Sun Jun 19 09:09:38 2011 UTC
(12 years, 10 months ago)
by
persson
* fixed compilation with gcc 4.6.1
* another "make dist" fix, for LV2 plugin
* made --enable-pthread-testcancel default on Mac OS X
* Mac OS X: fixed hanging threads
Revision
2175 -
Directory Listing
Modified
Mon Apr 25 08:12:36 2011 UTC
(13 years 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
2127 -
Directory Listing
Modified
Wed Sep 22 18:59:16 2010 UTC
(13 years, 7 months ago)
by
persson
* fixed crash when deleting a sampler channel or changing engine type
while an instrument load was in progress
Revision
2114 -
Directory Listing
Modified
Tue Aug 10 12:05:19 2010 UTC
(13 years, 8 months ago)
by
persson
* sfz engine: improved support for exclusive groups (group, off_by and
off_mode)
* minor valgrind fixes
Revision
2101 -
Directory Listing
Modified
Sun May 30 11:40:31 2010 UTC
(13 years, 11 months 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
2072 -
Directory Listing
Modified
Sat Mar 20 11:37:52 2010 UTC
(14 years, 1 month 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
2055 -
Directory Listing
Modified
Sat Jan 30 10:30:02 2010 UTC
(14 years, 3 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
2027 -
Directory Listing
Modified
Tue Nov 3 19:27:42 2009 UTC
(14 years, 5 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
2021 -
Directory Listing
Modified
Fri Oct 30 16:36:20 2009 UTC
(14 years, 6 months ago)
by
iliev
* sfz engine: loop support
* sf2 engine: 24bit support
* sf2 engine: loop support
* sf2 engine: instrument unloading
Revision
2018 -
Directory Listing
Modified
Tue Oct 27 19:04:57 2009 UTC
(14 years, 6 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, 6 months ago)
by
iliev
* Refactoring: moved the independent code from gig::Voice to base classes
* SoundFont format engine: implemented EG1 & EG2
Revision
2012 -
Directory Listing
Added
Fri Oct 23 17:53:17 2009 UTC
(14 years, 6 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