1.0.2358
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