clack-plugin 0.2.0

Low-level, safe Rust wrappers to create audio plugins using the CLAP audio plugin API.
Documentation
#![cfg_attr(docsrs, feature(doc_cfg))]
#![doc = include_str!("../README.md")]
#![doc(html_logo_url = "https://raw.githubusercontent.com/prokopyl/clack/main/logo.svg")]

extern crate core;

#[macro_use]
pub mod entry;
pub mod extensions;
pub mod factory;
pub mod host;
pub mod plugin;
pub mod process;

pub(crate) mod internal_utils;

pub use clack_common::events;
pub use clack_common::stream;
pub use clack_common::utils;

/// A helpful prelude re-exporting all the types related to plugin implementation.
pub mod prelude {
    pub use crate::{
        clack_export_entry,
        entry::{DefaultPluginFactory, Entry, EntryDescriptor, SinglePluginEntry},
        events::{
            Event, EventHeader, Pckn, UnknownEvent,
            io::{InputEvents, OutputEvents},
        },
        extensions::PluginExtensions,
        host::{HostAudioProcessorHandle, HostMainThreadHandle, HostSharedHandle},
        plugin::{
            Plugin, PluginAudioProcessor, PluginDescriptor, PluginError, PluginMainThread,
            PluginShared,
        },
        process::{
            Audio, Events, PluginAudioConfiguration, Process, ProcessStatus,
            audio::{ChannelPair, SampleType},
        },
        utils::ClapId,
    };
}

#[cfg(doctest)]
#[doc = include_str!("../../README.md")]
const _MAIN_README_TEST: () = {};

#[doc = include_str!("../README.md")]
const _README_TEST: () = {};