Releases: shakfu/cyfaust
cyfaust 0.0.4 release
The fourth release of cyfaust, a cython wrapper of the faust interpreter with rtaudio, now adds Windows to its list of supported platforms (OSX, Linux).
Key Changes
-
Added Windows support (MSVC): both dynamic and static variants can now be built on Windows with 100% tests passing (only WASAPI audio has been tested so far).
-
Added
manage.py
, a cross-platform python build management script for cyfaust, which consolidates and replaces all prior build-related scripts. It is used by theMakefile
frontend and can also be used on its own to facilitate cross-platform build operations. -
Added enhancements to
gen_htmldoc.py
python script and makefile target,make docs
, to generate api docs in html for both build variants. -
Added thirdparty licenses to
docs/licenses
-
Added infrastructure for additional rtaudio audio driver support
-
Added cyfaust github workflows:
-
Added several working github workflows:
-
cyfaust-test
: to test individual build case, -
cyfaust-test-all
: to test all builds, -
cyfaust-wheel
: to test and produce a wheel release, -
cyfaust-wheel-all
: to test and produce wheels across supported platforms.
-
-
Fixed github action wheel building issue (thanks to @henryiii for the solution. This means that cyfaust workflows are now working as expected.
-
Added caching to github workflows using
actions/cache@v4
: this means thatlibfaust
dynamic/static libs keyed byrunner-os
are now cached (across all workflows) between runs which greatly reduces workflow run times. As a case in point,cyfaust-test
which previously ran for 32 mins now runs in 5.2 mins if a cached lib is available. -
Changed workflow actions, as nodejs 16 actions are deprecated, to latest versions: actions/checkout@v4, actions/setup-python@v5, and actions/upload-artifact@v4
-
Fixed issue with upload artifact which caused an error in wheel building. Now artifact names are properly differentiated as per the new
actions/upload-artifact@v4
requirements.
-
Wheels
The default wheel packages the cyfaust compiled wrapper modules, libfaust.dylib
, libfaust.so
or faust.dll
, and the faust standard libraries and architectures, whereas the static variant (with the '-static' suffix) packages a single compiled wrapper module which has been statically linked against libfaust.a
or libfaust.lib
as well the faust standard libraries and architectures.
There are many more wheels and wheel variations in this release than in the prior one, as the release effort benefited from the new github workflow capabilities highlighted above and also the introducion of Windows support.
Compared to the prior release, the supported platform architectures are amd64/x86_54 for Windows, x86_64 and arm64 for macOS, and x86_64 and aarch64 for Linux and python versions 3.9 to 3.12
If you have any issues with this release please report the problem in the project's issue tracker.
cyfaust 0.0.3 Release
This third release of cyfaust, a cython wrapper of the faust interpreter with rtaudio support, now includes both macOS and Linux wheels.
The default wheel packages the cyfaust compiled wrapper modules, libfaust.dylib
or libfaust.so
, and the faust standard libraries and architectures, whereas the static variant (with the '-static' suffix) packages a single compiled wrapper module which has been statically linked against libfaust.a
as well the faust standard libraries and architectures.
The wheels from this release are a product of additional testing (in comparison to prior releases) across the supported platform architectures: x86_64 and arm64 for macOS, and x86_64 and aarch64 for Linux.
NOTE: although this 'release' is still pre-alpha, it fixes some major bugs which remained in the two prior releases. These two earlier releases have been removed.
If you have any issues with this release please report the problem in the project's issue tracker.