subsonic-tui/README.md
Sagi Dayan 48661005be
initial commit
Signed-off-by: Sagi Dayan <sagidayan@gmail.com>
2024-09-01 16:30:56 +03:00

4.5 KiB

Subsonic TUI

NOTE ⚠ !!: This is under heavy development! Do not fork just yet. Im still force pushing to main!

A Subsonic client and player written in go.

subsonictui (Name in progress) is a simple and easy to use player for Linux, Mac and (yes...) Windows.

Screenshot Screenshot mini player

Note: Screenshots blurred for (I dont know) copyright issues?

Features

  • Browse Artists/Albums/Playlists
  • Artist view
  • Playlist view
  • Miniplayer on small screen
  • Album view
  • Search
  • Playback
    • Scrobble (configurable)
    • Play album
    • Shuffle album
    • Add album to queue
    • Add song to queue
    • Play Next/Prev
    • Stop/Pause
  • Generate artist radio
  • Generate song radio
  • [-] Desktop integration
    • Linux (MPRIS)
    • Windows
    • MacOS
  • Playlist management
    • Add song to playlist
    • Create playlist from queue

Keybindings

Key(s) Action
` Focus on Main pane
1 Focus on Atrists pane
2 Focus on Albums pane
3 Focus on Playlists pane
4 Focus on Queue pane
Arrow keys or h j k l Navigation in a pane. Shift for switching panes
g Jump to first item in a list of a pane
G Jump to last item in a list of a pane
n Next song
N Prev song
q Exit
r While on a song - Start Song radio
s Playback - Stop
p Playback - Toggle Play/Pause
c Stop, clear queue
/ Search
? Help

Config

subsonictui stores a config file at:

  • Linux: $HOME/.config/subsonictui/config.yaml
  • macOS: $HOME/Library/Application Support/subsonictui/config.yaml
  • Windows: C:\\Users\%USER%\AppData\Roaming\subsonictui\config.yaml

Development

Build Dependencies

subsonictui uses Beep, that uses OTO under the hood, so you will need OTO dependencies. Mainly on Linux you will need alsa-devel.

To Build the project:

$ make build

Special Thanks

subsonictui is built on top of a few projects. I would like to thank them here

Thank you for creating wondeful software that everyone can use. Including myself.