a simple web player for subsonic tinysub.devins.page
subsonic navidrome javascript
JavaScript 84.4%
CSS 8.0%
HTML 6.4%
Nix 1.1%
Shell 0.1%
108 1 0

Clone this repository

https://tangled.org/devins.page/tinysub https://tangled.org/did:plc:3xpaniu6rs7fygzthgmtuv7c/tinysub
git@knot.devins.page:devins.page/tinysub git@knot.devins.page:did:plc:3xpaniu6rs7fygzthgmtuv7c/tinysub

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

tinysub#

tinysub is a simple web player for Subsonic. it's currently tested on a Navidrome server, and may not work elsewhere yet. i don't really like Navidrome's web client, and i wanted something akin to Strawberry Music Player, but i could run anywhere.

to use, visit https://tinysub.devins.page, or clone to your own machine and open /src/index.html in a browser. it's just plain JavaScript, HTML, and CSS, nothing fancy.. you can also build to a single index.html with monolith by running nix build (manifest for PWA doesn't seem to work with monolith though)

if you just want to test out a demo, try the navidrome demo server:

  • host: https://demo.navidrome.org
  • username: demo
  • password: demo

this is not feature-complete. this project is still an early work-in-progress and i am working on it in my free time. please do not expect it to be fully stable just yet.

screenshot of tinysub 1.6.2

faq#

i can't log in!#

if you are trying to connect to devices on your local network or Tailscale, it may not work. on Chromium, i was able to log into my server through Tailscale by using it's IP address (not magicDNS), but i have no clue if this works in other browsers.

if anyone knows a solution to this, then please let me know!

offline support?#

maybe in the future? i'm not sure what limits web applications have on IndexedDB and how many songs i could store in there. i may be able to add offline support with a limit to the cache, but it's definitely not high priority.

at the current moment, tinysub requires an active connection to the server to work.

mobile support?#

ehhhh kinda. it does have responsive design, so menus do shift and resize based on whether you're on mobile or desktop, however, tinysub is mostly designed to look and feel like a desktop application, and also has certain controls that are not accessible on mobile (such as dragging rows around, selecting multiple items with shift, etc).

for alternative Subsonic clients: on iOS, i heavily recommend Arpeggi (whenever the TestFlight opens back up) or Amperfy. on Android, i've heard Symfonium is amazing.

for mobile to work you will likely need to install the app as a PWA so that the browser's tab bar doesn't interfere with the app. this is a known problem on Safari and Firefox (haven't tested others).

todo#

  • ✓ playback
  • ✓ queue system
    • ✓ selection
    • ✓ context menu
    • ✓ drag and drop
  • ✓ authorization
  • ✓ settings
  • ✓ very high performance, even with massive queues
  • ✓ powerful but simple ui
  • ✓ favorites management
  • ✓ shuffle
  • ✓ scrobbling
  • ✓ synced lyrics
  • ✓ img caching
  • ✓ keyboard shortcuts
  • ✓ looping
  • ✓ sort by
  • ✓ pwa (not offline, but installable)
  • proper focus management
  • search
  • playlist management
  • replaygain
  • language support (should be easy)
  • customizable table column toggles

credits#