aboutsummaryrefslogtreecommitdiff

termsonic - a TUI Subsonic client (latest release)

This project implements a terminal-based client for any Subsonic-compatible server.

It currently supports the following:

  • Browsing of Subsonic library organised by Artists and Albums
  • Playback of OGG, FLAC and MP3 files
  • Playlist support
  • Play queue management
  • MPRIS support, meaning it can integrate with Linux and *BSD desktop environments

screenshot

Installing

Termsonic is currently packaged and readily available for the following operating systems:

OpenBSD

# pkg_add termsonic

The OpenBSD package is maintained by Russ Sharek.

NixOS

$ nix-shell -p termsonic

Archlinux

Termsonic is available in the Archlinux User Repository (AUR), under the termsonic-git package name. You can install it manually, or using one of the many AUR helpers.

$ yay -S termsonic-git

Other Linux, Windows

If Termsonic isn't packaged for your distribution, you can download the latest release and run it directly.

Building

This application requires Go version 1.19 at minimum.

$ git clone https://git.sixfoisneuf.fr/termsonic && cd termsonic
$ go build ./cmd/termsonic/

Linux notes

Please note that Linux builds additionally need a working C compiler in their PATH. This is due to faiface/beep, used for audio playback.

You will also need the ALSA development libraries for your system. On Debian, this is libasound2-dev.

Configuration

The application reads its configuration from $XDG_CONFIG_DIR/termsonic.toml, or ~/.config/termsonic.toml if XDG_CONFIG_DIR doesn't exist.

On Windows, it reads its configuration from %APPDATA%\\Termsonic\\termsonic.toml.

You can edit the configuration from inside the app, or by hand using a text editor. See the example configuration file, and the TOML reference. It is possible to specify another configuration file with the -config command-line argument.

Changing the color scheme

The default color scheme comes from tview.Styles, and it can be updated from the configuration file. The example configuration file lists the styles which can be customized.

Colors must be written in hexadecimal, in the form #001122.

Reporting bugs

Please report any bug you find to bugs+termsonic@sixfoisneuf.fr. I'll gladly accept patches, as long as they follow the git-send-email format.

Be aware that I do not accept patches written by LLMs.