MCPcopy Index your code
hub / github.com/MattiaPun/SubTUI

github.com/MattiaPun/SubTUI @v2.14.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.14.3 ↗ · + Follow
311 symbols 735 edges 23 files 53 documented · 17%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SubTUI

SubTUI is your next favorite lightweight, terminal-based music player for Subsonic-compatible servers like Navidrome, Gonic, and Airsonic. Built with Go and the Bubble Tea framework, it provides a clean terminal interface to listen to your favorite high-quality audio.

Key Features

  • Subsonic-compatible: Connect and stream from any Subsonic-compatible server
  • Format Compatibility: Uses mpv to support various audio codecs and reliable playback
  • Fully Customizable: Configure keybinds, color themes, and settings via a simple TOML file
  • ReplayGain Support: Built-in support for Track and Album volume normalization
  • Scrobbling: Automatically updates your play counts on your server and external services like Last.FM or ListenBrainz
  • Gapless Playback: Enjoy your favorite albums exactly as intended with smooth, uninterrupted transitions
  • MPRIS Support: Control SubTUI from any media widget on Linux/FreeBSD
  • Discord Integration: Show off what you're listening to with built-in Discord Rich Presence

Main View

Installation

You must have mpv installed and available in your system PATH. You can verify with mpv --version.

Pre-compiled binaries for Linux and macOS are available on the Releases page.

Method Command / Instructions
Debian / Ubuntu Download the .deb and run sudo dpkg -i subtui_*.deb
Fedora / RHEL Download the .rpm and run sudo rpm -i subtui_*.rpm
Alpine Download the .apk and run sudo apk add --allow-untrusted ./subtui_*.apk
Arch Linux (AUR) yay -S subtui-git
macOS (Homebrew) brew install MattiaPun/subtui/subtui
FreeBSD pkg install subtui
Nix nix profile install github:MattiaPun/SubTUI
Void Linux xbps-install SubTUI
Gentoo Linux (GURU) eselect repository enable guru && emerge -av media-sound/subtui
Go Toolchain go install github.com/MattiaPun/SubTUI@latest
From Source git clone https://github.com/MattiaPun/SubTUI.git && cd SubTUI && go build .

Documentation

For setup, configuration, keybinds, and more, check out the Wiki.

Screenshots

Login Queue Media Player

Contributing

Contributions are welcome! There are several ways to help:

  • Feature Requests — Open an issue to suggest new features or improvements
  • Code Contributions — Fork the repo, make your changes, and submit a pull request. Please use Conventional Commit Messages

Sponsor

If you enjoy using SubTUI, please consider sponsoring the project to support its development.

License

Distributed under the MIT License. See LICENSE for more information.

Core symbols most depended-on inside this repo

keyMatches
called by 76
internal/ui/update_keys.go
newProp
called by 19
internal/integration/media_dbus_props.go
subsonicGET
called by 19
internal/api/api.go
LimitString
called by 11
internal/ui/view.go
SanitizeDisplayString
called by 9
internal/api/types.go
syncNextSong
called by 9
internal/ui/queue.go
View
called by 9
internal/ui/view.go
playQueueIndex
called by 8
internal/ui/queue.go

Shape

Function 171
Method 74
Struct 62
TypeAlias 4

Languages

Go100%

Modules by API surface

internal/ui/update_keys.go55 symbols
internal/ui/view.go32 symbols
internal/api/api.go26 symbols
internal/ui/update_messages.go24 symbols
internal/api/config.go23 symbols
internal/ui/queue.go20 symbols
internal/ui/model.go20 symbols
internal/ui/cmds_api.go17 symbols
internal/player/player.go17 symbols
internal/api/types.go17 symbols
internal/ui/help_overlay.go10 symbols
internal/integration/media_dbus_methods.go10 symbols

For agents

$ claude mcp add SubTUI \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact