1.0.2616
This release includes various updates related to the audio runtime and midi classes
API Updates
The API has been updated to return result codes from various methods on the Performer. The result indicates success, or specific error conditions. Previously these conditions would trigger an assert within the implementation, which was unhelpful when considering wrapping the library into other languages.
Updated LLVM
LLVM has been updated to version 18, which brings some performance benefits when running with the JIT.
Added SourceTransformer
A new beta capability has been added which allows a patch to modify source code before compilation. This can be used to inject user generated source code into a patch, or to transform source code in other ways. An example,FaustFM
is included in the examples which uses both Faust and Cmajor source code, and uses a Faust to Cmajor transpiler to allow support mixing source within one patch, using a wasm build of the Faust compiler suite to transpile.
This feature is new and the API is likely to change over time as it stabilises, so expect some churn if you use this feature.
Bug fixes
There were issues in the previous release which caused compilation failures when using certain intrinsic functions. This has been resolved
Resolved a compile error related to unresolved types triggering errors when checking function return types
Resolved a problem when returning void events from a patch, which previously returned the incorrect type