Skip to content

1.0.2358

Compare
Choose a tag to compare
@cesaref cesaref released this 01 Mar 16:48
· 329 commits to main since this release

Improved wasm generation support

The wasm generation code has been significantly updated, giving a significant improvement to the runtime performance. In addition, a new generator mode, (--target=webaudio-html) can be used to automatically generate the wrapping html to support a web audio implementation of the patch. For example:

cmaj generate --target=webaudio-html cmajor/examples/patches/HelloWorld/HelloWorld.cmajorpatch --output=HelloWorld

Will generate a directory containing an html file which implements the HelloWorld patch

Added support for resetting nodes

When composing processors, it is sometimes useful to be able to communicate that a node has not been used for a number of frames, to clear internal state for example. A typical situation this occurs is if a processor is being bypassed, and then is re-activated. A special void reset() function can now be added to a processor, and this can be called from the wrapping processor on the node directly.

If the processor is oversampled, the state of the oversampler is also automatically reset in this case.

Reduced memory use

Work has been undertaken to reduce the memory use, and compile time for large static arrays within the source. Further work is likely to be undertaken in this area.

Simplified command line tool arguments

The cmaj command line tool has updated arguments for the generate, with additional targets for juce and clap. Check out the command line help to see the new options.

Bug fixes

Resolved a problem with the web aseembly wrapper not correctly handling value endpoints

Improved memory use and compile time for large multi-dimensional arrays

Added support for oversampled node arrays