strudel-rs 0.2.0

Feature-selectable facade for the strudel-rs workspace libraries
Documentation
//! Feature-selectable, namespaced facade for the reusable `strudel-rs` libraries.
//!
//! Enable a facade feature to make its module available. Modules re-export the
//! complete public API of the corresponding workspace crate without flattening
//! names into this crate's root.
//!
//! The default features give you the pattern engine plus both front ends:
//!
//! ```toml
//! [dependencies]
//! strudel-rs = "0.2"
//! ```
//!
//! Example usage:
//!
//! ```
//! use strudel_rs::{core, dsl};
//!
//! let output = dsl::execute(r#"note("c4 e4 g4")"#).unwrap();
//! let pattern: core::Pattern = output.pattern;
//! let first_cycle = pattern.first_cycle();
//! assert_eq!(first_cycle.len(), 3);
//! ```
#![cfg_attr(docsrs, feature(doc_cfg))]

#[cfg(feature = "midi-to-strudel")]
pub use ::midi_to_strudel;
#[cfg(feature = "audio")]
pub use ::strudel_audio as audio;
#[cfg(feature = "core")]
pub use ::strudel_core as core;
#[cfg(feature = "dsl")]
pub use ::strudel_dsl as dsl;
#[cfg(feature = "dsp")]
pub use ::strudel_dsp as dsp;
#[cfg(feature = "markov")]
pub use ::strudel_markov as markov;
#[cfg(feature = "mini")]
pub use ::strudel_mini as mini;
#[cfg(feature = "music-theory")]
pub use ::strudel_music_theory as music_theory;
#[cfg(feature = "pcm")]
pub use ::strudel_pcm as pcm;
#[cfg(feature = "soundfont-gm")]
pub use ::strudel_soundfont as soundfont;
#[cfg(feature = "sounds")]
pub use ::strudel_sounds as sounds;