Cargo Features

[dependencies]
ensnare = { version = "0.0.3", default-features = false, features = ["std", "cpal", "egui", "egui_extras", "f32", "hound", "simple"] }

TODO: hound should be only an example dependency; refactor sampler and drumkit

default = egui, hound, simple, std

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

std default

Enables std of anyhow and getrandom

getrandom:

Implement std-only traits for getrandom::Error

cpal

Enables cpal

egui default = convert_case, eframe, spectrum-analyzer

Affects ensnare::egui, basic_project::TrackInfo.targets, traits::DisplaysAction, traits::Displays

egui_extras

Enables egui_extras ^0.28

f32

Affects numbers::SampleType, numbers::usize_to_sample_type

hound default

Enables hound

Affects instruments::drumkit, instruments::sampler

simple default

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

convert_case egui
eframe egui

Enables eframe ^0.28

spectrum-analyzer egui