Skip to main content

clack_plugin/
lib.rs

1#![cfg_attr(docsrs, feature(doc_cfg))]
2#![doc = include_str!("../README.md")]
3#![doc(html_logo_url = "https://raw.githubusercontent.com/prokopyl/clack/main/logo.svg")]
4
5extern crate core;
6
7#[macro_use]
8pub mod entry;
9pub mod extensions;
10pub mod factory;
11pub mod host;
12pub mod plugin;
13pub mod process;
14
15pub(crate) mod internal_utils;
16
17pub use clack_common::events;
18pub use clack_common::stream;
19pub use clack_common::utils;
20
21/// A helpful prelude re-exporting all the types related to plugin implementation.
22pub mod prelude {
23    pub use crate::{
24        clack_export_entry,
25        entry::{DefaultPluginFactory, Entry, EntryDescriptor, SinglePluginEntry},
26        events::{
27            Event, EventHeader, Pckn, UnknownEvent,
28            io::{InputEvents, OutputEvents},
29        },
30        extensions::PluginExtensions,
31        host::{HostAudioProcessorHandle, HostMainThreadHandle, HostSharedHandle},
32        plugin::{
33            Plugin, PluginAudioProcessor, PluginDescriptor, PluginError, PluginMainThread,
34            PluginShared,
35        },
36        process::{
37            Audio, Events, PluginAudioConfiguration, Process, ProcessStatus,
38            audio::{ChannelPair, SampleType},
39        },
40        utils::ClapId,
41    };
42}
43
44#[cfg(doctest)]
45#[doc = include_str!("../../README.md")]
46const _MAIN_README_TEST: () = {};
47
48#[doc = include_str!("../README.md")]
49const _README_TEST: () = {};