2022-08-16 09:05:18 +01:00
|
|
|
[package]
|
|
|
|
name = "musicutil"
|
|
|
|
version = "0.1.0"
|
|
|
|
edition = "2021"
|
|
|
|
|
2023-01-14 16:53:53 +00:00
|
|
|
[workspace]
|
|
|
|
members = [
|
|
|
|
"modules/taglib",
|
|
|
|
]
|
|
|
|
|
|
|
|
|
2022-08-16 09:05:18 +01:00
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
|
|
|
|
[dependencies]
|
2022-10-22 15:15:37 +01:00
|
|
|
# for decode/encoding yaml/json for transcode config & ffprobe output
|
2023-08-31 22:08:21 +01:00
|
|
|
serde = { version = "1.0.0", features = ["derive"] }
|
|
|
|
serde_yaml = "0.9"
|
2022-08-16 09:05:18 +01:00
|
|
|
serde_json = "1.0"
|
2023-08-31 22:08:21 +01:00
|
|
|
serde_with = "3"
|
2022-10-22 15:15:37 +01:00
|
|
|
|
|
|
|
# argument parsing
|
2023-08-31 22:08:21 +01:00
|
|
|
clap = { version = "4", features = ["derive"] }
|
2022-10-22 15:15:37 +01:00
|
|
|
|
2023-10-30 22:24:58 +00:00
|
|
|
# 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
|
2023-08-31 22:08:21 +01:00
|
|
|
lazy_static = "1"
|
2022-10-22 15:15:37 +01:00
|
|
|
|
|
|
|
# for scan_for_music
|
2023-08-31 22:08:21 +01:00
|
|
|
walkdir = "2"
|
2022-10-22 15:15:37 +01:00
|
|
|
|
2023-01-14 16:53:53 +00:00
|
|
|
# format detection
|
2023-08-31 22:08:21 +01:00
|
|
|
infer = "0.15"
|
|
|
|
bytes = "1"
|
2023-01-14 16:53:53 +00:00
|
|
|
|
2022-10-22 15:15:37 +01:00
|
|
|
# tag reading
|
2023-10-18 15:55:44 +01:00
|
|
|
id3 = { version = "1", optional = true }
|
|
|
|
metaflac = { version = "0.2", optional = true }
|
2023-01-14 16:53:53 +00:00
|
|
|
taglib = { path = "./modules/taglib", optional = true }
|
2023-10-30 22:49:09 +00:00
|
|
|
ffprobe = { path = "./modules/ffprobe" }
|
2022-10-22 15:15:37 +01:00
|
|
|
|
2023-10-30 23:17:52 +00:00
|
|
|
# replaygain_analysis
|
|
|
|
replaygain = { path = "./modules/replaygain", optional = true }
|
|
|
|
|
2022-10-22 15:15:37 +01:00
|
|
|
# for genhtml command
|
2023-10-19 17:48:23 +01:00
|
|
|
html-escape = { version = "0.2", optional = true }
|
|
|
|
urlencoding = { version = "2", optional = true }
|
2023-01-18 10:38:20 +00:00
|
|
|
|
2022-10-22 15:15:37 +01:00
|
|
|
# error handling
|
2023-08-31 22:08:21 +01:00
|
|
|
thiserror = "1"
|
|
|
|
string-error = "0.1"
|
2022-10-22 15:15:37 +01:00
|
|
|
|
|
|
|
# temporary file for transcode prefix file
|
2022-08-16 09:05:18 +01:00
|
|
|
tempfile = "3"
|
2022-10-22 15:15:37 +01:00
|
|
|
|
|
|
|
# for reading ffmpeg progress output file
|
2023-08-31 22:08:21 +01:00
|
|
|
notify = "6"
|
2023-01-14 16:53:53 +00:00
|
|
|
|
|
|
|
[features]
|
2023-10-19 17:48:23 +01:00
|
|
|
default = [
|
2023-10-20 15:36:37 +01:00
|
|
|
"replaygain",
|
2023-10-19 17:48:23 +01:00
|
|
|
"mp3_extractor",
|
|
|
|
"flac_extractor",
|
|
|
|
"taglib_extractor",
|
|
|
|
"ffprobe_extractor",
|
|
|
|
"command_genhtml"
|
|
|
|
]
|
2023-10-18 15:55:44 +01:00
|
|
|
|
|
|
|
# Formats
|
2023-10-19 16:13:26 +01:00
|
|
|
taglib_extractor = ["dep:taglib"]
|
|
|
|
flac_extractor = ["dep:metaflac"]
|
|
|
|
mp3_extractor = ["dep:id3"]
|
2023-10-19 17:48:23 +01:00
|
|
|
ffprobe_extractor = [] # If to allow using ffmpeg/ffprobe as a fallback tag extractor
|
|
|
|
|
2023-10-20 15:36:37 +01:00
|
|
|
command_genhtml = ["dep:html-escape", "dep:urlencoding"]
|
|
|
|
|
2023-10-30 23:17:52 +00:00
|
|
|
replaygain = ["dep:replaygain"]
|