distortion-rs
distortion-rs copied to clipboard
An example audio plugin built with JUCE6 and Rust
Distortion-rs
This repository contains an example audio plugin built using JUCE and Rust.
Building
To build the plugin, you must have Rust abd CMake installed. You
also need cbindgen
, which
can be installed with the command:
$ cargo install --force cbindgen
Next, clone the repository and initialize submodules:
$ git clone https://github.com/jatinchowdhury18/distortion-rs.git
$ cd distortion-rs
$ git submodule update --init --recursive
Finally, build the project using CMake:
$ cmake -Bbuild
$ cmake --build build --config Release
About
I was inspired by Ian Hobson's freeverb-rs project to start learning Rust for audio signal processing. The wonderful Rust audio community has developed the vst-rs crate to build audio plugins entirely in Rust, but unfortunately plugin GUI support in Rust is limited.
The distortionlib
folder is a Rust crate which builds to a static
library containing all necessary DSP functionality. The src/
folder
contains JUCE/C++ code that builds the plugin GUI, manages the plugin
parameters, and connects to the Rust library. Since JUCE6 supports
building with CMake, this project uses Devolution's
CMakeRust tool to integrate
the Rust toolchain into the CMake build process.
License
@TODO