jariseon / JUCE

The JUCE cross-platform C++ framework, WASM/AudioWorklet version

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JUCE 5 (WebAssembly/AudioWorklet version)

This repo ports the DSP subsection of JUCE library to WebAssembly (WASM). The port enables JUCE plugins to run in web browsers as Web Audio API AudioWorklets. Precompiled static WASM bitcode library (juce-audioworklet.bc) and its build configuration (Makefile and juce_lib.cpp) are here

The port is bundled into two commits. The first one contains modifications to existing JUCE files (mostly just #ifdefs), while the second one contains build configuration, Web Audio Module (WAM) wrapper code and some dummy overrides for functionality that is unsupported in WASM and AudioWorklet environments (threads and high resolution timer). Porting was surprisingly straight forward.

usage

please see this example

license

This WASM version of JUCE uses juce_audio_basics, juce_core and juce_events modules, which are permissively licensed under ISC license. It also uses limited functionality from juce_audio_processors and juce_audio_plugin_client modules, which are under JUCE license. Please see the original JUCE [repo] (https://github.com/WeAreROLI/JUCE) for more licensing info.

About

The JUCE cross-platform C++ framework, WASM/AudioWorklet version


Languages

Language:C++ 69.9%Language:C 17.7%Language:Objective-C 6.3%Language:Objective-C++ 3.1%Language:Java 1.2%Language:CMake 1.0%Language:CSS 0.6%Language:Makefile 0.2%Language:R 0.0%Language:Python 0.0%Language:HTML 0.0%