Cargo Features

[dependencies]
bliss-audio = { version = "0.10.1", default-features = false, features = ["ffmpeg", "aubio-static", "build-ffmpeg", "ffmpeg-static", "rpi", "update-aubio-bindings", "python-bindings", "bench", "library", "serde", "integration-tests", "symphonia", "symphonia-aac", "symphonia-all", "symphonia-flac", "symphonia-isomp4", "symphonia-mp3", "symphonia-ogg", "symphonia-vorbis", "symphonia-wav", "symphonia-alac", "symphonia-aiff"] }
default = aubio-static, ffmpeg

These default features are set whenever bliss-audio is added without default-features = false somewhere in the dependency tree.

ffmpeg default

Enable song decoding with ffmpeg. Activated by default, and needed for almost all use-cases, disable it at your own risk!
It is only useful if you want to implement the decoding of the tracks yourself and just feed them to bliss, so you don't depend on ffmpeg.
 TODO make ffmpeg a test-dep

Enables ffmpeg-next and ffmpeg-sys-next

Affects decoder::ffmpeg

aubio-static default

Enables static of bliss-audio-aubio-rs

Until https://github.com/aubio/aubio/issues/336 is somehow solved Hopefully we'll be able to use the official aubio-rs at some point.

build-ffmpeg

Build ffmpeg instead of using the host's.

Enables build of ffmpeg-next

ffmpeg-static

Enables static of ffmpeg-next

rpi

Build for raspberry pis

Enables rpi of ffmpeg-next

update-aubio-bindings

Use if you get "No prebuilt bindings. Try use bindgen feature"

Enables bindgen of bliss-audio-aubio-rs

python-bindings

Use if you want to build python bindings with maturin.

Enables fftw3 of bliss-audio-aubio-rs

bench

Enable the benchmarks with cargo +nightly bench --features=bench

Affects chroma::bench, bliss-audio::chroma, bliss-audio::misc, bliss-audio::temporal, bliss-audio::timbral, bliss-audio::utils, utils::bench

library = serde

Enables anyhow, dirs, and indicatif, rusqlite ^0.34.0, serde_ini, serde_json, and tempdir and serde of ndarray

rayon is used only by par_mapv_inplace in chroma.rs. TODO: is the speed gain that substantial?

Affects bliss-audio::library

serde library?

Enables serde of extended-isolation-forest and serde

Deps for the library feature

integration-tests
symphonia symphonia-aac? symphonia-aiff? symphonia-alac? symphonia-all? symphonia-flac? symphonia-isomp4? symphonia-mp3? symphonia-ogg? symphonia-vorbis? symphonia-wav?

Use to access the Symphonia-based alternative decoder

Enables rubato and symphonia

Affects decoder::symphonia

symphonia-aac symphonia-all? = symphonia

Enables aac of symphonia

symphonia:

Enable specific codecs and formats.
TODO: Use "dep:" after MSRV is raised to >= 1.60.

symphonia-all = symphonia, symphonia-aac, symphonia-flac, symphonia-isomp4, symphonia-mp3, symphonia-ogg, symphonia-vorbis, symphonia-wav
symphonia-flac symphonia-all? = symphonia

Enables flac of symphonia

symphonia-isomp4 symphonia-all? = symphonia

Enables isomp4 of symphonia

symphonia-mp3 symphonia-all? = symphonia

Enables mp3 of symphonia

symphonia-ogg symphonia-all? = symphonia

Enables ogg of symphonia

symphonia-vorbis symphonia-all? = symphonia

Enables vorbis of symphonia

symphonia-wav symphonia-all? = symphonia

Enables adpcm, pcm and wav of symphonia

symphonia-alac = symphonia

Enables alac and isomp4 of symphonia

symphonia-aiff = symphonia

Enables aiff and pcm of symphonia