[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1034360: ITP: supersonic -- A lightweight cross-platform desktop client for Subsonic music servers



Package: wnpp
Severity: wishlist
Owner: Antoine Beaupré <anarcat@debian.org>

* Package name    : supersonic
  Version         : 0.1.0~beta-1
  Upstream Author : Drew Weymouth
* URL             : https://github.com/dweymouth/supersonic
* License         : GPL-3.0
  Programming Lang: Go
  Description     : A lightweight cross-platform desktop client for Subsonic music servers

A lightweight cross-platform desktop client for Subsonic music servers
(Navidrome, Gonic, Airsonic, etc).

Features

* Fast, lightweight, native UI
* High-quality gapless audio playback powered by MPV, with optional
  audio exclusive mode
* ReplayGain support (depends on files being tagged on server)
* Infinite scrolling
* Scrobble plays to server, with configurable criteria
* Browse by albums, artists, genres, playlists
* Album and playlist views with tracklist and cover image
* Artist view with biography, image, similar artists, and discography
* Create, play, and update playlists
* Configure visible tracklist columns
* Set/unset favorite and browse by favorite albums, artists, and
  songs
* View and edit play queue (add and remove tracks; reorder support
  coming soon)
* Shuffle and repeat playback modes (partial; shuffle album,
  playlist, artist radio, random songs)

----

We already have a Subsonic client in Debian (sublime-music, Python),
packaged by my friend pollo. But in my experience, sublime is really
slow and clunky, so much that it barely works at all.

In comparison, Supersonic is, well, supersonic! I've tested the git
build and it just works flawlessly, really impressive stuff.

There's a handful of limitations though:

 * Set filters in albums browsing view (planned)
 * Browse by folders (planned)
 * Multi-server support (planned)
 * Download songs, albums or playlists (planned)
 * Cast to uPnP/DLNA devices (likely planned)
 * Built-in multi-band equalizer (eventully planned)
 * Offline mode (eventually planned)
 * Lyrics support (eventually planned)
 * iOS/Android support (maybe eventually planned)

The "download" part is probably the most important part for me, but for
now I can actually live without it...

Dependency-wise, however, it's another story altogether. Supersonic is
built with a GUI framework called Fyne which is, as far as I know, not
at all packaged in Debian and *that* is quite a chunk of stuff to
package:

https://github.com/fyne-io/fyne/blob/master/go.mod

I count 20+ deps there that need to at least be checked to see if
they're in Debian. Faithful to itself, dh-make-golang crashes on
estimate, so it's unclear to me how easy packaging that would be.

Other than Fyne, it looks like the following packages are also missing:

 * github.com/20after4/configdir
 * github.com/dweymouth/go-mpv
 * github.com/dweymouth/go-subsonic

The latter two being libraries made by the same author, presumably
specifically for Supersonic, but that could possibly be used by other
packages of course...

The first one is kind of odd. There's another configdir package in
Debian (https://github.com/shibukawa/configdir) and it *looks* kind of
similar if you squinte a little, but their git history doesn't seem
related as far as GitHub is concerned. 20after4/configdir is also a fork
of kirsle/configdir, also unrelated. It looks like two similar
implementations (complete with the same filename) but with completely
different *actual* implementation. Epic.

Anyway, not even close to being packaged, but I thought I'd throw this
one out there.


Reply to: