server icon indicating copy to clipboard operation
server copied to clipboard

Add nugs.net music provider

Open brian10048 opened this issue 10 months ago • 8 comments

New Music Provider

nugs.net - Live Music Streaming

A paid subscription is required to use the nugs.net Music Provider

Features

Support for Artists, Albums, and Playlists

Configuration

To configure, you will simply need to input your username and password

Known Issues / Notes

Nugs does not support favorite tracks. Similarly, there is no endpoint available to pass a nugs track ID and receive relevant details such as track name or artist.

Not Yet Supported

Radio - there is one nugs.net radio stream available Search

brian10048 avatar Feb 22 '25 00:02 brian10048

Favorite Artists, Favorite Albums, and User Playlists working well

Screenshot_20250224_101902

Obtains all albums from artist

Screenshot_20250224_102120

Playback of entire album or playlist works well.

I'm stuck on implementing get_track properly. My provider has one endpoint where I can pass the song/track ID and the only thing it returns is the playback URL. The relevant track details such as artist, track name, etc are not provided in this endpoint.
The endpoints used to obtain albums and playlists provide the necessary track details, so I assume that data is in the cache, but I don't know how to properly obtain it.

Example of clicking Get Info on individual track with limited details: Screenshot_20250224_102012

brian10048 avatar Feb 24 '25 15:02 brian10048

I'm stuck on implementing get_track properly. My provider has one endpoint where I can pass the song/track ID and the only thing it returns is the playback URL.

Ah OK, how strange! So this means you'll have to either store the data yourself from other listings or derive it from the playlist or album.

There is no "get library tracks" endpoint then for this provider ? There is no "get tracks for artist" endpoint then for this provider?

And if you play a track, it is always from either an album or a playlist ?

marcelveldt avatar Feb 25 '25 08:02 marcelveldt

@brian10048 once you get close to merging can you provide some text for the docs? We have the following headings. You don’t need text for all of them. Please see the other providers for ideas of what to add. Just the text is fine I will do the actual PR for the docs as a number of things need to be done.

FEATURES CONFIGURATION KNOWN ISSUES/ NOTES NOT YET SUPPORTED

OzGav avatar Mar 06 '25 05:03 OzGav

Ah OK, how strange! So this means you'll have to either store the data yourself from other listings or derive it from the playlist or album.

Yes it is strange! Do you have any example of how to store the data? The relevant track details I need to store are in the responses for the album and playlist endpoints.

There is no "get library tracks" endpoint then for this provider ? There is no "get tracks for artist" endpoint then for this provider?

And if you play a track, it is always from either an album or a playlist ?

Yes, to all 3 of these. There is not a native favorite or library tracks feature. The only way to play a track is via the album or playlist.

brian10048 avatar Mar 06 '25 15:03 brian10048

@brian10048 once you get close to merging can you provide some text for the docs? We have the following headings. You don’t need text for all of them. Please see the other providers for ideas of what to add. Just the text is fine I will do the actual PR for the docs as a number of things need to be done.

FEATURES CONFIGURATION KNOWN ISSUES/ NOTES NOT YET SUPPORTED

Yes, not a problem!

brian10048 avatar Mar 06 '25 15:03 brian10048

Yes, to all 3 of these. There is not a native favorite or library tracks feature. The only way to play a track is via the album or playlist.

OK, in that case its easy, just don't implement the library tracks feature and it will all be good

marcelveldt avatar Mar 06 '25 23:03 marcelveldt

@marcelveldt I took care of all the mypy coverage errors. Besides the known issue with the get_track method, this is ready for another review

brian10048 avatar Mar 18 '25 02:03 brian10048

Docs are available for viewing here https://github.com/music-assistant/beta.music-assistant.io/pull/24

They are fairly simple but if any changes are needed let me know!

OzGav avatar Mar 18 '25 13:03 OzGav

Hey @brian10048 sorry for the delay - I had to think for a bit how to handle the missing single track endpoint. For now I think its fine/safe to merge this PR as is so folks can start testing/using it. Then as a next step I will adjust the core controller a bit to handle your usecase where the track metadata can not be retrieved.

marcelveldt avatar Apr 24 '25 22:04 marcelveldt

Thank you @brian10048!! nugs.net is my main streaming service much appreciated!!! Curious if this will work for livephish as they have the same backend?

woganaga avatar Sep 25 '25 23:09 woganaga

Thank you @woganaga !

I'm glad it can be of use to someone! I wasn't sure if it would get much use compared to the more popular / mainstream music providers out there.

Due to limitations of the nugs API it has some issues with gathering individual tracks specifically, but it seems to do well with favorite artists and playlists.

i was going to put some work into adding support for their recently added curated playlist features and implement the nugs radio option as well. Just haven't got to it yet

I'm sure the livephish API would work very similarly although I haven't inspected it myself. I think someone else also asked about this provider before so I guess it's time that I get a live Phish subscription... Although, I do have a free account with some items in my stash, so let me see what I can come up with in the meantime

Thank you @brian10048!! nugs.net is my main streaming service much appreciated!!! Curious if this will work for livephish as they have the same backend?

brian10048 avatar Sep 26 '25 00:09 brian10048

I LOVE YOU!!

venari-hub avatar Sep 30 '25 16:09 venari-hub