experiments with Sonixd. Calls arent the same as in Substreamer, caches /stream.view calls!

This commit is contained in:
Wouter Groeneveld 2023-02-09 13:13:18 +01:00
parent bd34f9f36f
commit ac4a9dbfa6
2 changed files with 42 additions and 8 deletions

View File

@ -1,9 +1,12 @@
<<<<<<< HEAD
# subfmproxy
A Subsonic FM Transmitter Proxy: Stream your music to your retro radios!
=======
## Subsonic clients tested
- https://github.com/jeffvli/sonixd
- https://substreamerapp.com/
## Inspiration
- https://github.com/dlsniper/fmradio and talk https://www.youtube.com/watch?v=o5MTRQmhvCk
@ -12,4 +15,4 @@ A Subsonic FM Transmitter Proxy: Stream your music to your retro radios!
- fm transmitter C/C++ projects such as
- https://github.com/markondej/fm_transmitter
- https://github.com/MundeepL/PiFM
>>>>>>> 7dbdff8 (initial commit)

View File

@ -1,21 +1,52 @@
http://www.subsonic.org/pages/api.jsp
LOGIN
API: See http://www.subsonic.org/pages/api.jsp
## LOGIN
```
2023/02/03 14:14:30 req /rest/ping.view?u=jefklak&t=8c90da505334799b3184e9fb0539814d&s=LEcB8n9&v=1.13.0&c=substreamer&f=json GET
```
and
```
2023/02/03 14:14:30 req /rest/ping.view?u=jefklak&t=8c90da505334799b3184e9fb0539814d&s=LEcB8n9&v=1.13.0&c=substreamer&f=json GET
2023/02/03 14:14:31 req /rest/getAlbumList2.view?u=jefklak&t=8c90da505334799b3184e9fb0539814d&s=LEcB8n9&v=1.13.0&c=substreamer&f=json&type=recent&size=20 GET
2023/02/03 14:14:31 req /rest/getAlbumList2.view?u=jefklak&t=8c90da505334799b3184e9fb0539814d&s=LEcB8n9&v=1.13.0&c=substreamer&f=json&type=frequent&size=20 GET
2023/02/03 14:14:31 req /rest/getAlbumList2.view?u=jefklak&t=8c90da505334799b3184e9fb0539814d&s=LEcB8n9&v=1.13.0&c=substreamer&f=json&type=random&size=20 GET
2023/02/03 14:14:31 req /rest/getRandomSongs.view?u=jefklak&t=8c90da505334799b3184e9fb0539814d&s=LEcB8n9&v=1.13.0&c=substreamer&f=json&size=50 GET
```
playing music:
## playing music:
```
2023/02/03 14:17:16 req /rest/stream.view?u=jefklak&t=8c90da505334799b3184e9fb0539814d&s=LEcB8n9&v=1.13.0&c=substreamer&f=json&id=59d5e314f94f72d30df1a20c537e158c&maxBitRate=320&format=mp3&estimateContentLength=false GET
2023/02/03 14:18:07 req /rest/stream.view?u=jefklak&t=8c90da505334799b3184e9fb0539814d&s=LEcB8n9&v=1.13.0&c=substreamer&f=json&id=1bc38cc2c0cfaa302aecdd379abfe938&maxBitRate=320&format=mp3&estimateContentLength=false GET
```
doorspoelen naar volgende:
Pausing is handled client-side!! Shit...
### Replaying tracks that have been played before: (by Sonixd)
```
2023/02/09 13:02:56 req /rest/getLyrics.view?artist=Ion+Storm&title=Endgame+1+-+Deus+Ex+Ending+1&u=jefklak&s=9AmJznnKT3ZH54pT&t=72802abe6d34b1db0798b70c80e95139&v=1.13.0&c=sonixd&f=json GET
```
This doesn't trigger another `stream` call! Cache??
That means we _could_ implement our own cache by keeping track of title + artist off the `getLyrics.view` call, but it's not 1-to-1 matched to a `stream.view` call: there's no ID here!
That means getArist calls for every id and storing those as well, just in case a getLyrics one gets called?
### fast forward to the next one: (by Substreamer)
```
2023/02/03 14:17:47 req /rest/scrobble.view?u=jefklak&t=8c90da505334799b3184e9fb0539814d&s=LEcB8n9&v=1.13.0&c=substreamer&f=json&id=97394aea4b552463b3c3519777e5d8ca&submission=false GET
```
### fast forward to the next one: (by Sonixd)
```
2023/02/09 13:01:13 req /rest/getCoverArt.view?id=d47850ffc9ddaf67c73d396e04eba800&u=jefklak&s=9AmJznnKT3ZH54pT&t=72802abe6d34b1db0798b70c80e95139&v=1.13.0&c=sonixd GET
2023/02/09 13:01:13 req /rest/getLyrics.view?artist=Ion+Storm&title=Credits+-+the+Illuminati&u=jefklak&s=9AmJznnKT3ZH54pT&t=72802abe6d34b1db0798b70c80e95139&v=1.13.0&c=sonixd&f=json GET
2023/02/09 13:01:13 req /rest/stream.view?id=2fef30381e52b44eecfdf9bf94d85ff8&u=jefklak&s=9AmJznnKT3ZH54pT&t=72802abe6d34b1db0798b70c80e95139&v=1.13.0&c=sonixd GET
```