ensnare_services/
lib.rs

1// Copyright (c) 2024 Mike Tsao
2
3//! Wrappers around third-party crates that make them easier to use with
4//! crossbeam channels.
5
6#![deny(missing_docs)]
7#![cfg_attr(not(feature = "std"), no_std)]
8
9/// The most commonly used imports.
10pub mod prelude {
11    #[cfg(feature = "audio")]
12    pub use super::{CpalAudioService, CpalAudioServiceEvent, CpalAudioServiceInput};
13    #[cfg(feature = "midi")]
14    pub use super::{MidiService, MidiServiceEvent, MidiServiceInput};
15    #[cfg(feature = "project")]
16    pub use super::{ProjectService, ProjectServiceEvent, ProjectServiceInput};
17}
18
19#[cfg(feature = "project")]
20pub use project::{ProjectService, ProjectServiceEvent, ProjectServiceInput};
21
22#[cfg(feature = "audio")]
23pub use audio::{
24    AudioSampleType, AudioStereoSampleType, CpalAudioService, CpalAudioServiceEvent,
25    CpalAudioServiceInput,
26};
27#[cfg(feature = "midi")]
28pub use midi::{MidiService, MidiServiceEvent, MidiServiceInput};
29
30#[cfg(feature = "audio")]
31mod audio;
32#[cfg(feature = "midi")]
33mod midi;
34#[cfg(feature = "project")]
35mod project;