[package] name = "musicutil" version = "0.1.0" edition = "2021" [workspace] members = [ "modules/taglib", ] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] # for decode/encoding yaml/json for transcode config & ffprobe output serde = { version = "1.0.0", features = ["derive"] } serde_yaml = "0.9" serde_json = "1.0" serde_with = "3" # argument parsing clap = { version = "4", features = ["derive"] } # ascii_reduce constants & transcode presets lazy_static = "1" # for scan_for_music walkdir = "2" # format detection infer = "0.15" bytes = "1" # tag reading id3 = { version = "1", optional = true } metaflac = { version = "0.2", optional = true } taglib = { path = "./modules/taglib", optional = true } # for genhtml command html-escape = { version = "0.2", optional = true } urlencoding = { version = "2", optional = true } # error handling thiserror = "1" string-error = "0.1" # temporary file for transcode prefix file tempfile = "3" # for reading ffmpeg progress output file notify = "6" [features] default = [ "replaygain", "mp3_extractor", "flac_extractor", "taglib_extractor", "ffprobe_extractor", "command_genhtml" ] # Formats taglib_extractor = ["dep:taglib"] flac_extractor = ["dep:metaflac"] mp3_extractor = ["dep:id3"] ffprobe_extractor = [] # If to allow using ffmpeg/ffprobe as a fallback tag extractor command_genhtml = ["dep:html-escape", "dep:urlencoding"] replaygain = []