Releases: grame-cncm/faust
Releases · grame-cncm/faust
Faust version 2.77.3
Change log
WARNING: to get the source version
- be sure to download the
faust-2.77.3.tar.gz
file to get a complete source folder (in particular, with all the libraries) - on macOS, binary files are still to notarise, you may have to use the
xattr -rd com.apple.quarantine file
command to remove thecom.apple.quarantine
extended attribute. See the xattr man page for details on how to use that tool. MacOS Monterey is now the minimal version.
New
- Remove undeeded SVG generation in
faustgen
. - Add
-miniaudio
option tofaust2api
. MiniaudioReader
andminiaudio
device using miniaudio library.- Compilation is now deterministic.
- Add lint test for nondeterministic pointer comparison
- Add signal interpreter (WIP).
- Rust: provide a inplace interface for rust
- Implement
soundfile
handling at init stage in C, C++, LLVM and Interp backends. - Add the 'varname' field to the JSON format.
- Update MIR backend for 1.0.0 API.
- Implement
-ec
,-cm
and-os
options in Rust backend. - Rework minimal.c to demonstrate use of
UIGlue
. - Updated class
daisy_midi
to be compatible with libDaisy v7.1.0 - Implement SDF3 generation backend.
- Rework Rust code generation.
- Use shortnames instead of labels in Cmajor backend.
- Add Faust DSP Testbench in JUCE architecture.
Deprecated
Fixed bugs
- Remove empty groups when merging UI subcontainers.
- Fix duplicated bar graphs bug caused by double simplification.
- Fix missing type annotation step. This step is needed to draw the retimed sig graph.
- Reserved keyword used in labels do not trigger impossible simplications anymore.
uiCheckButton
inJuceGUI
state handling.- Correct
-fgpa-mem
option handing combined withfDLThreshold
. - Add -universal option in
faust2unity
, formatting. - Update fastmath.cpp to be used with a C compiler.
- Update fastmath.cpp for GCC >= 14.2.x.
- Add a cmake LINK_LLVM_STATIC option.
- Add
::
prefix to dsp class to help with integration in JUCE.
Libraries
- Add
oneEuro
filter. - Add
ba.mulaw_bitcrusher
function. - Add Kalman filter.
- Add linear algebra library.
- Topology-preserving transform SVF following Zavalishin's method; Andy Simper's Dynamic Smoothing.
- Add
ba.tAndH
andfix ma.zc
. - Add second-order anti-aliased softclip.
aa.softclipQuadratic2
renamed inaa.softclipQuadratic1
.- Add anti-aliased quadratic softclip.
- Add linear piecewise interpolation function.
Faust version 2.75.7
Change log
WARNING: to get the source version
- be sure to download the
faust-2.75.7.tar.gz
file to get a complete source folder (in particular, with all the libraries) - on macOS, binary files are still to notarise, you may have to use the
xattr -rd com.apple.quarantine file
command to remove thecom.apple.quarantine
extended attribute. See the xattr man page for details on how to use that tool. MacOS Monterey is now the minimal version.
New
- Add
-mc
option infaust2w32max6
andfaust2w64max6
. - Add
FAUST_DTREE_SIZE
env variable. - Deterministic compilation activated with the
FAUST_DTREE
environment variable. - Faster hashkey computation taken from boost::hash_combine.
- Update
faust2object
for Apple ARM targets. - Add llvm-test-poly test.
- Introduction of sigRegister and retiming algorithm.
- Another gameaudio - complex rain sounds.
- Another gameaudio - modal synthesis of wind chimes.
- Another gameaudio example - thunder.
- Christof Ressi multichannel implementation in
faust2puredata
. New-newio
option to activate the new model. - Document ratio related methods in APIUI.
Deprecated
Fixed bugs
- Man page generation now uses '--' for long options.
- Use 'struct' instead of 'class' for C++ code generation in
-uim
mode. - Steven Kraninger fix for JUCE architecture bus channel changes for VST3 compatibility up to 8 channels. The original code would create errors in debug and only provide 2 channels even when more channels were selected.
Libraries
- New
scatN
function for general N-port scattering - New
scat
primitive facilitates acyclic tree scattering networks. - Add balanced par, sum, prod to signals.lib.
- Add
selectxbus
(selectbus
with crossfade).
Faust version 2.74.6
Change log
WARNING: to get the source version
- be sure to download the
faust-2.74.6.tar.gz
file to get a complete source folder (in particular, with all the libraries) - on macOS, binary files are still to notarise, you may have to use the
xattr -rd com.apple.quarantine file
command to remove thecom.apple.quarantine
extended attribute. See the xattr man page for details on how to use that tool. MacOS Monterey is now the minimal version.
New
- Improve JuceOSCUI to use OSC alias when they are used instead of the path.
- Create architecture file and faust2stratus script for Chaos Audio Stratus pedal (Martin Bartlett).
- Add multichannels support in faustgen~.
- Add
-mc
(multi-channels model) option in faust2max6. - Reworked
mesh2faust
tool by Karl Hiner. - Added
faust2caconsole
(Core Audio + Console architecture). - new DirectedGraph based code in progress in -ocpp backend.
- Reworked
-fx
mode with new-fx-size
option. Merge Agathe Herrou interval and precision branch. - Rework
-os
(with new 'frame' method) and-it
options. New-ec
option to separate 'control' and 'compute'. - Improve Rust backend to have ffi
remainder/rint
properly compile on Windows.
Deprecated
Fixed bugs
- Correct impulse-tests to correctly use
-O3
optimisation level. - Add a generic 'one update per single updateAllGuis refresh' model in GUI class. Use it for
-bundle
mode in OSCUI. - Correct
faust2max6
(OPTIONS was not used everywhere needed).
Libraries
- Add
ba.selectbus
(David Braun). - New
spulse
function added in basics.lib. - Add
reverbTank_demo
(David Braun). - Add
ba.downSampleCV
(David Braun). - Add
tapeStop
effect and demo (David Braun). - Add Vital reverb (David Braun).
Faust version 2.72.14
Change log
WARNING: to get the source version
- be sure to download the
faust-2.72.14.tar.gz
file to get a complete source folder (in particular, with all the libraries) - on macOS, binary files are still to notarise, you may have to use the
xattr -rd com.apple.quarantine file
command to remove thecom.apple.quarantine
extended attribute. See the xattr man page for details on how to use that tool. MacOS Monterey is now the minimal version.
New
- Deactivate 'Const' optimization in
InstructionsCompiler::generateVariableStore
. - Rework
interp-tracer
(-trace 7 not needed). - Adding a new architecture file (
faust2paconsole
) and front-end script for PortAudio console application building createPolyDSPInstance
can use -1 so that the voice number is found in the [nvoices:N] metadata.- In Cmajor backend, processors are generated in 'namespace faust {...}'.
- Add
createDspFromSignals
API in faust-dynamic-engine. - Add -double support for
faust2jackrust
andfaust2portaudiorust
. - Add output control handling in
faust2supercollider
. - New TypeScript based model for Web glue, linked to the separated faustwasm project.
- Complete faust-dynamic-engine-test with test of
createDspFromBoxes
API.
Deprecated
Fixed bugs
- Correct
-cn
option in LLVM backend. - Handling of
-c
option infaust2sndfile
. - Bug in -inj option handling. Make
faust2max6
properly manage-inj
option. - Fix
remainder
andrint
in Rust backend. - Fix
remainder
in JAX backend (using a PR from David Braun). - Correct simplification function for 'lowest/highest' primitives.
- Type information was not correctly returned in
LLVMInstVisitor::visitIndexedAddress
.
Libraries
Faust version 2.70.3
Change log
WARNING: to get the source version
- be sure to download the
faust-2.70.3.tar.gz
file to get a complete source folder (in particular, with all the libraries) - on macOS, binary files are still to notarise, you may have to use the
xattr -rd com.apple.quarantine file
command to remove thecom.apple.quarantine
extended attribute. See the xattr man page for details on how to use that tool.
WebAssembly
This is the latest release which contains the JavaScript written Faust/WebAssembly glue code using the compiled libfaust-wasm.js
, libfaust-wasm.wasm
and libfaust-wasm.data
files, also used in the faust2webaudio separated project. See documentation.
A new TypeScript/JavaScript based model will be used in the next versions.
New
- Support of LLVM 18
- Add tests in
faustbench
, correct use ofcreateSRAdapter
. - Add initial implementation of a Control UI for the daisy patch init device
- Change BinOp("|") to have fLeftAbsorbing/fRightAbsorbing predicates
- Teach kAND/kOR to optimize &(1) and |(1)
- Add
boxFFun/CboxFFun
andsigFFun/CsigFFun
APIs - Support rtaudio ver > 6.0 in rtaudio-dsp driver
- Add soundfile support in
faust2supercollider
- Add
createDspFromBoxes
API in faust-dynamic-engine.h
Deprecated
Fixed bugs
mesh2faust
: Fix out-of-order arg in main. Fix eigen dirs not being included in executable target (was only included with library).- Correct
uiVUMeter
in JuceGUI text display - Correct Teensy architectures files, especially when several DSP are compiled and used together
- Identifier naming in Cmajor backend
Libraries
- Add
co.ratio2strength
andco.strength2ratio
functions - Add
ba.kr2ar
function - Add
os.sidebands
function
Faust version 2.69.3
Change log
WARNING: to get the source version
- be sure to download the
faust-2.69.3.tar.gz
file to get a complete source folder (in particular, with all the libraries) - on macOS, binary files are still to notarise, you may have to use the
xattr -rd com.apple.quarantine file
command to remove thecom.apple.quarantine
extended attribute. See the xattr man page for details on how to use that tool.
New
- Improve
faustbench-llvm
by checking-ct 0
option - Update
faust2max6
link step for Max 8.6 - Remove identifiers generation workaround in codebox backend
- JAX: improve soundfile path searching
- Introduction of widget modulation expressions
- Add
boxHGroup, boxVGroup, boxTGroup
and C versions in libfaust API - Rework
-1*exp
like expressions in FIR by adding MinusInst - Improved simplifications in particular for
-n*exp
expressions - Expressions
0-x
rewritten in-1*x
inaterm::normalizedTree()
- Update
faustgen~
link step for Max 8.6 - Update
faust2jackconsole
to allow effects option - Add
-I
option tofaust2caqt
Deprecated
Fixed bugs
- Correct
LLVMInstVisitor::visitIndexedAddress
- Minus expression is not correctly handled for now in codebox backend, so use the
-1*exp
workaround, improve MinusInst handling in LLVM backend
Libraries
- Add
si.smoothq
function - Add
ma.not
function - Add
adsr_bias
andahdsr_bias
- Add fibonacci functions
- Adding more mixing functions
- Add
si.repeat
function - Add
wavefold
and `softclipQuadratic saturators
Faust version 2.68.1
Change log
WARNING: to get the source version
- be sure to download the
faust-2.68.1.tar.gz
file to get a complete source folder (in particular, with all the libraries) - on macOS, binary files are still to notarise, you may have to use the
xattr -rd com.apple.quarantine file
command to remove thecom.apple.quarantine
extended attribute. See the xattr man page for details on how to use that tool.
New
- Reworked
mesh2faust
tool. - Rework faust-dynamic-engine.
- Experimental
-diff
option for 'Automatic Differentiation in the Faust Compiler' - Add
sigDelay1
in signal API. - Add
printCBox/printCSignal
API in box and signal API. - Add
getSigInterval/setSigInterval
in signal API. - New
faust2rnbo
tool (see https://faustdoc.grame.fr/tutorials/rnbo/) - Reworked
faust2vhdl
code. - Add
-it
option to inline rdtable/rwtable code in the main class. - Add missing
round
primitive in the language. - Add
-vec
mode in Rust backend. - Codebox backend (for RNBO support).
- MIDI and polyphonic support in JSFX backend.
Deprecated
Fixed bugs
- Revert incorrect
route
primitive incorrect fix. - Add
checkNullBargraphLabel
to better handle null labels in bargraph. - Complete
-quad
support in C++ backend. - Rework broken
-inj
option.
Libraries
- Add
ba.ifNc
andba.ifNcNo
functions - Adding new mathematical oscillators to oscillators.lib
Faust version 2.60.3
Change log
WARNING: to get the source version
- be sure to download the
faust-2.60.3.tar.gz
file to get a complete source folder (in particular, with all the libraries) - on macOS, binary files are still to notarise, you may have to use the
xattr -rd com.apple.quarantine file
command to remove thecom.apple.quarantine
extended attribute. See the xattr man page for details on how to use that tool.
New
- Rework
-dlt
threshold handling. - JSFX backend contributed by Johann Philippe.
- Properly test
-mcd
values in best found vector option. - Improve
dsp_optimizer
to properly test -mcd values in scalar mode. - Add size (in bytes) item in JSON.
Deprecated
Fixed bugs
- More robust FaustPlugin_template.cs, correct
faust2unity
. - Using boxpp to display real values in SVG diagrams.
- Make preset management thread safe.
Libraries
- New version of reducemaps.lib with
parReduce
. - Fix
RMS_FBcompressor_peak_limiter_N_chan
. - Add
tabulateNd
. - tabulate: use int(id+0.5) in .val
Faust version 2.59.6
Change log
WARNING: to get the source version
- be sure to download the
faust-2.59.6.tar.gz
file to get a complete source folder (in particular, with all the libraries) - on macOS, binary files are still to notarise, you may have to use the
xattr -rd com.apple.quarantine file
command to remove thecom.apple.quarantine
extended attribute. See the xattr man page for details on how to use that tool.
New
- Improve
cmajor-faust-tester
tool to display performance ratio. - Optimize
atan2(x,x)
as PI/4. - Remove
sigTable
and usesigWRTbl
to coderdtable
andrwtable
. - Adding submodule for
faust2ck
pointing to Stanford-CCRMA. - Add
classInit
method indsp_factory
class (needed for LLVM backend) - Add -double support in
faust2bench
. - Micro optimisation for logical operators.
- Support for LLVM 17 API.
- Rework
-ftz 0/1/2
mode to directly apply on signals. - Rework same path rule for UI items: two input control cannot have a same path (trigger an ERROR), an input control and a bargraph can have the same path (WARNING), two bargraph can have the same path (WARNING)
- Add fixed-point
-fx
mode [WIP] - Add Trill RING and HEX sensors support in
faust2bela
- Print ASSERT message when faustassert is triggered.
- Add
-fpga-mem
option to replace FAUST_MAX_SIZE environment variable. - Support for LLVM 16 API.
faust2max6
now compiles and keeps a self-contained DSP version in the compiled external- Soundfile support added in Interp/LLVM backend. Cleanup Interp/MIR backend.
- Add experimental
-fui
option, to freeze UI sliders/nentry to a given value. - Interp LLVM backend updated to LLVM 15 API.
- Add a
-cir
option to check float to integer range conversion. - Add tools in impulse-tests to test signal type.
- Use of the new interval library, developed as a separated project
Deprecated
Fixed bugs
- Fixes bug in defines logic which would fail
faust2daisy
with-patch
and-pod
- Remove
gtk_progress_set_percentage
in GTKUI. - Correct
mspUI
handling in Max/MSP architectures. - Use FAUST prefix in lex/yacc parser, to allow Faust parser to cohabit with other generated lex/yacc parsers.
- Correct MIDI items reflectZone method. MIDI output activated again.
- Correct C/C++ backend with soundfile. Make faustbench usable with DSP using soundfiles.
- Fix AndroidManifest.xml and
faust2ios
. - More flexible channel layout in JUCE export.
- Correct VCVRack architecture.
- Correct
-osX
generation and architecture files. - Correct
faust2plot
andfaust2csvplot
.
Libraries
- Add
tabulateNd
. - Fix
tabulate
: use int(id+0.5) in .val - Add
it.remap
. - More general
dryWetMixer/dryWetMixerConstantPower
functions. - Add
sp.constantPowerPan
. - Add dry wet mixers.
- Add
deg2rad
andrad2deg
. - Correct 'os.phasor_imp' to start at 'phase' at first sample.
Precompiled LLVM and libsndfile binaries
Precompiled LLVM and libsndfile binaries to be used by GitHub actions.