1 unstable release
Uses new Rust 2024
new 0.1.1 | Apr 2, 2025 |
---|
#2 in #audiounit
26 downloads per month
Used in 8 crates
(7 directly)
1MB
7K
SLoC
Aloe Audio Unit Component Crate
Welcome to the aloe-au-component
Rust crate. This crate is designed for advanced audio component management primarily targeting macOS platforms.
Overview
This crate facilitates interaction with Audio Unit (AU) components and serves as a bridge for component management in audio applications. It encapsulates core interactions between component management utilities, allowing fast and efficient dispatch of audio unit operations.
Key features include:
- Component Management: Enables efficient handling and dispatching of component instances.
- Lifecycle Methods: Provides traits for pre and post constructor/destructor operations to manage object lifecycle effectively.
- Platform-Specific Implementations: Contains optimized code paths for macOS with conditional compilation directives to ensure cross-platform compatibility where necessary.
Key Structures and Traits
ComponentBase
- Purpose: Represents the fundamental building block of the audio component.
- Methods: Includes methods for instance management, type determination, and lifecycle control.
Component Lifecycle Traits
AUPreConstructor
andAUPostConstructor
: Managed initialization steps before and after creating component instances.AUPreDestructor
andAUPostDestructor
: Provide safe and orderly destruction of audio components.
Component Management Utilities
ComponentInitLocker
: Protects instance construction using mutexes to ensure thread safety on macOS.
Usage
To integrate aloe-au-component
into your Rust project, include it in your Cargo.toml
:
[dependencies]
aloe-au-component = "0.1.0"
Ensure you have set up macOS development environment if using platform-specific features.
License
This project is licensed under the GPL-3.0 License.
Contributions
Contributions are welcome! Please fork the repository and submit a pull request to the GitHub repo.
Note: This README.md file was generated by an AI model and may not be 100% accurate; however, it should be a helpful starting point.
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
~25–36MB
~603K SLoC