Releases: grame-cncm/faust
Faust version 2.20.2
Change log
WARNING: to get the source version
- be sure to download the
faust-2.20.2.tar.gz
file to get a complete source folder (in particular, with all the libraries)
New
- detect slider and numentry parameters coherency ('init' must be in [min, max] range)
- new -ct (--check-table) option
- add MIDI channel support in MidiUI class
- correct pitchbench handling (adding NRPN support for pitchbench range) in midi class
- add 'rint' math primitive in wasm/wast and interp backends
- new -os (--one-sample) experimental code generation model in C and C++ backends
- add support for the ESP32 cards with
faust2esp32
script - add math exception handling in impulse-tests
- updated Rust backend
- better messages for block-diagram composition errors
- new --fold-complexity or -fc option
- add resampling support when using 'soundfile' primitive in various
faust2xx
scripts - add support for 'soundfile' primitive in wasm/wast backends
- add support for the teensy card with
faust2teensy
script - add -osc support in
faust2android
- new
route
primitive in the language - new
faust-osc-controller
tool (in tools/benchmark) - new experimental SOUL backend with
faust2soul
andsoul-faust-player
tools
Deprecated
Fixed bugs
- improve LLVM (backend + Interp) and wasm/wasm select implementation
- correct
faust2jackrust
andfaust2portaudiorust
- correct wasm/wast backends
- correct ‘double’ type management in OSC library.
- check slider and numentry parameters coherency at compile time
- fix potential memory leak when creating OpenSL ES engine
- correct messages handling in
faustgen~
-I dir
is now properly used before standard folders- improved WebAudio tools
- fix for multiple registerProcessor call in webaudio-workletnode-standalone-wrapper.js wrapper
- improved
faust2sndfile
tool - more robust
interp-tracer
tool - vector code generation bug
- correct -double handling in
faust2plot
andfaust2csvplot
. Correct MidiUI constructor - evaluation bug: in some specific case we can have an unevaluated identifier inside a closure
Libraries change log
- correct table use in tubes.lib
- add
semi2ratio/ratio2semi
functions in basics.lib. Rework pitchwheel handling - add
isinf
function in maths.lib - add Eric Tarr's various filters in vaeffects.lib
- new
selectmulti
in basics.lib - new interpolators.lib, float.lib, double.lib and runtime.lib
- reworked soundfiles.lib
- add mic input case to
pospass_demo
- revise
pospass
filter to have an explicit cutoff frequency argument - new bypass_fade function in basics.lib
- install
quadosc
improvements by Oleg - hilbert needs explicit order argument:
hilbert(N) = pospass(N)
... - change
ssbf
topospass
- new mi.lib library
- name change:
conj
->cconj
- add
ssbf
andhilbert
to filters.lib - add
ssbf
demo to demos.lib - add
cconj
to signals.lib - new faster AR, ASR, ADSR envelop generators
- new
nextpow2
in maths.lib
Faust version 2.15.11
Change log
WARNING: to get the source version
- be sure to download the
faust-2.15.11.tar.gz
file to get a complete source folder (in particular, with the full libraries)
New
- add a
-soundfile-static
option in faust2max6 - add a
-native
option to faust2msp and faust2max6 - adding basic Teensy support to
faust2api
- new DSP algebra API
- add an 'auto_connect' parameter in DspFaust constructor
- add dynamic-faust tool.
- add writeDSPFactoryToObjectcodeFile API in libfaust.
faust2xx
scripts can now work with a local Faust installation- make C++ backend work in quad mode
Deprecated
- remove asmjs and JS backends
- unstable OSC bundle deactivated for now in
faust2ios
andfaust2api
- remove old iOS JACK code
Fixed bugs
- correct CoreAudio architecture and JSON generation
- correct gyroscope activation in
faust2android
, fix a bug inFaustPolyEngine::init
- correct
readDSPFactoryFromMachine
(LLVM JIT was not properly linked) - update with latest version of RtMidi, more robust MIDI timestamp handling
- correct polyphonic DSP detection in FaustPolyEngine
faust2ios
now creates a self-contained project- correct
-omp
and-sch
code generation with 'soundfile' primitive - correct wast and Interp/LLVM backends
- avoid caching simple delay expressions. Can potentially create use-before-being-defined bugs in vector mode (BUG reported by JS in March 2019)
- allow some foreign math functions in the Interp backend
- A.Graef fix for compilation problems with gcc 8.1+ and Qt 5.10+
- CoreAudio targets working on OS X 10.14 (correct ask the user for audio input access)
Faust version 2.14.4
Change log
-
new cmake based build system.
-
new ‘soundfile’ primitive with support in several
faust2xx
scripts. -
better error checking with delay parameter.
-
add
-effect auto/effect.dsp
parameter in severalfaust2xx
scripts. -
introduction of a new statement allowing to declare definition-related metadata: declare foo author "me";
-
rework libfaust API.
-
adds support for function level metadata. In order to facilitate cooperation between authors of Faust libraries, in particular the fact that multiple authors can contribute to the same library, a new declare statement is introduced:
declare <function> <key> "<value>";
. It allows to declare for each function of a library its own metadata, for example its author, its copyrights, its license, etc. Metadata for a function can be anywhere in the file, but we recommend placing it just before the function definition. -
integration of SAM (SHARC Audio Module) Architecture contributed by Analog Device and Moforte.
-
adds a new option:
-scn <name> or --super-class-name <name>
, to change the name 'dsp' of the super class. -
simplification of some degenerated recursive expressions. Degenerated recursions like: (!:2)~_ are simplified (in this case replace by 2).
-
simplify signals during propagations.
-
add multicast address and bundle handing in OSC architecture.
-
add AudioWorklet handling in WebAudio architectures.
-
rework Bela architecture.
-
new semantic for remainder (%) operator. The % operator is now automatically promoted to fmod when one of the two arguments is a float expression.
TypeExtended annotation extended with a second parameter to control causality check. When this parameter is true, TypeAnnotation rejects non-causal delays. When this parameter is false, TypeAnnotation accepts non-causal delays. TypeAnnotation is called twice: before and after normalization/optimization. During the first call, the parameter is usually set to false (unless the -lcc/--local-causality-check option is passed to the compiler) in order to accept local non-causal delays that can disappear after optimization. On the second call, this parameter is always set to true in order to reject remaining non-causal delays. -
adds new simplification rule:
0-x ==> -1*x
. -
fix concatenation of delay lines. The expressions
(s@n)@m and s@(n+m)
are equivalent only when n is constant. -
add a new libfaustmachine library containing a separated interpreter.
-
new
-os
option (one sample code generation). -
improvement of automatic tests (compiler and architectures).
-
numerous bug fixes in the compiler and architectures.
Known issues
We found out several issues with this release. We plan to make a new one soon.
Faust version 2.5.23
Latest version before official cmake based built system.
Faust version 2.5.21
Bugfix in the pattern matching evaluator, various other bugfixes (please check the git log for details), latest faust-mode (v0.6) from upstream.
Faust version 2.5.17
Latest version before cmake based built system.
Faust version 2.5.10a
Faust version 2.5.10
This version is based on the libraries submodule. It has preliminary AudioWorklet support, to be used with Chrome Canary only for now.
Faust version 2.5.9
Last release before moving to separate libraries submodule.