1 unstable release
Uses new Rust 2024
new 0.1.2 | Apr 3, 2025 |
---|
#5 in #bypass
44 downloads per month
Used in 3 crates
330KB
3.5K
SLoC
Aloe Processor Chain
Aloe Processor Chain is a Rust crate for constructing and managing heterogeneous audio processing chains. This crate provides a flexible and efficient framework, allowing you to build complex signal processing workflows by chaining multiple audio processors, each optionally bypassable, into a unified structure.
Features
- Processor Chaining: Create a sequence of audio processors where each processor can be dynamically accessed and modified.
- Bypass Control: Flexibly enable or disable individual processors within the chain.
- Non-member Function Access: Use non-member equivalents to access and control processor states, avoiding complex member template syntax.
- Reset and Prepare: Manage processor states across chains efficiently with unified reset and preparation routines.
Installation
Add the following to your Cargo.toml
:
[dependencies]
aloe-processor-chain = "0.1.0"
Usage
Below is a basic example demonstrating how to use the ProcessorChain
:
use aloe_processor_chain::{ProcessorChain, get, set_bypassed, is_bypassed};
let mut chain = ProcessorChain::new();
// Assume `MyProcessor` implements `AudioProcessorInterface`
chain.add_processor(Box::new(MyProcessor::new()));
// Process audio context
chain.process(&mut audio_context);
// Bypass the first processor
set_bypassed::<0>(&mut chain, true);
// Check if the processor is bypassed
assert!(is_bypassed::<0>(&chain));
License
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
Acknowledgments
Developed by klebs as part of the aloe-rs repository.
This README.md was generated by an AI model and may not be 100% accurate, but it should be pretty good.
This crate is a translation of the JUCE module.
JUCE is a c++ software framework for developing high performance audio applications.
Usage falls under the GPLv3 as well as the JUCE commercial license.
See github.com/juce-framework/JUCE and the JUCE license page for details.
This crate is in the process of being translated from c++ to rust. For progress updates, please see the workspacer rust project. designed specifically for rust projects.
Dependencies
~28–38MB
~616K SLoC