[package] name = "muss-interpreter" version = "0.9.0" edition = "2021" license = "LGPL-2.1-only OR GPL-3.0-only" readme = "README.md" repository = "https://git.ngni.us/NGnius/muss" 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.1", 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