Releases: grame-cncm/faust
Releases · grame-cncm/faust
Faust version 2.68.1
Change log
WARNING: to get the source version
- be sure to download the
faust-2.68.1.tar.gzfile 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 filecommand to remove thecom.apple.quarantineextended attribute. See the xattr man page for details on how to use that tool.
New
- Reworked
mesh2fausttool. - Rework faust-dynamic-engine.
- Experimental
-diffoption for 'Automatic Differentiation in the Faust Compiler' - Add
sigDelay1in signal API. - Add
printCBox/printCSignalAPI in box and signal API. - Add
getSigInterval/setSigIntervalin signal API. - New
faust2rnbotool (see https://faustdoc.grame.fr/tutorials/rnbo/) - Reworked
faust2vhdlcode. - Add
-itoption to inline rdtable/rwtable code in the main class. - Add missing
roundprimitive in the language. - Add
-vecmode in Rust backend. - Codebox backend (for RNBO support).
- MIDI and polyphonic support in JSFX backend.
Deprecated
Fixed bugs
- Revert incorrect
routeprimitive incorrect fix. - Add
checkNullBargraphLabelto better handle null labels in bargraph. - Complete
-quadsupport in C++ backend. - Rework broken
-injoption.
Libraries
- Add
ba.ifNcandba.ifNcNofunctions - 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.gzfile 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 filecommand to remove thecom.apple.quarantineextended attribute. See the xattr man page for details on how to use that tool.
New
- Rework
-dltthreshold handling. - JSFX backend contributed by Johann Philippe.
- Properly test
-mcdvalues in best found vector option. - Improve
dsp_optimizerto 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.gzfile 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 filecommand to remove thecom.apple.quarantineextended attribute. See the xattr man page for details on how to use that tool.
New
- Improve
cmajor-faust-testertool to display performance ratio. - Optimize
atan2(x,x)as PI/4. - Remove
sigTableand usesigWRTblto coderdtableandrwtable. - Adding submodule for
faust2ckpointing to Stanford-CCRMA. - Add
classInitmethod indsp_factoryclass (needed for LLVM backend) - Add -double support in
faust2bench. - Micro optimisation for logical operators.
- Support for LLVM 17 API.
- Rework
-ftz 0/1/2mode 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
-fxmode [WIP] - Add Trill RING and HEX sensors support in
faust2bela - Print ASSERT message when faustassert is triggered.
- Add
-fpga-memoption to replace FAUST_MAX_SIZE environment variable. - Support for LLVM 16 API.
faust2max6now 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
-fuioption, to freeze UI sliders/nentry to a given value. - Interp LLVM backend updated to LLVM 15 API.
- Add a
-ciroption 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
faust2daisywith-patchand-pod - Remove
gtk_progress_set_percentagein GTKUI. - Correct
mspUIhandling 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
-osXgeneration and architecture files. - Correct
faust2plotandfaust2csvplot.
Libraries
- Add
tabulateNd. - Fix
tabulate: use int(id+0.5) in .val - Add
it.remap. - More general
dryWetMixer/dryWetMixerConstantPowerfunctions. - Add
sp.constantPowerPan. - Add dry wet mixers.
- Add
deg2radandrad2deg. - 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.
Faust version 2.54.9
Change log
WARNING: to get the source version
- be sure to download the
faust-2.54.9.tar.gzfile to get a complete source folder (in particular, with all the libraries)
New
- Android architecture updated for API 33
- Add
[hidden:xx]metadata handling in JUCE architecture - Karl Hiner support LLVM 15 by disabling opaque pointers (temporary solution)
- Update dplug architecture file
- Dynamic detection of -double mode in dynamic-jack-gtk tool
- Complete Faust/Cmajor hybrid patches
- Add
-inputoption in interp-tracer tool - Add a
-walloption to print all warnings generated while compiling the code - Rework
-ctoption and activate it by default - Remove
-catoption and rework -ct one to check the rdtable/rwtable range and generate safe access code - Improve memory trace in Interp backend, correct
SignalTreeChecker::visitto properly recurse - Add -sts option to force strict compilation of 'selectX' primitives. Default is non-strict for stateless branches
- Add template backend
- Add missing
createSourceFromBoxesAPI - Add -universal (arm/intel) option in faust2supercollider
- BELA architecture: add support of checkbox widget for digital in and trill craft sensor, slider mode for trill craft sensor (contributed by Pascal Faivre)
- New Cmajor backend
- New JAX backend contributed by David Braun
Deprecated
Fixed bugs
- Complete
InstComplexityVisitor::visit(LoadVarInst* inst) - Oleg Nesterov correction on intCast
- Correct
assertStoreXX/assertLoadXXin Interp backend - Add a thread in
CMDUIto update GUI - Table generation in
-os0and-os1in C++ backend - Oleg Nesterov correction for functions with no input parameters: in this case the compiler generates code to call the function at sample rate
- Interval computation for % operator
Faust::getMetadatain vst.cpp (faust2vst architecture file)- Use a cast bool binary operations (comparison operations) to int pass in Cmajor backend
- Correct
-inploption - Rust: Allocate on the heap with default-boxed
- Rework threaded API calls
- Generation of rwtable related code in C/C++ backends in -os2/os3 mode
Libraries change log
- Improved
os.sawNandos.sawNpdocumentation - Add Oleg Nesterov
ba.tabulate_chebychevfunction - Limit
ma.BSin the [1..16384] range.
Faust version 2.50.6
Change log
WARNING: to get the source version
- be sure to download the
faust-2.50.6.tar.gzfile to get a complete source folder (in particular, with all the libraries)
New
- In C++ backend and
-nvimode, use 'static constexpr' in separated methodsgetStaticNumInputs/getStaticNumOutputs - Add relative standard deviation computation in benchmark tools
- Add POD support in
faust2daisy - Rust: Use wrapping add, sub and mul operations
- Allow indentifiers starting with multiple '_'
- Faust identifiers extended to accept c++ namespaces
- Rework
createSourceFromBoxes/createSourceFromSignalsAPI suggested by David Braun - Add a
-dynoption (create libfaust + LLVM backend dynamic version) infaust2jack,faust2cagtk,faust2plotandfaust2csvplot - Latency metadata added in
faust2juce - Add support for Trill Craft sensors in
faust2bela - Allows 0 iterations for
par,seq,sumandprod - New ...%{ijk}... extended syntax for label variables
- Add template-llvm.cpp architecture to allow any
faust2xxto become 'dynamic'. - Add
registerForeignFunctionfor LLVM backend - Support for soundfile in Interp backend
- Extension of letrec with an optional 'where' clause followed by common definitions
- Completed Box/Signal API
Deprecated
Fixed bugs
- Argument evaluation order sensibility and warnings when compiling with GCC 12.
- Ladspa architecture file to set descriptor info from metadata
- Fixing a couple of inconsistencies in the Teensy architectures
- Incorrect use of ScopedNoDenormals
- Correct operator priority and parenthesis generation in textual backends. Add
-fpoption - Correct generation of float/double textual representation
- Rework
-eoption to print ordered ID - Correct
-ub/-universaloption mixup infaust2max6
Libraries change log
- Add the "Standardized Filters" section and the ITU-R BS.1770-4 K-filter
- compressors: leave the GR signal in the dB scale
lag_udrenamed inonePoleSwitchingand improved
Faust version 2.41.1
Change log
WARNING: to get the source version
- be sure to download the
faust-2.41.1.tar.gzfile to get a complete source folder (in particular, with all the libraries)
New
- Make
faustgen~compile on Apple M1. - Add interpreter-dsp C API.
- Optimize 'powprim' when arg is or represents an integer.
- Add
-oscadditional parameters handling indynamic-jack-gtkandpoly-dynamic-jack-gtktools. - Improve documentation coherency in
faust2xxtools. - New
faust2benchtool. - Rework public export.
- Update
faust2max6to produce uiversal arm64/x86_64 code signed binaries. - 'librarypath' with an empty path now clear the librarypath list in
faustgen~. - Add an
ncparameter infaustgen~'compileoptions' message. - Compute and add 'shortname' in JSON generation.
- Add
faust2tidalcyclestool. - Update
faust2puredatafor Apple M1. - Rework 'read' method in
faustgen~.
Deprecated
Fixed bugs
- Relax same path rule causing errors for bargraph.
replaceCharListnow creates a copy of the 'str' parameter. CorrectbuildPath.- JUCE architecture float/double and
prepareToPlayhandling. - Make broken
-ocppmode work again. - Some variables were not correctly moved from
computetocomputeThreadin-schmode.
Libraries change log
- New time-domain pitch-tracking and spectral centroid functions.
- Noise Generator: add
colored_noise. - Rewrite
slidingReduce. - Update hoa.lib.
- Add
cent2ratio/ratio2centfunctions. - Add ahdsre (ADSRe with hold time).
- Change use of obsolete
ma.INFINITYinma.MAX. - Faster
ba.peakholderversion.
Faust version 2.40.0
Change log
WARNING: to get the source version
- be sure to download the
faust-2.40.0.tar.gzfile to get a complete source folder (in particular, with all the libraries)
New
- Add
-nvioption to be used with the C++ backend - Rework memory-manager (
-mem) option - Add
-singleoption handling in faustgen~ - New
setReleaseLengthAPI 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
-os3option in C and C++ backends - Avoid systematic parenthesis in
generateBinOp - Restart oboe when audio stream is disconnected
- Add
faust2sc.pyto replacefaust2supercolliderin 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
-soundfileoption infaust2max6 - Add 'RESTRICT' in C/C++ backends and 'noalias' in LLVM backend in
-funmode - Add
-os2mode in C and C++ backends - Add
-doublesupport with 'soundfile' infaust2api - Make 'standard' foreign linked functions usable in LLVM
Deprecated
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
faust2xxtools to compile on Apple M1 DspFaust::deleteVoicenow 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 -oscmode - Soundfile support in
faust2max6andfaust2msp - 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_impfunction - Extend Lagrange interpolation algorithms to support arbitrary spacing of the interpolation points
- Add Drum Synthesis ported from Nick Thompson Elementary version
Faust version 2.37.3
Change log
WARNING: to get the source version
- be sure to download the
faust-2.37.3.tar.gzfile to get a complete source folder (in particular, with all the libraries)
New
- Improve compilation of 'select2' to be really strict.
- Add Box API
- Add Signal API
- Add experimental
assertbounds,lowestandhighestprimitives. Add-wiand-nioptions - Add experimental VHDL generation
- Add ESP32 support in
faust2api - Improve
interp-tracer - In
faust2object,'-A path'also added as'-I path'in the C++ command - Add 'copysign' math function
- In
faust2max6,'-A path'also added as'-I path'in the C++ command - Add
-os1option in C++ backend - Add Julia backend and architectures
Deprecated
Fixed bugs
- getLibraryList working with expanded files
- CoreAudio: skip an input device's output channels
- Correct implementation of
isnan/isinf/copysignin Interp backend - Add missing
isnan/isinf/copysignprimitives in WASM architectures - JUCE plugin architecture in -double mode, single call to prepareToPlay enforced
Libraries change log
- Fixed
moogLadderby Dario Sanfilippo. - Fixed compressors in compressors.lib
- Rename
ma.INFINITYinma.MAX - Correct
dm.exciteragainst division by zero - Add interval protection in
linear2dbandpole2tau - Add
ma.copysigfunction - Fix
pulse(p)when p is modulated (bug reported by DS)
Faust version 2.33.1
Change log
WARNING: to get the source version
- be sure to download the
faust-2.33.1.tar.gzfile to get a complete source folder (in particular, with all the libraries)
New
- Tools
dynamic-faust,faustbench,faustbench-llvmandfaust2objectare now part of the macOS binary distribution. - New
-os0and-os1options (variants of -os) in C backend. - Add
dynamic-coreaudio-gtktool. - New
faustremote [<servurl>] <platform> <arch> <srcfile> ==> <binary.zip>script. - Add
faust2w64puredatascript. - Add
-bsoption tofaust2sndfile. - Add
-editoption indynamic-jack-gtk. - Add
-ctoption infaust2sndfile. - Add
-doublesupport withsoundfile. - Make
-inj foo.cppoption correctly work infaust2objecttool. - Add switch/case based Interpreter loop for Windows32 compilation in Interp backend.
- Update
faust2juceto Projucer 6.0.8 (build date 22 Mar 2021). Add Visual Studio 2019 builds to the plugin and standalone Jucer files. Add new arg tofaust2jucefor VST 2 SDK folder. Add new arg for disabling juce splash screen. - Add
-a arch_filein compile options generation. - Add
dsp_crossfaderclass. - New experimental
faust2audiokittool. - Csharp backend contributed by Mike Oliphant.
- Add
-fx (fixed-point)option. - Add
-soundfileoption tofaust2object. - Add
faust2cagtktool. - New
soul-faust-editortool. - Add architecture files for Daisy and
faust2daisy. - Add
-rcoption to possibly use the foo.rc file infaust2sndfile. - Complete
createSRAdapter. - Add
-us/-ds/-filteroptions tofaust2object,faustbench,faustbench-llvm. - Add support for 'logical right-shift' and correct support for int64 in most backends. Correct
-ftz 2and-doublesupport in wast/wasm backends.
Deprecated
Fixed bugs
- Correct
-doublemode in Interp backend. - Correct polyphonic handling in
-doublemode. - Improve voice stealing in
mydsp_poly. - Fix 'pow' function to compute with integers when both arguments are integers.
- Correct
faust2plotandfaust2csvplotSR parameter handling. - Correct
faust2max6assist messages. Fix CPU measure display in several tools. - For
faust2max6, correct ui.js to create appropriate 'int' or 'float' type slider depending of the step value.
Libraries change log
- Add
pink_noise_demotodemos.lib. - Add
jprevandgreyholereverbs: developed by Julian Parker and Till Bovermann. - ADSR modification: favors a constant release time rather than a constant release slope for very short gates.
- New
fds.libby Riccardo Russo. - New
aanl.liblibrary for antialiased nonlinearities by Dario Sanfilippo. - New
wdmodels.liblibrary by Dirk Rosenburg. - Making the behaviour of
si.smooSR-independent. - Add
tabulatein basics.lib.