musicutil/Cargo.toml

79 lines
1.7 KiB
TOML

[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"] }
# for reducing filenames to ascii
# useful for when storing music files on mp3 players with broken unicode support
ascii_reduce = { path = "./modules/ascii_reduce" }
# transcode presets & format handlers
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 }
ffprobe = { path = "./modules/ffprobe" }
# replaygain_analysis
replaygain = { path = "./modules/replaygain", 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 = ["dep:replaygain"]