New release of csound-extended package
This release moves the Csound for Android app out of this repository and into its own repository at https://github.com/gogins/csound-android.
There are substantial improvements in the Csound for WebAssembly library and examples:
- There is now only one implementation of Csound for WebAssembly, CsoundAudioNode, based on the AudioWorklet design.
- The code has been substantially debugged and improved, especially with async/await constructs to enable the proper sequencing of Csound API calls.
- The lower half AudioWorkletProcessor class, which actually runs Csound, now sends Csound messages to the upper half CsoundAudioNode and, from there, to an optional user-supplied message callback.
- The audio performance of CsoundAudioNode is now what is promised by the AudioWorklet design, and it is significantly more performant and freer of audio glitches than the old ScriptProcessorNode implementation.
- The build system for WebAssembly now uses the LLVM back end for the Emscripten toolchain, and has been simplified and made more reliable.
As always, the JavaScript interface to Csound is substantially the same as the C++ interface in csound_threaded.hpp
.
This project now documents suggested practices for efficient low-level audio on Linux here.
For the C++ components in csound-extended, the LuaJIT opcodes have been removed from the release and from this project.
Some bugs in the build system that probably made it hard to do a first build have been fixed.
The Lisp node has been removed from CsoundAC, as Embeddable Common Lisp cannot compile the cl-math library used by the nudruz library in csound-extended.
A new Csound mesh reverb opcode, MVerb
, written in C++ but based on Csound code by Jon Christopher Nelson, has been added to csound-extended.