Posts: 2
Threads: 1
Joined: Jan 2024
Reputation:
0
01-18-2024, 11:19 AM
(This post was last modified: 01-18-2024, 11:20 AM by Nicotine.)
Hi,
I'm a new user, after having tried Volumio for a while and not liking it.
I have a few questions:
1. Is there a way to set a login/password on the web interface, or is it open to everyone on the network? Also, no https?
2. When using Spotify Connect, the screen of the web interface is completely filled with the artwork of the previous audio that was played, the text "Spotify active" and two buttons "disconnect" and "audio info" (again for the previous audio played, not the Spotify track). Is there a way to see the currently playing Spotify track instead, play/pause buttons, settings "m" button etc?
3. The radio browser is more limited than the one in Volumio. I understand the default list is curated by moOde. Is it possible to browse more stations, such as those on radio-browser.info, or is the only way to get other stations to add them manually? I believe Volumio had integrated radio-browser.info.
Posts: 14,017
Threads: 319
Joined: Mar 2018
Reputation:
571
Whats your usage scenario where player authentication and https are required?
AFAIK no players have implemented https for local network but in our upcoming 8.3.8 release we are including an experimental feature that does just that :-)
All the renderers including Spotify Connect are handled by the same mechanism when they become active that involves displaying an overlay to prevent access to the WebUI. Years ago we had a module that displayed cover art and track info for AirPlay but it was unreliable and was scrapped. Maybe a dev will become interested in trying to implement something. If that happens I can help out.
The Radio feature is a manually curated list of mostly commercial free, listener supported stations. There is no capability for accessing an Internet station database like radio-browser. As long as radio-browser doesn't inject ads (like Tunein) it would be another good project for an interested dev.
Posts: 2
Threads: 1
Joined: Jan 2024
Reputation:
0
Hi Tim,
Thank you for your answers.
You're right, https is probably overkill. The only reason I can think of is that without it, the passwords for wifi or access point will be sent unencrypted. Other than that, probably not much sensitive information is sent to the web interface.
With regards to Spotify Connect, ok understood, not a bug on my end then. That's one point where Volumio is bit better, IMHO.
Radio-browser.info doesn't inject ads.
Posts: 42
Threads: 3
Joined: Dec 2023
Reputation:
1
01-23-2024, 09:17 PM
(This post was last modified: 01-23-2024, 09:19 PM by cogitech.)
(01-18-2024, 11:43 AM)Tim Curtis Wrote: All the renderers including Spotify Connect are handled by the same mechanism when they become active that involves displaying an overlay to prevent access to the WebUI... Maybe a dev will become interested in trying to implement something. If that happens I can help out.
For Spotify Connect, it seems like it might be rather simple to query the Spotify API for some relevant metadata and cover art, and display that in the overlay. For example, this tool would allow gathering of the metadata and cover art.
https://github.com/microlinkhq/spotify-url-info
Just a matter of integrating that somehow by calling the code, pulling out the desired metadata, fetching the art, and getting it into the overlay (php?). I recall finding some other tools on Github to do similar but can't find them right now.
Alas, I am not a dev. More of a hack (not hacker) so I am not the one for the job.
As far as playback controls, I don't think Spotify Connect is intended to be used that way. I could be wrong.
Posts: 1,404
Threads: 24
Joined: Jun 2022
Reputation:
50
(01-23-2024, 09:17 PM)cogitech Wrote: (01-18-2024, 11:43 AM)Tim Curtis Wrote: All the renderers including Spotify Connect are handled by the same mechanism when they become active that involves displaying an overlay to prevent access to the WebUI... Maybe a dev will become interested in trying to implement something. If that happens I can help out.
For Spotify Connect, it seems like it might be rather simple to query the Spotify API for some relevant metadata and cover art, and display that in the overlay. For example, this tool would allow gathering of the metadata and cover art.
https://github.com/microlinkhq/spotify-url-info
Just a matter of integrating that somehow by calling the code, pulling out the desired metadata, fetching the art, and getting it into the overlay (php?). I recall finding some other tools on Github to do similar but can't find them right now.
Alas, I am not a dev. More of a hack (not hacker) so I am not the one for the job.
As far as playback controls, I don't think Spotify Connect is intended to be used that way. I could be wrong.
It seems this gets the web page from Spotify and parses it to extract the possible information...
Posts: 42
Threads: 3
Joined: Dec 2023
Reputation:
1
(01-23-2024, 09:38 PM)Nutul Wrote: It seems this gets the web page from Spotify and parses it to extract the possible information...
Seems like it would be easy enough to select which of the following data you want displayed and then do so, including the image. Artist and title might be sufficient. If you copy/paste the image url in your browser, you'll see what I mean.
{
"title": "Immaterial",
"type": "track",
"track": "Immaterial",
"artist": "SOPHIE",
"image": "https://i.scdn.co/image/d6f496a6708d22a2f867e5acb84afb0eb0b07bc1",
"audio": "https://p.scdn.co/mp3-preview/6be8eb12ff18ae09b7a6d38ff1e5327fd128a74e?cid=162b7dc01f3a4a2ca32ed3cec83d1e02",
"link": "https://open.spotify.com/track/5nTtCOCds6I0PHMNtqelas",
"embed": "https://embed.spotify.com/?uri=spotify:track:5nTtCOCds6I0PHMNtqelas",
"date": "2018-06-15T00:00:00.000Z",
"description": "description of a podcast episode"
}
There would be very little practical utility in doing this, however. It would just be "eye candy".
Posts: 1,404
Threads: 24
Joined: Jun 2022
Reputation:
50
(01-24-2024, 12:20 AM)cogitech Wrote: (01-23-2024, 09:38 PM)Nutul Wrote: It seems this gets the web page from Spotify and parses it to extract the possible information...
Seems like it would be easy enough to select which of the following data you want displayed and then do so, including the image. Artist and title might be sufficient. If you copy/paste the image url in your browser, you'll see what I mean.
{
"title": "Immaterial",
"type": "track",
"track": "Immaterial",
"artist": "SOPHIE",
"image": "https://i.scdn.co/image/d6f496a6708d22a2f867e5acb84afb0eb0b07bc1",
"audio": "https://p.scdn.co/mp3-preview/6be8eb12ff18ae09b7a6d38ff1e5327fd128a74e?cid=162b7dc01f3a4a2ca32ed3cec83d1e02",
"link": "https://open.spotify.com/track/5nTtCOCds6I0PHMNtqelas",
"embed": "https://embed.spotify.com/?uri=spotify:track:5nTtCOCds6I0PHMNtqelas",
"date": "2018-06-15T00:00:00.000Z",
"description": "description of a podcast episode"
}
There would be very little practical utility in doing this, however. It would just be "eye candy".
Cool, but how did you get that json object from?
Posts: 42
Threads: 3
Joined: Dec 2023
Reputation:
1
(01-24-2024, 12:25 AM)Nutul Wrote: Cool, but how did you get that json object from?
It's the example from the Github page, here: https://github.com/microlinkhq/spotify-url-info
I would try it myself, but I am not sure what the author means by the following:
In order to use the library, you have to provide the fetch agent to use:
const fetch = require('isomorphic-unfetch')
const { getData, getPreview, getTracks, getDetails } =
require('spotify-url-info')(fetch)
As I said, I am not a coder. I can write simple shell scripts and do other basic linux sysadmin/server tasks, but not actual coding.
I would guess that by "fetch agent" he means something like wget, but that's just a guess.
Posts: 1,404
Threads: 24
Joined: Jun 2022
Reputation:
50
(01-24-2024, 12:44 AM)cogitech Wrote: (01-24-2024, 12:25 AM)Nutul Wrote: Cool, but how did you get that json object from?
It's the example from the Github page, here: https://github.com/microlinkhq/spotify-url-info
I would try it myself, but I am not sure what the author means by the following:
In order to use the library, you have to provide the fetch agent to use:
const fetch = require('isomorphic-unfetch')
const { getData, getPreview, getTracks, getDetails } =
require('spotify-url-info')(fetch)
As I said, I am not a coder. I can write simple shell scripts and do other basic linux sysadmin/server tasks, but not actual coding.
I would guess that by "fetch agent" he means something like wget, but that's just a guess.
So, as I said, once you install all that stuff (and it is all for front-end as I can see) and the engine has done its work parsing the open-spotify page, you are presented with that object, from which you can take the album art and artist/track info (no sign of the album, BTW)
I tried to do the same, and TTYTT I was able to locate Artist, track title and album art - no trace of the album.
Can be retrieved by a further parsing of another spotify ID (the album Id, which is in the previous data...)
There is only a small problem: in order to get all that information we need the Spotify track ID, which only your phone and spotify-connect know...
Posts: 42
Threads: 3
Joined: Dec 2023
Reputation:
1
01-24-2024, 03:40 PM
(This post was last modified: 01-24-2024, 03:46 PM by cogitech.)
(01-24-2024, 02:36 AM)Nutul Wrote: So, as I said, once you install all that stuff (and it is all for front-end as I can see) and the engine has done its work parsing the open-spotify page, you are presented with that object, from which you can take the album art and artist/track info (no sign of the album, BTW)
I tried to do the same, and TTYTT I was able to locate Artist, track title and album art - no trace of the album.
Can be retrieved by a further parsing of another spotify ID (the album Id, which is in the previous data...)
There is only a small problem: in order to get all that information we need the Spotify track ID, which only your phone and spotify-connect know...
Not really a problem. The track ID is easily found right in the librespot log. For example:
Code: 2024-01-24T15:37:33Z INFO librespot_playback::player] Loading <Sea Song> with Spotify URI <spotify:track:3EBcLC4ZM3iGFxJWsaKhdF>
So, parse the librespot log file for the latest "<spotify:track:XXXXXXXXXXXXXXXXXX>" entry, grab the track ID, inject it into the spotify-url-info tool, grab metadata and cover art, display in overlay.
I would love to be able to write the code to make this work. It would be fun!
|