Releases: agraef/pd-faustgen
2.2.0
Add support for "old-style" Faust polyphony.
Makes the nvoices
declaration in the Faust source work as usual. By these means a monophonic synthesizer with freq/gain/gate controls becomes a polyphonic one, maintaining separate dsp instances for each of the voices.
This isn't quite as efficient and flexible as pd-faustgen2's new polyphony implementation which keeps all voices in a single dsp (this continues to be available as well). But it is what is readily supported by most other Faust architectures, and thus provides better compatibility with existing Faust programs. It also facilitates porting Faust programs developed in pd-faustgen2 to other architectures. In particular, it's now much easier to compile the same program as a DAW plugin.
As usual, please check below for ready-made packages for Mac, Windows, and Ubuntu. The latter package should hopefully work on most modern x86_64 Linux systems, other builds for various Linux systems can be found on the OBS.
2.1.1
Changes:
- Minor cosmetic changes in the Debian build machinery.
- The native Apple Silicon (M1/M2) builds are now officially supported.
- Mac builds have been updated to LLVM 14.0.6 from Homebrew.
- Added
declare -lib faustgen2~
to the sample patches so that they work without the external preloaded.
As usual, please check below for ready-made packages for Mac, Windows, and Ubuntu. The latter package should hopefully work on most modern x86_64 Linux systems, other builds for various Linux systems can be found on the OBS.
Please note that the new macOS builds are still a bit experimental at this time, please report back if you find any issues with these.
2.1.0
There are no changes in functionality in this release, i.e., existing patches should continue to work as before.
Notable changes:
- Faust updated to 2.54.9
- sign-on message is now shown at normal log level (additional console output from Faust programs still needs log level 3 or more in vanilla Pd)
- various other smaller bugfixes and documentation updates, please check the commit history for details
Build system:
- added Debian/Ubuntu builds (these are on the OBS, where we also provide Fedora packages)
- added GitHub CI (replacing appveyor+travis, CI builds can now be found on the Actions tab)
Please note that the OBS builds are still a bit experimental at this time, please report back if you find any issues with these. If the OBS packages don't work for you, try the ubuntu package we provide below; this has LLVM statically linked and should hopefully work on any x86_64 Linux system with recent base libraries.
llvm 14 from homebrew
Homebrew llvm@14 arm64 binaries, for the macos-arm build.
2.0.2
Another bugfix release. Fixes a segfault in Scala file search on Windows, and adds some missing connections in the poly subpatch of the help patch.
Installation
Download the package for your operating system and unzip its contents into a directory which Pd searches for externals. Please also check the README file for usage and instructions on how to build the external yourself from source. Additional (off-site) package sources for Linux can be found here:
-
For the most recent Debian and Ubuntu systems, you can find ready-made packages on the OBS (Open Build Service). Download links for available packages: Pd (vanilla) package, Purr Data package
-
For Arch Linux users, we have PKGBUILDs available on the AUR.
Update 2023-01-01: Fresh from the presses, a native ARM build for Apple Silicon is now available as well.
2.0.1
This is a bugfix release which fixes some glitches in the Scala filename search. We also updated the build and installation instructions in the README.
Installation
Download the package for your operating system and unzip its contents into a directory which Pd searches for externals. For Arch Linux users, we have PKGBUILDs available on the AUR. Please also check the README file for usage and instructions on how to build the external yourself from source.
2.0.0
pd-faustgen2 (initial release)
This is an extensive update of pd-faustgen from CICM. From the ChangeLog:
- Renamed external to faustgen2~ to avoid clashes with CICM faustgen~ (needed since faustgen2~ is not a drop-in replacement for faustgen~)
- Reworked layout of inlets and outlets (now one control inlet/outlet pair on the left, remaining iolets are the dsp's inputs and outputs)
- MIDI, polyphony, Scala tunings, OSC, and Pd GUI support (that's an abundance of new functionality, bringing faustgen2~ up to par with both Grame's faustgen~ and JGU's pd-faust)
- polyphony uses a new simplified scheme which places all voices into a single dsp and marks up the indexed freq/gain/gate parameters with special meta data
- special monophonic voice allocation mode featuring old-school monophonic/legato play and portamento (see monosynth.pd for an example)
- New creation arguments and related messages for inspection, MIDI, OSC, and Pd GUI support
- Various receivers for wireless communication (you can now send messages to all faustgen2~ objects, just a specific class, or just a specific object)
- Pd loader extension, lets you type just the name of the dsp and be done with it, once faustgen2~ has been loaded
- Name mangling of Faust labels to improve handling of control names in Pd, also removed the ugly 0x00 ui name components Faust generates for anonymous groups and controls
- Use Pd's built-in menu_openfile interface to open the text editor on the dsp source file
- Improvements in the build system (make install, option to build against an installed Faust version)
- Added a bunch of new examples, including various synths and effects, Scala tuning files, and a sample TouchOSC layout for the synth-osc.pd example
- Many smaller fixes and improvements
2.0.0-rc4
2.0.0-rc3
Precompiled LLVM 9.0.0 Windows binaries
The Windows binaries available on llvm.org are useless to build Faust's LLVM backend, so we keep our own precompiled binaries here. This isn't the very latest LLVM version, but tried and tested and known to work with the Faust version that we use.
Note that the 64 bit package is straight from Pierre Guillot's upstream, while the 32 bit binaries (needed for building the external for 32 bit versions of Pd and Purr Data) are our own. These are primarily intended for our AppVeyor builds, they may or may not work for you when trying to build pd-faustgen2 on Windows, use at your own risk. :)