/[svn]/linuxsampler/trunk/src/engines/sfz/SfzSignalUnitRack.cpp
ViewVC logotype

Log of /linuxsampler/trunk/src/engines/sfz/SfzSignalUnitRack.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 3706 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 8 20:39:59 2020 UTC (4 years, 2 months ago) by schoenebeck
File length: 57163 byte(s)
Diff to previous 3612 , to selected 3561
Fixed compiler warnings about implied type casts.


Revision 3612 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 30 18:03:43 2019 UTC (4 years, 5 months ago) by schoenebeck
File length: 57157 byte(s)
Diff to previous 3561
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 - (view) (download) (annotate) - [selected]
Modified Fri Aug 23 11:44:00 2019 UTC (4 years, 7 months ago) by schoenebeck
File length: 57147 byte(s)
Diff to previous 3316
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 3316 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 20 12:05:53 2017 UTC (6 years, 8 months ago) by schoenebeck
File length: 57129 byte(s)
Diff to previous 3118 , to selected 3561
* NKSP: Implemented built-in script function "change_sustain()".
* Bumped version (2.0.0.svn72).


Revision 3118 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 21 13:33:03 2017 UTC (6 years, 11 months ago) by schoenebeck
File length: 57054 byte(s)
Diff to previous 3082 , to selected 3561
* 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 3082 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 9 18:39:35 2017 UTC (7 years, 2 months ago) by schoenebeck
File length: 57039 byte(s)
Diff to previous 3054 , to selected 3561
* 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 3054 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 15 12:47:45 2016 UTC (7 years, 3 months ago) by schoenebeck
File length: 57053 byte(s)
Diff to previous 3034 , to selected 3561
* Fixed numerous compiler warnings.
* Bumped version (2.0.0.svn32).


Revision 3034 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 31 00:05:00 2016 UTC (7 years, 4 months ago) by schoenebeck
File length: 57049 byte(s)
Diff to previous 2879 , to selected 3561
* Fixed a bunch of minor issues (mostly compiler warnings).
* Bumped version (2.0.0.svn31).


Revision 2879 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 19 14:07:53 2016 UTC (7 years, 11 months ago) by schoenebeck
File length: 57041 byte(s)
Diff to previous 2382 , to selected 3561
* 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 2382 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 2 16:30:42 2012 UTC (11 years, 3 months ago) by persson
File length: 57005 byte(s)
Diff to previous 2327 , to selected 3561
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 10 16:16:14 2012 UTC (12 years ago) by persson
File length: 57086 byte(s)
Diff to previous 2311 , to selected 3561
* sfz/sf2 engine: fixed crash when using small audio fragment size


Revision 2311 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 11 11:08:09 2012 UTC (12 years, 1 month ago) by persson
File length: 56542 byte(s)
Diff to previous 2300 , to selected 3561
* 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 2300 - (view) (download) (annotate) - [select for diffs]
Modified Mon Dec 12 09:20:00 2011 UTC (12 years, 3 months ago) by iliev
File length: 56516 byte(s)
Diff to previous 2299 , to selected 3561
* implemented opcodes eq1_vel2freq, eq2_vel2freq,
  eq3_vel2freq, eq1_vel2gain, eq2_vel2gain, eq3_vel2gain


Revision 2299 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 11 20:50:31 2011 UTC (12 years, 3 months ago) by iliev
File length: 56066 byte(s)
Diff to previous 2297 , to selected 3561
* 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 2297 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 9 15:04:55 2011 UTC (12 years, 3 months ago) by iliev
File length: 49514 byte(s)
Diff to previous 2296 , to selected 3561
* implemented opcodes delay, delay_onccN, delay_random,
  delay_samples, delay_samples_onccN


Revision 2296 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 8 20:03:47 2011 UTC (12 years, 3 months ago) by iliev
File length: 48015 byte(s)
Diff to previous 2264 , to selected 3561
* 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 2264 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 22 10:00:01 2011 UTC (12 years, 7 months ago) by iliev
File length: 43900 byte(s)
Diff to previous 2252 , to selected 3561
* sfz engine: implemented opcodes pitch_onccN,
  pitch_curveccN, pitch_smoothccN, pitch_stepccN


Revision 2252 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 20 14:01:36 2011 UTC (12 years, 7 months ago) by iliev
File length: 43178 byte(s)
Diff to previous 2251 , to selected 3561
* sfz engine: implemented opcodes resonance_onccN, resonance_smoothccN,
  resonance_curveccN, cutoff_smoothccN, cutoff_curveccN


Revision 2251 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 20 10:38:31 2011 UTC (12 years, 7 months ago) by iliev
File length: 42568 byte(s)
Diff to previous 2249 , to selected 3561
* 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 2249 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 19 18:29:29 2011 UTC (12 years, 7 months ago) by iliev
File length: 41870 byte(s)
Diff to previous 2248 , to selected 3561
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 19 15:51:18 2011 UTC (12 years, 7 months ago) by iliev
File length: 40410 byte(s)
Diff to previous 2244 , to selected 3561
* sfz engine: implemented opcodes amplfo_delay_onccN,
  amplfo_fade_onccN, fillfo_delay_onccN, fillfo_fade_onccN,
  pitchlfo_delay_onccN, pitchlfo_fade_onccN


Revision 2244 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 18 11:32:33 2011 UTC (12 years, 7 months ago) by iliev
File length: 40151 byte(s)
Diff to previous 2238 , to selected 3561
* sfz engine: use common pool of CC objects to minimize RAM usage


Revision 2238 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 12 17:30:47 2011 UTC (12 years, 7 months ago) by iliev
File length: 35978 byte(s)
Diff to previous 2237 , to selected 3561
* bugfix: sfz engine was using enormous amount of memory
* bumped version to 1.0.0.cvs14


Revision 2237 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 12 13:07:05 2011 UTC (12 years, 7 months ago) by iliev
File length: 35771 byte(s)
Diff to previous 2236 , to selected 3561
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 11 18:25:45 2011 UTC (12 years, 7 months ago) by iliev
File length: 34190 byte(s)
Diff to previous 2235 , to selected 3561
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 10 19:40:39 2011 UTC (12 years, 7 months ago) by iliev
File length: 28657 byte(s)
Diff to previous 2233 , to selected 3561
* 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 2233 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 8 18:46:19 2011 UTC (12 years, 7 months ago) by iliev
File length: 24647 byte(s)
Diff to previous 2232 , to selected 3561
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 8 13:40:04 2011 UTC (12 years, 7 months ago) by iliev
File length: 22122 byte(s)
Diff to previous 2230 , to selected 3561
* sfz engine: implemented opcode volume_smoothccN


Revision 2230 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 5 17:59:10 2011 UTC (12 years, 7 months ago) by iliev
File length: 21351 byte(s)
Diff to previous 2229 , to selected 3561
* sfz engine: implemented curves
* sfz engine: implemented opcodes volume_onccN, volume_curveccN


Revision 2229 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 4 19:02:36 2011 UTC (12 years, 7 months ago) by iliev
File length: 20752 byte(s)
Diff to previous 2227 , to selected 3561
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 3 17:11:40 2011 UTC (12 years, 7 months ago) by iliev
File length: 19781 byte(s)
Diff to previous 2226 , to selected 3561
* sfz engine: implemented opcodes fillfo_freqccN,
  pitchlfo_freqccN, amplfo_freqccN, lfoN_freq_onccX


Revision 2226 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 3 09:12:09 2011 UTC (12 years, 7 months ago) by iliev
File length: 18418 byte(s)
Diff to previous 2225 , to selected 3561
* sfz engine: implemented opcodes pitchlfo_fade,
  fillfo_fade, amplfo_fade, lfoN_fade, lfoN_fade_onccX


Revision 2225 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 2 13:44:57 2011 UTC (12 years, 7 months ago) by iliev
File length: 17167 byte(s)
Diff to previous 2224 , to selected 3561
* sfz engine: implemented opcodes lfoN_phase, lfoN_phase_onccX,
  lfoN_pitch, lfoN_pitch_onccX


Revision 2224 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 1 19:08:09 2011 UTC (12 years, 7 months ago) by iliev
File length: 15668 byte(s)
Diff to previous 2223 , to selected 3561
* implemented opcode pitchlfo_depthccN


Revision 2223 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 29 13:39:58 2011 UTC (12 years, 8 months ago) by iliev
File length: 14927 byte(s)
Diff to previous 2222 , to selected 3561
* implemented sine LFO, pulse LFO and saw LFO
* sfz engine: implemented opcode lfoN_wave


Revision 2222 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 28 18:24:12 2011 UTC (12 years, 8 months ago) by iliev
File length: 14356 byte(s)
Diff to previous 2221 , to selected 3561
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 28 17:17:42 2011 UTC (12 years, 8 months ago) by iliev
File length: 13061 byte(s)
Diff to previous 2220 , to selected 3561
* sfz engine: implemented opcodes pitchlfo_delay, pitchlfo_freq,
  pitchlfo_depth, fillfo_delay, fillfo_freq, fillfo_depth,
  amplfo_delay, amplfo_freq, amplfo_depth


Revision 2220 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 28 15:47:51 2011 UTC (12 years, 8 months ago) by iliev
File length: 11244 byte(s)
Diff to previous 2219 , to selected 3561
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 28 12:35:49 2011 UTC (12 years, 8 months ago) by iliev
File length: 9747 byte(s)
Diff to previous 2218 , to selected 3561
* sfz engine: implemented opcodes lfoN_delay,
  lfoN_freq, lfoN_pan, lfoN_cutoff, lfoN_resonance


Revision 2218 - (view) (download) (annotate) - [select for diffs]
Added Thu Jul 28 08:05:57 2011 UTC (12 years, 8 months ago) by iliev
File length: 6387 byte(s)
Diff to selected 3561
* sfz engine: use the newly introduced signal units model


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC