[package] name = "songrec" license = "GPL-3.0+" description = "An open-source Shazam client for Linux, written in Rust." homepage = "https://github.com/marin-m/SongRec" repository = "https://github.com/marin-m/SongRec" readme = "README.md" keywords = ["shazam", "audio", "audio-fingerprinting"] categories = ["multimedia::audio", "command-line-utilities"] version = "0.4.3" authors = ["marin-m"] edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] chfft = "0.3.4" # Fast Fourier transform byteorder = "1.3.4" # Used for reading and writing binary structures crc32fast = "1.2.0" # Used for the CRC-32 checksum in the binary signature base64 = "0.12.3" reqwest = { version = "0.10.7", features = ["blocking", "json"] } rodio = "0.19.0" # For reading WAV/MP3/FLAG/OGG files, resampling and playing audio. clap = "2.33.2" # For argument parsing cpal = "0.15.3" # For recording audio serde_json = "1.0.57" # For decoding and encoding JSON uuid = { version = "0.8.1", features = ["v4"] } glib = "0.10.3" serde = { version = "1.0.115", features = ["derive"] } csv = "1.1.3" regex = "1.5.4" rand = "0.7.3" # Note: gettext-rs and gettext-sys have been intentionnally downgraded: # the latest versions don't link under Windows when cross-compiling using MinGW. gettext-sys = { version = "0.19.9", features = ["gettext-system"] } gettext-rs = { version = "0.5.0" } tempfile = "3.2.0" # GUI deps gtk = { version = "0.9.2", features = ["v3_16", "v3_20", "v3_22"], optional = true } # For the GUI gdk = { version = "0.13.2", optional = true } gio = { version = "0.9.1", optional = true } percent-encoding = { version = "2.1.0", optional = true } # For percent-encoding contents in URLs chrono = { version = "0.4.13" } # For formatting dates gdk-pixbuf = { version = "0.9.0", optional = true } directories = {version = "4.0", optional = true } toml = "0.4.2" app_dirs = { version = "1.2.1", optional = true } # For obtaining and creating either the %APPDATA%, the dotfile path or similar [features] default = ["gui", "ffmpeg", "pulse", "mpris"] gui = ["gtk", "gdk", "gio", "percent-encoding", "directories", "app_dirs", "gdk-pixbuf"] pulse = [ "pulsectl-rs", "libpulse-binding" ] mpris = [ "mpris-player" ] ffmpeg = [] [target.'cfg(unix)'.dependencies] pulsectl-rs = { version = "0.3.2", optional = true } libpulse-binding = { version = "2.24.0", optional = true } mpris-player = { version = "0.6.1", optional = true }