Jump to content

Standalone Music App


fizzyade

Recommended Posts

12 hours ago, ebr said:

I'm not sure what you are asking here.  That API is into their media server...

Sorry if I was not clear, but what I'm trying to say is that if Emby supported the Subsonic API—which is widely supported by dozens of apps—then any apps that work with the API will work with Emby, without the need for Emby devs to worry about creating/supporting a separate music app.  For example, Navidrome is completely separate from Subsonic—platform, developer, etc.—but it supports the Subsonic API:

https://www.navidrome.org/docs/developers/subsonic-api/

So any app that works with Subsonic works with Navidrome, more or less.  In fact, there is no Navidrome app:  it completely relies upon existing apps that support the Subsonic API.

Funkwhale also supports the Subsonic API:

https://docs.funkwhale.audio/developers/subsonic.html

As does Ampache:

https://github.com/ampache/ampache/wiki/subsonic

There are probably more, but these are the ones with which I'm most familiar as they were all ones I considered before migrating from Subsonic to Emby.  So, even ignoring all of the *sonic clones, the API is widely supported.

Link to comment
Share on other sites

Okay, so you would want us to actually mimic the Subsonic server by implementing copies of their API calls.

Link to comment
Share on other sites

14 hours ago, ebr said:

Okay, so you would want us to actually mimic the Subsonic server by implementing copies of their API calls.

Yeah, sorry if that was not clear.  The primary reason, again, is that there already exists an ecosystem of apps out there built around the Subsonic API, and its not going anywhere, given all of the *sonic clones, as well as the other media servers I cited—from the venerable Ampache to the much more recent Navidrome—supporting it.

At the risk of trivializing it, I imagine implementing a basic API would be less involved than supporting a separate music app—one with a GQ, or various layouts, or this feature or that.  Instead, users could pick the Subsonic-API-supporting app they like best and use it.  Another benefit is that most of these are very mature and feature rich, so it wouldn't divide attention from the Emby app—with the exception of diverting resources to build and support the API.

Thanks for your consideration!

Link to comment
Share on other sites

fizzyade
On 07/12/2021 at 13:25, ebr said:

Okay, so you would want us to actually mimic the Subsonic server by implementing copies of their API calls.

I tried the subsonic route, pretty much every application I tried on iOS were not great, and there is some weirdness with the API as well, I know this because after I realised the apps that were out there I started to write my own, I mimicked part of the Spotify UI and I had audio playback working before I remembered plexamp was a thing.

It took me less than a minute to realise how much better Plaxamp was the anything else I tried and there was really no point in continuing my own app when there was a solution that not only worked brilliantly, but looked good and was easy to use, the easy to use part was specifically for the other members of our household.

At the time I was considering subsonic, I seem to recall that most of the apps that were in the iOS store were basically dead, many of which hadn't been updated for years.

Link to comment
Share on other sites

timlance
1 hour ago, fizzyade said:

I tried the subsonic route, pretty much every application I tried on iOS were not great, and there is some weirdness with the API as well, I know this because after I realised the apps that were out there I started to write my own, I mimicked part of the Spotify UI and I had audio playback working before I remembered plexamp was a thing.

It took me less than a minute to realise how much better Plaxamp was the anything else I tried and there was really no point in continuing my own app when there was a solution that not only worked brilliantly, but looked good and was easy to use, the easy to use part was specifically for the other members of our household.

At the time I was considering subsonic, I seem to recall that most of the apps that were in the iOS store were basically dead, many of which hadn't been updated for years.

Did you try play:Sub? I've tried Plex's Plexamp and all the iOS apps for Subsonic. play:Sub does all I want/need, that Subsonic API allows). It's developer remains active and responsive. Indeed he is one of a very few users that will show up on Subsonic forums. I found my way to Emby and am confident it can replace Subsonic, but until that day, I am happy using play:Sub.

This is not to say I am not interested in Emby development! I would bet good money Subsonic eventually goes away and so will continue to pay attention.

Link to comment
Share on other sites

1 hour ago, timlance said:

Did you try play:Sub? I've tried Plex's Plexamp and all the iOS apps for Subsonic. play:Sub does all I want/need, that Subsonic API allows). It's developer remains active and responsive. Indeed he is one of a very few users that will show up on Subsonic forums. I found my way to Emby and am confident it can replace Subsonic, but until that day, I am happy using play:Sub.

This is not to say I am not interested in Emby development! I would bet good money Subsonic eventually goes away and so will continue to pay attention.

Yes, I've used play:Sub and AVSub is also pretty good and still under active development (last updated on 7/22/2021):  https://apps.apple.com/us/app/avsub/id923424694

I will say, though, my impression is the Android apps are seeing more active development.

Regardless, the nice things is that there are plenty of options out there and all are unified by the Subsonic API

  • Like 1
Link to comment
Share on other sites

I had an Airsonic server, and used Dsub on Android.

 

Good but not what I'm looking for here. I do like the idea of an EMBY standalone. The current music stuff is pretty good, and Dsub was pretty barebones, and a bit convoluted to get connected to the server in settings.

 

At any rate Airsonic is a free branch, off of subsonic some time ago. It gets updates here and there. Dsub on Android does too, but I'm done with that. Emby should stay as is just some way make an standalone app that only loads the music libraries. 

Music-Emby

M-Emby

etc.

  • Like 1
Link to comment
Share on other sites

So, what I did in Emby is set up a user that only had access to the music library and then log into it on my phone—which I primarily use for streaming music, not videos—with that account.

My motivation for doing this, though, is speed/performance.  I had previously only used Emby for video content, which worked great, but when I added my music—I have a largish library of over 250,000 songs—performance took a pretty big hit.  I'm still not sure why, as I do not see many reports of similar issues, but it is significantly slower than Subsonic.  Just having an account have access to part of my library seemed to help somewhat, so I went with that option, though it's not ideal.

I still keep Subsonic running simply for when I'm ingesting music—I buy a lot of used CDs since everyone is dumping their collections in favor of streaming services—so when I'm in the store, I can just pull up AVSub and do quicker searches. 

  • Like 1
Link to comment
Share on other sites

  • 2 months later...
mbc0

I have just installed yatse and trying this route for now... Love the idea of a Music App like Plexamp as I have an Android Unit in the car and Emby is just too slow and hard to navigate for Music

  • Agree 1
Link to comment
Share on other sites

mbc0
13 hours ago, mbc0 said:

I have just installed yatse and trying this route for now... Love the idea of a Music App like Plexamp as I have an Android Unit in the car and Emby is just too slow and hard to navigate for Music

I just re-read my post and want to be clear, I LOVE EMBY! I ditched plex years and years ago and never looked back, I am purely talking about using Emby for Android in the car whilst driving is not an ideal solution for me, a player dedicated to just music would be fantastic! 

  • Like 1
  • Agree 1
Link to comment
Share on other sites

adamstewiegreen
On 2/19/2022 at 8:31 PM, mbc0 said:

I have just installed yatse and trying this route for now... Love the idea of a Music App like Plexamp as I have an Android Unit in the car and Emby is just too slow and hard to navigate for Music

I use Emby in my car (android auto) all the time.  Curious, what you think is slow about it?  I don't keep any music stored on my phone (so it all comes from my server) and the longest wait I have (by far) is the actual Android Auto starting.

Link to comment
Share on other sites

mbc0
2 minutes ago, adamstewiegreen said:

I use Emby in my car (android auto) all the time.  Curious, what you think is slow about it?  I don't keep any music stored on my phone (so it all comes from my server) and the longest wait I have (by far) is the actual Android Auto starting.

I Don't use Android Auto, although it is good it is too limited for me.  I have a full Android Display which is integrated with the IDrive on my BMW which uses Emby for Android not Android Auto.  

 

 

8f5d061297ce65a976d857d0de73353f.image.600x600.jpg

Link to comment
Share on other sites

landgazr

Hello and good day!

FWIW:

I am an Android user and my favorite Subsonic API apps of course can't use Emby (need Emby app, Yatse, etc.). No app is perfect but, for me personally, DSub comes pretty damn close.

I had the idea last night to create an Emby plugin that can in essence extend the Emby API by implementing a Subsonic API layer that "translates" those calls to Emby's native API. From what I've been able to glean so far this is possible, so I started on it this morning. Going this route, no separate server app is needed and plugin install would be relatively straightforward from the interface.

Hopefully my thinking is correct here. I don't want to duplicate work although I can't find any mention of this being done anywhere yet. The plugin wiki docs are kind of old but they are a starting point, and could possibly increase Emby adoption by opening up Emby to the Subsonic app universe?

My two cents anyway :)

 

 

Edited by landgazr
Distinguish "server" app from "mobile" app
  • Like 3
Link to comment
Share on other sites

mbc0
35 minutes ago, landgazr said:

Hello and good day!

FWIW:

I am an Android user and my favorite Subsonic API apps of course can't use Emby (need Emby app, Yatse, etc.). No app is perfect but, for me personally, DSub comes pretty damn close.

I had the idea last night to create an Emby plugin that can in essence extend the Emby API by implementing a Subsonic API layer that "translates" those calls to Emby's native API. From what I've been able to glean so far this is possible, so I started on it this morning. Going this route, no separate server app is needed and plugin install would be relatively straightforward from the interface.

Hopefully my thinking is correct here. I don't want to duplicate work although I can't find any mention of this being done anywhere yet. The plugin wiki docs are kind of old but they are a starting point, and could possibly increase Emby adoption by opening up Emby to the Subsonic app universe?

My two cents anyway :)

This sounds great!  I used to use subsonic years ago, loved it!!

As much as I love emby and have quite a strong dislike for Plex I fear there will be no acceptable alternative to Plexamp for quite some time, I "almost" installed it last night but got distracted! 

  • Thanks 1
Link to comment
Share on other sites

sydlexius
36 minutes ago, mbc0 said:

This sounds great!  I used to use subsonic years ago, loved it!!

As much as I love emby and have quite a strong dislike for Plex I fear there will be no acceptable alternative to Plexamp for quite some time, I "almost" installed it last night but got distracted! 

Temper your expectations about this approach. Even if the Subsonic API could be implemented 100% with zero bugs (or is 100% "bug compatible"), you'd still not have APIs for things like synchronized lyrics, among other things. If you already use dsub, I suppose that this is a non-issue. 

Link to comment
Share on other sites

8 minutes ago, sydlexius said:

Temper your expectations about this approach. Even if the Subsonic API could be implemented 100% with zero bugs (or is 100% "bug compatible"), you'd still not have APIs for things like synchronized lyrics, among other things. If you already use dsub, I suppose that this is a non-issue. 

Lyrics are coming to emby:

 

Link to comment
Share on other sites

sydlexius
2 minutes ago, Luke said:

Lyrics are coming to emby:

 

I'm aware of this, and use the feature on my mobile devices. I was referring to an inadequacy of the Subsonic API itself. 

Link to comment
Share on other sites

landgazr

@sydlexius

Yeah, the Subsonic API spec (at least 1.16.1 anyway) only allows for getting the lyrics in one go from what I can tell, no synchronization. In that case I'd refer the user to the Subsonic API pages to ascertain what a fully & correctly implemented API compatibility layer could provide for a user using a Subsonic client with an Emby music library. Still, in my view, it would provide a dimension of value & versatility as the Subsonic API has essentially become a de facto standard.

Edited by landgazr
Value proposition
Link to comment
Share on other sites

sydlexius
9 minutes ago, landgazr said:

@sydlexius

Yeah, the Subsonic API spec (at least 1.16.1 anyway) only allows for getting the lyrics in one go from what I can tell, no synchronization. In that case I'd refer the user to the Subsonic API pages to ascertain what a fully & correctly implemented API compatibility layer could provide for a user using a Subsonic client with an Emby music library. Still, in my view, it would provide a dimension of value & versatility as the Subsonic API has essentially become a de facto standard.

Also keep in mind that Subsonic servers default to port 4040. I'm not certain that Emby plugins are allowed to create their own listeners. Even if they do, it won't be obvious to those who host Emby Server through Docker that they'll need to make modifications. You might want to approach this through a stand-alone app instead (ideally, one that can be containerized). 

Link to comment
Share on other sites

landgazr
46 minutes ago, sydlexius said:

Also keep in mind that Subsonic servers default to port 4040. I'm not certain that Emby plugins are allowed to create their own listeners. Even if they do, it won't be obvious to those who host Emby Server through Docker that they'll need to make modifications. You might want to approach this through a stand-alone app instead (ideally, one that can be containerized). 

Good points! Thank you for bringing them up:

1. Yes, port 4040 is the default, but would I really need to deploy a separate listener process? My (possibly wrongheaded) thinking was to extend Emby's API via a plugin and, as long as one's audio files are already in a properly typed Emby library, a Subsonic client could get pointed to an API endpoint which provides a Subsonic-compatible API layer.

2. Install would be via a plugin potentially, so no changes to the install would be necessary, save a server process reload.

End result is (hopefully) to obsolete any separate Subsonic-compatible server installs someone might have (like me! haha), with the added benefit of increasing music client choice. As I said though, my thinking may be going down the wrong path, so any feedback would be welcome.

Edited by landgazr
Added another benefit of plugin.
Link to comment
Share on other sites

49 minutes ago, landgazr said:

Yes, port 4040 is the default, but would I really need to deploy a separate listener process? My (possibly wrongheaded) thinking was to extend Emby's API via a plugin and, as long as one's audio files are already in a properly typed Emby library, a Subsonic client could get pointed to an API endpoint which provides a Subsonic-compatible API layer.

The subsonic client app will be sending requests to 4040 but our API is listening on 8096.  So, you would have to change your Emby Server port to 4040 or change the client app request port (if that is possible).

Link to comment
Share on other sites

landgazr
2 minutes ago, ebr said:

The subsonic client app will be sending requests to 4040 but our API is listening on 8096.  So, you would have to change your Emby Server port to 4040 or change the client app request port (if that is possible).

Right. The Subsonic apps I've used (like DSub) have allowed changing the port but they may be a minority, I'm not sure. Still, I'd love to keep working on it, unless it is really an Achilles heel to not use Subsonic's standard port for the client endpoint even if clients support alternative ports. 

Link to comment
Share on other sites

5 minutes ago, landgazr said:

Right. The Subsonic apps I've used (like DSub) have allowed changing the port but they may be a minority, I'm not sure. Still, I'd love to keep working on it, unless it is really an Achilles heel to not use Subsonic's standard port for the client endpoint even if clients support alternative ports. 

I looked into this a couple months ago as a curiosity, and yes, this is possible to build except that the authentication methods can't be easily translated so you'll have to get creative there. If you actually get started on this then I had a couple ideas I could share based on my initial fifteen minute review.

Link to comment
Share on other sites

landgazr
2 minutes ago, Luke said:

I looked into this a couple months ago as a curiosity, and yes, this is possible to build except that the authentication methods can't be easily translated so you'll have to get creative there. If you actually get started on this then I had a couple ideas I could share based on my initial fifteen minute review.

Yes! I have already started and have some boilerplate up in a public GitHub repo already. Want the URL to open issues and you can put your info there? 

Link to comment
Share on other sites

1 minute ago, landgazr said:

Yes! I have already started and have some boilerplate up in a public GitHub repo already. Want the URL to open issues and you can put your info there? 

Sure, thanks.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...