1 unstable release
Uses new Rust 2024
new 0.1.1 | Apr 3, 2025 |
---|
#39 in #standalone
Used in 4 crates
(2 directly)
3MB
25K
SLoC
Aloe Standalone
Aloe Standalone is a Rust crate designed to facilitate the implementation of standalone instances of audio plugins. By leveraging AudioDeviceManager
, AudioProcessorPlayer
, and other essential elements, it offers powerful audio processing capabilities without embedding within a host application.
Features
- Standalone Audio Processing: Create and run audio plugins in a standalone fashion using the
createPluginFilter()
function. - Comprehensive MIDI and Audio Management: Utilize
AudioDeviceManager
for handling audio and MIDI devices with efficiency. - State Management: Save and restore the state of your audio processor seamlessly through user dialogs.
- Platform Independent: Supports Android, iOS, and desktop platforms with conditional configuration for MIDI device management.
- Buffer Size Handling: Ensures predictable buffer sizes for audio callbacks to prevent out-of-bounds issues across platforms.
Core Concepts
- StandalonePluginHolder: Central object facilitating audio processing. Manages processor creation, device handling, plugin lifecycle, and user settings.
- StandaloneFilterWindow: Provides a windowing wrapper to host and manage the plugin interface, featuring options for user interactions.
- CallbackMaxSizeEnforcer: Addresses platform-specific buffer size discrepancies, ensuring stable audio and MIDI I/O operations.
Quick Start
use aloe_standalone::StandalonePluginHolder;
fn main() {
// Initialize and configure standalone audio processor instance
let settings_to_use = std::ptr::null_mut();
let preferred_setup_options = std::ptr::null();
let holder = StandalonePluginHolder::new(
settings_to_use,
Some(true),
Some("default"),
preferred_setup_options,
None,
Some(true),
);
// Additional logic to utilize plugin holder
}
License
This project is licensed under the terms of the GNU General Public License v3.0.
Additional Information
This README.md file was generated by an AI model and may not be 100% accurate; however, it should provide a good representation of the crate and its usage.
Repository
The source code can be found at GitHub.
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–42MB
~610K SLoC