Hacker News new | ask | show | jobs
by sandreas 617 days ago
Nice, thanks for sharing your thoughts. Currently, I use navidrome[1], which not really is a player but more a music server, but since it supports the "subsonic" protocol, you can use native apps to connect and manage your stuff (substreamer for android / iOS is all I really need but navidrome also comes with a handy web interface). It also has support for json based smart playlists[2].

1: https://www.navidrome.org/ 2: https://github.com/navidrome/navidrome/issues/1417

2 comments

Just to add an alternative, I'm using Airsonic Advanced[0] as my subsonic server of choice if for only one reason: it properly supports folder navigation. I've ranted about this before (looking at you Jellyfin) but my folder layout is sacred and any media service I use needs to respect it.

For an android client I use tempo[1] which again was one I landed on because pretty much all the other clients didn't support folder lookup either (I think dsub also does but tempo is a lot prettier).

0: https://github.com/kagemomiji/airsonic-advanced

1: https://github.com/CappielloAntonio/tempo

That looks like it checks most of my boxes, but I have a personal/philosophical objection to running a service. The objection is, I don't want to[0]. I just want a local application. Not local-first, I want local-only. Just an application.

[0] and also I think it's insane to add that much complexity to something that is single-user.

I'm also a navidrome user and I run it via docker exposed via traefik so I can access my music anywhere. I can use any subsonic client on android or iOS and I can bluetooth that to my car or headphones or whatever and I can load it up on my laptop anywhere.

As you've said you just want a local application just wanted to mention that in case that's actually something that might also be useful for you.

Totally understandable. I recently thought of developing a cross platform player in C# and AvaloniaUI, but cross platform audio is not as easy as it seems, especially trying to use open source libs only and minimizing dependencies.