Skip to main content

clack_plugin/
lib.rs

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