[package]
name = "babycat"
version = "0.0.13"
authors = ["Neocrym Records Inc. <engineering@neocrym.com>"]
edition = "2018"
description = "An audio decoding and manipulation library, with bindings for C, Python, and WebAssembly."
readme = "README.md"
homepage = "https://babycat.io"
repository = "https://github.com/babycat-io/babycat"
license = "MIT"
include = ["Cargo.toml", "benches", "examples", "rust-toolchain.toml", "src", "tests"]
[[bin]]
name = "babycat"
path = "src/bin/babycat/main.rs"
required-features = ["frontend-binary"]
[lib]
name = "babycat"
crate-type = ["rlib", "cdylib", "staticlib"]
[dependencies]
symphonia = { version = "0.5.0", features = [ "aac", "alac", "flac", "mp3",
"mkv", "pcm", "isomp4", "wav", "ogg", "vorbis" ] }
base64 = "0.13"
float-cmp= "0.9"
hound = "3.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
log = { version = "0.4", features = ["serde"]}
rayon = { version = "1.5", optional = true }
samplerate = { version = "0.2", optional = true }
wasm-bindgen = { version = "0.2", features = ["serde-serialize"], optional = true }
js-sys = { version = "0.3", optional = true }
numpy = { version = "0.16.1", optional = true }
pyo3 = { version = "0.16.1", optional = true }
env_logger = { version = "0.9", optional = true }
structopt = { version = "0.3", optional = true }
rodio = { version = "0.15", default-features = false, optional = true }
crossterm = { version = "0.23", optional = true }
ffmpeg-next = { version = "5.0.2", default-features = false, optional = true }
[dev-dependencies]
wasm-bindgen-test = "0.3"
[features]
default = ["frontend-rust"]
enable-filesystem = []
enable-multithreading = ["rayon"]
enable-libsamplerate = ["samplerate"]
enable-audio-playback = ["rodio"]
enable-ffmpeg = [
"ffmpeg-next",
"ffmpeg-next/codec",
"ffmpeg-next/device",
"ffmpeg-next/format",
]
enable-ffmpeg-static = [
"enable-ffmpeg",
"ffmpeg-next/static",
]
enable-ffmpeg-build = [
"enable-ffmpeg",
"enable-ffmpeg-static",
"ffmpeg-next/build"
]
frontend-binary = [
"enable-filesystem",
"enable-multithreading",
"enable-libsamplerate",
"enable-audio-playback",
"env_logger",
"structopt",
"crossterm",
]
frontend-rust = [
"enable-filesystem",
"enable-multithreading",
"enable-libsamplerate",
]
frontend-wasm = [
"wasm-bindgen",
"js-sys"
]
frontend-python = [
"enable-filesystem",
"enable-multithreading",
"enable-libsamplerate",
"numpy",
"pyo3",
"pyo3/extension-module",
"pyo3/abi3",
"pyo3/abi3-py38",
]
frontend-c = [
"enable-filesystem",
"enable-multithreading",
"enable-libsamplerate",
]
[package.metadata.maturin]
requires-dist = ["numpy >= 1.16.0"]
classifier = [
"License :: OSI Approved :: MIT License",
"Intended Audience :: Developers",
"Programming Language :: Rust",
"Operating System :: POSIX :: Linux",
"Operating System :: Microsoft :: Windows",
"Operating System :: MacOS",
"Topic :: Multimedia :: Sound/Audio :: Analysis",
"Topic :: Multimedia :: Sound/Audio :: Conversion",
]