Windows C++ test support
The runtime now supports running tests via the C++ backend on windows - this allows tests to run on the windows platform and validate the behaviour of the C++ backend. By specifying --engine=cpp the c++ backend can be selected.
LLVM JIT workaround
There is a subtle bug in LLVM which causes problems when multiple JIT based plugins are loaded into the same process. This bug means there is a hard limit of 16 JIT plugins which can beloaded within a host at a given time. The issue has been raised with the LLVM team, but for the moment we have a workaround within Cmajor to mitigate this bug.
Bug fixes
The midi handling for 2 byte midi messages within our runtime was wrong, which lead to the inability for Cmajor to process Pressure (channel aftertouch) messages correctly. This has been respolved
The JUCE project builder now includes the PLUGIN_NAME attribute
The error reporting has been improved for various classes of error, specifically around graph nodes.
Resolved problems with negative slice indexes which could lead to incorrect values been returned.
Fixed various errors with complex types related to casting, vectors of size 1, and wrap
Added better detection of large vector sizes which can lead to excessive compilation time
Resolved problems with graph node arrays which could lead to loops not being detected correctly, and node connections not creating the correct evaluation order of the nodes
Fixed an issue where float64 input streams were not being handled correctly