#attributes #vst #plugin #storage #multimedia

aloe-vst-persist

Facilitates persistent storage and processing of object attributes for VST host and plug-in development. This crate is a translation of the c++ juce module serving the same function.

1 unstable release

Uses new Rust 2024

new 0.1.2 Apr 3, 2025

#32 in #vst


Used in 8 crates (via aloe-vst-string)

GPL-3.0 license

165KB
2K SLoC

aloe-vst-persist

aloe-vst-persist is a Rust crate facilitating advanced object data archiving specifically tailored for VST host and plug-in development. By providing interfaces for storing, retrieving, and iterating over object attributes, this crate aids in the communication and management of persistent object data between hosts and plug-ins, empowering developers with tools to handle presets and dynamic data effectively.

Features

  • Store, queue, and retrieve object data efficiently within an archive using unique attribute identifiers.
  • Support for binary data storage and retrieval, providing low-level control over data persistence.
  • Interfaces for iteration and enumeration over stored attributes, enhancing accessibility and management of data.
  • Seamless integration with VST host architectures, adapting to common use cases in audio software development.

Example Usage

use aloe_vst_persist::IAttributes;

fn main() {
    // Example setup and usage of attributes
    struct MyAttributes;
    impl IAttributes for MyAttributes {
        // Implement methods
    }

    let mut attributes = MyAttributes;
    // Set and retrieve data
}

Licensing

This project is licensed under the GPL-3.0 license.

Contribution

We welcome contributions to enhance this crate further. Issues and pull requests are encouraged.


This README.md file was generated by an AI model and may not be 100% accurate, however 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

~13–23MB
~378K SLoC