[package]
edition = "2024"
rust-version = "1.89"
name = "oxisound"
version = "0.2.0"
authors = ["COOLJAPAN OU (Team Kitasan)"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "OxiSound — COOLJAPAN Pure-Rust audio device I/O facade"
readme = "README.md"
keywords = [
"audio",
"playback",
"capture",
"pure-rust",
"cooljapan",
]
categories = ["multimedia::audio"]
license = "Apache-2.0"
repository = "https://github.com/cool-japan/oxisound"
[features]
default = ["pure"]
macos-session = [
"session",
"oxisound-session/avf-audio",
]
midi = ["dep:oxisound-midi"]
osc = ["dep:oxisound-osc"]
oxiaudio = [
"pure",
"oxisound-core/oxiaudio",
]
pure = ["dep:oxisound-cpal"]
session = ["dep:oxisound-session"]
smf = ["dep:oxisound-smf"]
tokio = [
"dep:oxisound-cpal",
"oxisound-cpal/tokio",
"oxisound-core/tokio",
"dep:futures-core",
"dep:tokio-stream",
]
wasm = [
"pure",
"oxisound-cpal/wasm",
]
[lib]
name = "oxisound"
path = "src/lib.rs"
[[example]]
name = "async_monitor"
path = "examples/async_monitor.rs"
required-features = ["tokio"]
[[example]]
name = "capture"
path = "examples/capture.rs"
[[example]]
name = "capture_encode"
path = "examples/capture_encode.rs"
required-features = ["pure"]
[[example]]
name = "decode_play"
path = "examples/decode_play.rs"
required-features = ["pure"]
[[example]]
name = "device_info"
path = "examples/device_info.rs"
[[example]]
name = "play_midi"
path = "examples/play_midi.rs"
required-features = [
"smf",
"midi",
]
[[example]]
name = "playback"
path = "examples/playback.rs"
[[example]]
name = "realtime_eq"
path = "examples/realtime_eq.rs"
required-features = ["pure"]
[[example]]
name = "sine_tone"
path = "examples/sine_tone.rs"
[[example]]
name = "smf_synth"
path = "examples/smf_synth.rs"
required-features = ["smf"]
[[example]]
name = "ws_broadcast"
path = "examples/ws_broadcast.rs"
required-features = ["tokio"]
[[test]]
name = "facade_callback"
path = "tests/facade_callback.rs"
[[test]]
name = "facade_m2"
path = "tests/facade_m2.rs"
[[test]]
name = "facade_m3"
path = "tests/facade_m3.rs"
[[test]]
name = "facade_m4"
path = "tests/facade_m4.rs"
[[test]]
name = "facade_tones"
path = "tests/facade_tones.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[bench]]
name = "facade"
path = "benches/facade.rs"
harness = false
[dependencies.futures-core]
version = "0.3.32"
optional = true
[dependencies.log]
version = "0.4.33"
[dependencies.oxisound-core]
version = "0.2.0"
[dependencies.oxisound-cpal]
version = "0.2.0"
optional = true
[dependencies.oxisound-midi]
version = "0.2.0"
optional = true
[dependencies.oxisound-osc]
version = "0.2.0"
optional = true
[dependencies.oxisound-session]
version = "0.2.0"
optional = true
[dependencies.oxisound-smf]
version = "0.2.0"
optional = true
[dependencies.tokio-stream]
version = "0.1"
features = ["sync"]
optional = true
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.futures-util]
version = "0.3.32"
features = [
"sink",
"std",
]
default-features = false
[dev-dependencies.oxiaudio]
version = "0.2.0"
[dev-dependencies.tokio]
version = "1.52.3"
features = [
"sync",
"rt",
"net",
"macros",
"time",
"macros",
"time",
"rt",
"net",
"sync",
]
[dev-dependencies.tokio-tungstenite]
version = "0.29.0"
features = ["handshake"]
default-features = false