Skip to content

Releases: grame-cncm/faust

Faust version 2.20.2

14 Jan 12:53
Compare
Choose a tag to compare

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 and soul-faust-player tools

Deprecated

Fixed bugs

  • improve LLVM (backend + Interp) and wasm/wasm select implementation
  • correct faust2jackrust and faust2portaudiorust
  • 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 and faust2csvplot. 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 to pospass
  • new mi.lib library
  • name change: conj -> cconj
  • add ssbf and hilbert 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

05 Apr 08:35
Compare
Choose a tag to compare

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 and faust2api
  • remove old iOS JACK code

Fixed bugs

  • correct CoreAudio architecture and JSON generation
  • correct gyroscope activation in faust2android, fix a bug in FaustPolyEngine::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

31 Jan 15:14
Compare
Choose a tag to compare

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 several faust2xx 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

06 Mar 09:47
Compare
Choose a tag to compare

Latest version before official cmake based built system.

Faust version 2.5.21

11 Feb 22:41
Compare
Choose a tag to compare

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

30 Jan 10:54
Compare
Choose a tag to compare

Latest version before cmake based built system.

Faust version 2.5.10a

24 Jan 10:01
Compare
Choose a tag to compare

Hotfix release of 2.5.10 with backport of some bugfixes from current HEAD, to make package maintainers happy and users who want a stable release tarball that works with the current LLVM version.

  • LLVM 5.0.1 support (rev. 1c98cea)

  • added emacs-faust-mode (rev. 5ca2062)

Faust version 2.5.10

07 Dec 23:56
Compare
Choose a tag to compare

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

07 Dec 23:08
Compare
Choose a tag to compare

Last release before moving to separate libraries submodule.