muss/interpreter/Cargo.toml

40 lines
1.5 KiB
TOML

[package]
name = "muss-interpreter"
version = "0.9.0"
edition = "2021"
license = "LGPL-2.1-only OR GPL-3.0-only"
readme = "README.md"
rust-version = "1.59"
[dependencies]
rusqlite = { version = "0.27", features = ["bundled"], optional = true }
sqlparser = { version = "0.23", optional = true }
symphonia = { version = "0.5", optional = true, features = [
"aac", "alac", "flac", "mp3", "pcm", "vorbis", "isomp4", "ogg", "wav"
] }
dirs = { version = "4" }
regex = { version = "1" }
rand = { version = "0.8" }
shellexpand = { version = "2", optional = true }
bliss-audio-symphonia = { version = "0.6", optional = true, path = "../bliss-rs" }
mpd = { version = "0.0.12", optional = true }
unidecode = { version = "0.3.0", optional = true }
base64 = { version = "0.13", optional = true }
m3u8-rs = { version = "3.0.0", optional = true }
[dev-dependencies]
criterion = "0.3"
[[bench]]
name = "file_parse"
harness = false
[features]
default = [ "music_library", "ergonomics", "advanced", "advanced-bliss", "fakesql", "collections" ]
music_library = [ "symphonia", "mpd", "base64" ] # song metadata parsing and database auto-population
collections = [ "m3u8-rs" ] # read from m3u8 playlists (and other song collections, eventually)
ergonomics = ["shellexpand", "unidecode"] # niceties like ~ in paths and unicode string sanitisation
advanced = [] # advanced language features like music analysis
advanced-bliss = ["bliss-audio-symphonia"] # bliss audio analysis
sql = [ "rusqlite" ] # sqlite database for music
fakesql = [ "sqlparser" ] # transpiled sqlite interpreter