#![deny(missing_docs, missing_debug_implementations)]
#![cfg_attr(not(doctest), doc = include_str!("../README.md"))]
pub mod util;
pub use redact_composer_core::{
elements, error, render::Renderer, timing, timing::Timing, Composer, ComposerOptions,
Composition, CompositionOptions, Element, Segment, SegmentRef,
};
pub mod render {
pub use redact_composer_core::render::{
context, AdhocRenderer, RenderEngine, RenderSegment, Renderer, RendererGroup, Result,
};
}
#[cfg(feature = "derive")]
#[doc(inline)]
pub use redact_composer_derive::Element;
#[cfg(feature = "midi")]
#[doc(inline)]
pub use redact_composer_midi as midi;
#[cfg(feature = "synthesis")]
#[doc(inline)]
pub use redact_composer_synthesis as synthesis;
#[cfg(feature = "musical")]
#[doc(inline)]
pub use redact_composer_musical as musical;
pub fn renderers() -> crate::render::RenderEngine {
let mut engine = crate::render::RenderEngine::new();
#[cfg(feature = "midi")]
{
engine = engine + midi::renderers();
}
engine
}