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.