Crate bbx_draw

Source
Expand description

Audio visualization primitives for nannou sketches.

bbx_draw provides visualizers that can be embedded in any nannou application, with lock-free communication between audio and visualization threads via bbx_core::SpscRingBuffer.

§Visualizers

§Example

use bbx_draw::{Visualizer, visualizers::GraphTopologyVisualizer};
use bbx_dsp::graph::GraphBuilder;

// Capture topology from graph builder
let mut builder = GraphBuilder::<f32>::new(44100.0, 512, 2);
builder.add_oscillator(440.0, Waveform::Sine, None);
let topology = builder.capture_topology();

// Create visualizer
let visualizer = GraphTopologyVisualizer::new(topology);

Re-exports§

pub use bridge::AudioBridgeConsumer;
pub use bridge::AudioBridgeProducer;
pub use bridge::MidiBridgeConsumer;
pub use bridge::MidiBridgeProducer;
pub use bridge::audio_bridge;
pub use bridge::midi_bridge;
pub use visualizers::GraphTopologyVisualizer;
pub use visualizers::MidiActivityVisualizer;
pub use visualizers::SpectrumAnalyzer;
pub use visualizers::WaveformVisualizer;

Modules§

bridge
Audio and MIDI data bridges for thread-safe communication.
color
Color palette utilities for visualizations.
config
Visualization configuration types.
sketch
Sketch trait and sketchbook system.
visualizers
Audio and DSP visualizers.

Structs§

Frame
A frame of audio data for visualization or inter-thread communication.

Constants§

MAX_FRAME_SAMPLES
Maximum number of interleaved samples per frame. Supports up to 512 samples per channel for stereo (1024 total).

Traits§

Visualizer
Core trait for all visualizers.

Type Aliases§

AudioFrame
Type alias for Frame to avoid confusion with visual frames in nannou.