id = "termusic"
name = "termusic"
homepage = "https://github.com/tramhao/termusic"
description = "Terminal music player."
executables = ["termusic"]
[dotfiles]
paths = [
"[configHome]/termusic/server.toml",
"[configHome]/termusic/tui.toml",
"[configHome]/termusic/themes/",
"[appData]/termusic/server.toml",
"[appData]/termusic/tui.toml",
"[appData]/termusic/themes/",
]
secret = []
[commands]
format = 1
label = "Start the music player"
description = "Launch the termusic TUI on a music directory. Subcommands (playback control, podcasts, playlists) and logging options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = true }
[[commands.source]]
id = "changelog"
kind = "manual"
url = "https://raw.githubusercontent.com/tramhao/termusic/master/CHANGELOG.md"
revision = "master 2026-10-27"
evidence = """
- Change(tui): rename cli option `--disable-cover` to `--hide-cover`.
- Feat(tui): add new cli option `--disable-cover` which actually disables all cover probing and behaves as if no cover features are enabled.
- Feat(server): allow compiling multiple backends via features and select at binary start (via `--backend` or `TMS_BACKEND`).
- New: add command line option `-c` to disable cover art, and `-d` to disable discord rpc.
- New: add command line option `-m` to set max_depth of folder. Default to 4.
"""
[[commands.field]]
id = "music_directory"
label = "Music directory"
description = "Defaults to the directory in the config file, or ~/Music."
type = "path"
position = 0
path = { kind = "directory", role = "input" }
sources = ["changelog"]
[[commands.field]]
id = "hide_cover"
label = "Hide album cover"
type = "boolean"
option = ["--hide-cover", "-c"]
sources = ["changelog"]
[[commands.field]]
id = "disable_cover"
label = "Disable cover support"
type = "boolean"
option = ["--disable-cover"]
sources = ["changelog"]
[[commands.field]]
id = "disable_discord"
label = "Disable Discord presence"
type = "boolean"
option = ["-d"]
sources = ["changelog"]
[[commands.field]]
id = "max_depth"
label = "Max folder depth"
description = "Default is 4."
type = "integer"
option = ["-m"]
sources = ["changelog"]
[[commands.field]]
id = "backend"
label = "Playback backend"
description = "Which backends exist depends on how termusic was built."
type = "string"
option = ["--backend"]
suggestions = [{ value = "rusty", label = "rusty (default)" }]
sources = ["changelog"]
[[commands.task]]
id = "start"
label = "Start player"
fields = ["music_directory", "hide_cover"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["music_directory", "hide_cover", "disable_cover", "disable_discord"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["max_depth", "backend"]