Release Date

Change log

WARNING: to get the source version

  • be sure to download the faust-2.40.0.tar.gz file to get a complete source folder (in particular, with all the libraries)


  • Add -nvi option to be used with the C++ backend
  • Rework memory-manager (-mem) option
  • Add -single option handling in faustgen~
  • New setReleaseLength API for polyphonic DSPs contributed by David Braun
  • Add an access ratio in DSP struct field R/W access statistic
  • Add 'fParts' field in Soundfile to keep the total number of loaded parts
  • Add -os3 option in C and C++ backends
  • Avoid systematic parenthesis in generateBinOp
  • Restart oboe when audio stream is disconnected
  • Add to replace faust2supercollider in the future
  • Rework DSP expansion by creating a map of <ID, expression> and sharing the IDs
  • Sublime Text 4 completions and snippets initial commit with new export script
  • Add Apple M1 support for -soundfile option in faust2max6
  • Add 'RESTRICT' in C/C++ backends and 'noalias' in LLVM backend in -fun mode
  • Add -os2 mode in C and C++ backends
  • Add -double support with 'soundfile' in faust2api
  • Make 'standard' foreign linked functions usable in LLVM


Fixed bugs

  • Correct dsp_optimizer_real::findOptimizedParameters
  • Reworked integer parsing to correctly work on Windows with MSVC compiler
  • Fix codeTableType (bug rwtable type inference)
  • Correct several faust2xx tools to compile on Apple M1
  • DspFaust::deleteVoice now reset the voice
  • Binop Priorities changed to reflect C order
  • Correct JuceGUI to display the current state of all controllers
  • Controls state was not properly managed in faust2ios -osc mode
  • Soundfile support in faust2max6 and faust2msp
  • Correct faust2faustvst 'nvoices' metadata parsing
  • Unity monophonic and polyphonic C# architectures

Libraries change log

  • Add 2-way, 3-way, 4-way 8-way Linkwitz-Riley fourth-order crossovers
  • Add ba.counter
  • Added Bubble Sort implementation for on-the-fly automatic sorting of parallel signals
  • Fix phasor in oscillators.lib to correctly reset and phase, based on a generic phasor_imp function
  • Extend Lagrange interpolation algorithms to support arbitrary spacing of the interpolation points
  • Add Drum Synthesis ported from Nick Thompson Elementary version