-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathCargo.toml
116 lines (107 loc) · 3.54 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
[package]
name = "firewheel"
version = "0.3.0"
description = "Flexible, high-performance, and libre audio engine for games (WIP)"
repository = "https://github.com/BillyDM/firewheel"
edition.workspace = true
license.workspace = true
authors.workspace = true
keywords.workspace = true
categories.workspace = true
exclude.workspace = true
# Show documentation with all features enabled on docs.rs
[package.metadata.docs.rs]
all-features = true
[workspace.package]
edition = "2021"
license = "MIT OR Apache-2.0"
authors = ["Billy Messenger <[email protected]>"]
keywords = ["game", "audio", "graph"]
categories = ["game-development", "multimedia::audio"]
exclude = ["assets/"]
[workspace]
members = [
"crates/firewheel-core",
"crates/firewheel-cpal",
"crates/firewheel-graph",
"crates/firewheel-nodes",
"crates/firewheel-macros",
"examples/beep_test",
"examples/cpal_input",
"examples/custom_nodes",
"examples/play_sample",
"examples/sampler_pool",
"examples/sampler_test",
"examples/spatial_basic",
"examples/stream_nodes",
"examples/visual_node_graph",
]
[features]
default = [
"cpal",
"symphonium",
"symphonium_resample",
"peak_meter_node",
"sampler_node",
]
# Enables the cpal backend
cpal = ["dep:firewheel-cpal"]
# Enables resampling input streams in the cpal backend
cpal_resample_inputs = ["firewheel-cpal?/resample_inputs"]
# Enables using Symphonium for loading audio files
symphonium = ["firewheel-core/symphonium"]
# Enables resampling audio files when loading them with Symphonium
symphonium_resample = ["firewheel-core/resampler"]
# Enables the `SamplerPool` helper type for constructing a pool of
# sampler nodes that can dynamically be assigned work.
sampler_pool = ["sampler_node", "dep:thunderdome", "dep:smallvec"]
# Enables all built-in factory nodes
all_nodes = [
"beep_test_node",
"peak_meter_node",
"sampler_node",
"spatial_basic_node",
"stream_nodes",
]
# Enables the "beep test" node
beep_test_node = ["firewheel-nodes/beep_test"]
# Enables the peak meter node
peak_meter_node = ["firewheel-nodes/peak_meter"]
# Enables the sampler node
sampler_node = ["firewheel-nodes/sampler"]
# Enables the basic 3D spatial positioning node
spatial_basic_node = ["firewheel-nodes/spatial_basic"]
# Enables the stream writer/reader nodes for sending/receiving audio
# directly to/from the audio graph from another thread.
stream_nodes = ["firewheel-nodes/stream"]
# Enables `Component` derive macros for node parameters
bevy = ["firewheel-nodes/bevy", "firewheel-core/bevy"]
# Enables the wasm-bindgen feature for the CPAL backend
wasm-bindgen = ["firewheel-cpal/wasm-bindgen"]
[dependencies]
firewheel-core = { path = "crates/firewheel-core", version = "0.3.0" }
firewheel-graph = { path = "crates/firewheel-graph", version = "0.3.0" }
firewheel-cpal = { path = "crates/firewheel-cpal", version = "0.3.0", default-features = false, optional = true }
firewheel-nodes = { path = "crates/firewheel-nodes", version = "0.3.0", default-features = false }
thunderdome = { workspace = true, optional = true }
smallvec = { workspace = true, optional = true }
[workspace.dependencies]
log = "0.4"
ringbuf = "0.4"
thiserror = "2"
smallvec = "1"
arrayvec = "0.7"
atomic_float = "1"
bitflags = "2.6"
thunderdome = "0.6"
crossbeam-utils = "0.8"
fast-interleave = "0.1"
firewheel-macros = { path = "crates/firewheel-macros", version = "0.1.0" }
# Optimize all dependencies in debug builds:
[profile.dev.package."*"]
opt-level = 2
[dev-dependencies]
criterion = "0.5"
[[bench]]
name = "core"
harness = false