4 releases (2 breaking)
Uses old Rust 2015
0.3.2 | Sep 15, 2017 |
---|---|
0.2.2 | Aug 19, 2017 |
0.2.0 | Aug 18, 2017 |
0.1.0 | Jun 17, 2017 |
#810 in Audio
38KB
735 lines
waveform
waveform is a set of waveform image renderers written in Rust.
It is speed-oriented for heavy use.
Features
- Generation of bicolored raster images (outputs are either returned as
Vec<u8>
s or written into a slice)- RGB (
Vector3
) or RGBA (Vector4
) format images - Gray scale (
Scalar
) images for use as masks etc.
- RGB (
- Fast rendering from binned min/max amplitudes
- Multilevel binning for rendering in various resolutions
- Time-range specification in either seconds (
f64
) or samples (usize
)
Some TODOs
- Cached rendering
- Guarantee thread safety (it probably is...)
- Memory/time optimizations
Requests and contributions are welcome!
Screenshot
# Demonstrates rendering using a single BinnedWaveformRenderer.
cargo run --features "example-gui" --example binned
# The same but by using a MultiWaveformRenderer, which is
# a combination of multiple BinnedWaveformRenderers.
cargo run --features "example-gui" --example multi
Dependencies
~0–2.3MB
~60K SLoC