Comments (10)
I'm sorry, this has to wait. This seems to be a rather exotic issue (legacy players only, specific screensaver only, TIDAL only(?), when adding tracks over JSON/RPC only). I'm not even sure whether this is a TIDAL or an LMS issue.
I have to prioritise other work. Please ping me again once the Lyrion transition has settled. Thanks for your understanding!
from lms-plugin-tidal.
Are you saying this was a problem with the SB3's Now Playing screensaver only? The web UI would show the track information? Can you share a "screenshot"?
from lms-plugin-tidal.
Yep only the screensaver while playing (not sure if that is the same as "now playing screensaver"
this is the experience going through tidal://album:55163258
I have previously "played" the first two tracks individually using the process below so they are populated, but track 3 and beyond are not
2024-04-02-10-29-46-629.mp4
Then I go through this process to "populate" the "screensaver now playing" value:
press "play" icon (which replaces the playlist)
retrigger the album play with URI via API:
curl 'http://127.0.0.1:9002/jsonrpc.js' -X POST --data-raw '{"id":1,"method":"slim.request","params":["00:04:20:06:XX:XX",["playlist","play","tidal://album:55163258"]]}'
The value is populated:
2024-04-02-10-36-45-451.mp4
Could be red herring, but I believe this value may be tied to the current_title
value I get with status
request.
When value is empty vs populated:
➜ curl --silent 'http://127.0.0.1:9002/jsonrpc.js' -X POST --data-raw '{"id":1,"method":"slim.request","params":["00:04:20:06:ac:22",["status","-","-1","tags:uB"]]}' | jq .result.current_title
""
➜ curl --silent 'http://127.0.0.1:9002/jsonrpc.js' -X POST --data-raw '{"id":1,"method":"slim.request","params":["00:04:20:06:ac:22",["status","-","-1","tags:uB"]]}' | jq .result.current_title
"I'm Only Sleeping (Remastered 2009)"
from lms-plugin-tidal.
Your SB isn't synced with another player, is it?
Please enable debug logging for plugin.tidal
, reproduce the issue, then send me a copy of the resulting server.log.zip
to https://www.dropbox.com/request/T3RctyzGgNg0oFDubq6a (Settings/Advanced/Logging)
from lms-plugin-tidal.
not synced
uploaded logs. I ran through the procedure in the last few minutes after 16:50 in the logs:
- play API triggered album to replace playlist
- track next through some tracks to point of "empty" screensaver values (track 5)
- search for track 5 name
- play track 5 individually (replaces playlist) (notably, the screensaver value is populated)
- play API triggered album to replace playlist
- track next through to track 5 and the screensaver value is populated
from lms-plugin-tidal.
Trying to reproduce this... what screensaver are you using? I'm seeing SaverSwitcher is involved. Could you please go back to just the default Now Playing screensaver. Is the behaviour the same?
From the log I'm not seeing what I hoped I'd see. How technical are you? Would you be able to modify one of the source files to try something out?
from lms-plugin-tidal.
I am technical, but I do not have much perl experience. I definitely do some guided modifications.
This is the "now playing" value which pops up for a brief period when "screensaver while playing" is active. Note that this triggers when the track changes (either due to track end and next track on playlist or track change via API).
The video is of the "spectrum analyzer" value of "screensaver while playing":
When using the "now playing" value of "screensaver while playing" the value is correct.
Even with the "spectrum analyzer" screensaver active and showing an "empty" value, you can also see in the video a very brief view of the "now playing" screen which appears to be correct. See second 6-10 of the video:
2024-04-02-10-36-45-451.mp4
More red herring research:
Have noted previously that the network payload to the device is different for the "empty" values and I included the network.jsonrpc
debug. The "status" response values are different (specifically the "current_title" is empty). Why it is empty appears to be the cache is loading differently if played via an "album" playlist vs direct track play causing the missing "current_title" the status payload.
Here is a reference which only adds the current_title
to a Jive request (I see other references to Jive in issues which makes me think it is related, but I am using a SB3...) if certain values are present:
https://github.com/LMS-Community/slimserver/blob/5630727fbeb277f6fa2fa0cf042c9adc2662cecc/Slim/Control/Queries.pm#L4680
A few other references to current_title
in that file as well:
https://github.com/LMS-Community/slimserver/blob/5630727fbeb277f6fa2fa0cf042c9adc2662cecc/Slim/Control/Queries.pm#L4697
https://github.com/LMS-Community/slimserver/blob/5630727fbeb277f6fa2fa0cf042c9adc2662cecc/Slim/Control/Queries.pm#L1235
from lms-plugin-tidal.
Can you please confirm the default Now Playing screen saver would behave the same?
from lms-plugin-tidal.
When using the "now playing" setting for "screensaver while playing" the value is correct.
from lms-plugin-tidal.
No worries, I understand the priority. Some additional research I did via the logs (this is the first I saw of the logs).
I note that the Slim::Schema::RemoteTrack::setAttributes
value for track when playing for the first time via passing album URI to API is different and there is a schema error for tracks which don't show the title:
[24-04-03 12:00:08.0108] Slim::Schema::RemoteTrack::get (453) tidal://55163264.mp4, title->* undefined value *
<play track as part of album triggered with album URI passed via API>
[24-04-03 12:00:08.0100] Slim::Web::JSONRPC::requestMethod (398) requestMethod([
"00:04:20:06:ac:22",
["status", "-", 1, "tags:cgAABbehldiqtyrSSuoKLNJ"],
])
[24-04-03 12:00:08.0101] Slim::Web::JSONRPC::requestMethod (424) Parsing command: Found client [00:04:20:06:ac:22]
[24-04-03 12:00:08.0103] Slim::Web::JSONRPC::requestMethod (473) Dispatching...
[24-04-03 12:00:08.0108] Slim::Schema::RemoteTrack::get (453) tidal://55163264.mp4, title->* undefined value *
[24-04-03 12:00:08.0119] Slim::Web::JSONRPC::requestWrite (525) requestWrite()
[24-04-03 12:00:08.0120] Slim::Web::JSONRPC::generateJSONResponse (368) generateJSONResponse()
[24-04-03 12:00:08.0131] Slim::Web::JSONRPC::writeResponse (299) JSON response: {
id => 1,
method => "slim.request",
params => [
"00:04:20:06:ac:22",
["status", "-", 1, "tags:cgAABbehldiqtyrSSuoKLNJ"],
],
result => {
can_seek => 1,
current_title => "",
...
[24-04-03 12:00:13.8131] Slim::Web::JSONRPC::writeResponse (314) JSON raw response: [{"result":{"rate":1,"current_title":"","playlist shuffle":0,"digital_volume_control":1,"power":1,"playlist_loop":[{"url":"tidal://55163264.mp4","year":"0","disc":"1","artist":"The Beatles","type":"mp4","coverid":"-93948385375840","duration":"158","title":"Yellow Submarine (Remastered 2009)","album":"Revolver (Remastered)","tracknum":"6","artwork_url":"/imageproxy/http%3A%2F%2Fresources.tidal.com%2Fimages%2F2f02e7b1%2F626c%2F4637%2F8bed%2Fffe0f46be122%2F1280x1280.jpg/image.jpg","playlist index":0,"bitrate":"320kbps","id":"-93948385375840"}],"showBriefly":["Now Playing","Yellow Submarine (Remastered 2009)"],"remoteMeta":{"id":"-93948385375840","title":"Yellow Submarine (Remastered 2009)","coverid":"-93948385375840","artist":"The Beatles","album":"Revolver (Remastered)","duration":"158","disc":"1","tracknum":"6","year":"0","bitrate":"320kbps","url":"tidal://55163264.mp4","type":"mp4","artwork_url":"/imageproxy/http%3A%2F%2Fresources.tidal.com%2Fimages%2F2f02e7b1%2F626c%2F4637%2F8bed%2Fffe0f46be122%2F1280x1280.jpg/image.jpg"},"player_name":"scratch","duration":158.94,"time":1.47442499923706,"playlist_tracks":1,"playlist_cur_index":"0","mode":"play","mixer volume":100,"player_connected":1,"signalstrength":0,"playlist mode":"off","remote":1,"can_seek":1,"playlist repeat":0,"playlist_timestamp":1712160012.19593,"player_ip":"10.0.2.100:60102","seq_no":0},"params":["00:04:20:06:ac:22",["status","-","1","tags:cgAABbehldiqtyrSSuoKLNJ"]],"method":"slim.request","id":"1"}]
[24-04-03 12:00:13.8133] Slim::Web::JSONRPC::writeResponse (351) Response headers: [
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 1483
Content-Type: application/json
]
[24-04-03 12:00:14.0809] Slim::Display::Display::curLines (503) lines Slim::Plugin::Visualizer::Plugin::screensaverLines [Slim::Display::Display::update, (eval)(265)]
[24-04-03 12:00:14.0812] Slim::Display::Display::curLines (504) {
screen1 => {
fonts => { "graphic-160x32" => "high", "graphic-320x32" => "high" },
line => ["", "Now Playing: "],
},
}
...
<perform search>
...
[24-04-03 12:00:28.5505] Plugins::TIDAL::API::Async::__ANON__ (440) Using cache key 'tidal_resp:/search/tracks:countryCodeUS:limit100:queryyellow 2009'
[24-04-03 12:00:28.5508] Plugins::TIDAL::API::Async::__ANON__ (458) Getting /search/tracks?countryCode=US&limit=100&query=yellow+2009
[24-04-03 12:00:28.6647] Plugins::TIDAL::API::Async::__ANON__ (467) do {
my $a = {
items => [
...
<play on track>
...
[24-04-03 12:00:42.3431] Slim::Music::Info::setTitle (293) Adding title Yellow Submarine (Remastered 2009) for tidal://55163264.mp4
[24-04-03 12:00:42.3434] Slim::Schema::_preCheckAttributes (2753) Report for tidal://55163264.mp4:
[24-04-03 12:00:42.3435] Slim::Schema::_preCheckAttributes (2754) * Attributes *
[24-04-03 12:00:42.3435] Slim::Schema::_preCheckAttributes (2760) .. TITLESEARCH : YELLOW SUBMARINE REMASTERED 2009
[24-04-03 12:00:42.3436] Slim::Schema::_preCheckAttributes (2760) .. YEAR : 0
[24-04-03 12:00:42.3437] Slim::Schema::_preCheckAttributes (2760) .. TITLESORT : YELLOW SUBMARINE REMASTERED 2009
[24-04-03 12:00:42.3438] Slim::Schema::_preCheckAttributes (2760) .. urlmd5 : 8d936125ed1763927b4f7120193d3321
[24-04-03 12:00:42.3438] Slim::Schema::_preCheckAttributes (2760) .. RATING : 0
[24-04-03 12:00:42.3439] Slim::Schema::_preCheckAttributes (2760) .. REMOTE : 1
[24-04-03 12:00:42.3440] Slim::Schema::_preCheckAttributes (2760) .. TITLE : Yellow Submarine (Remastered 2009)
[24-04-03 12:00:42.3441] Slim::Schema::_preCheckAttributes (2763) * Deferred Attributes *
[24-04-03 12:00:42.3441] Slim::Schema::_preCheckAttributes (2769) .. COMMENT : ARRAY(0x557215431f38)
[24-04-03 12:00:42.3443] Slim::Schema::RemoteTrack::updateOrCreate (386) tidal://55163264.mp4
[24-04-03 12:00:42.3445] Slim::Schema::RemoteTrack::setAttributes (344) tidal://55163264.mp4 => {
RATING => 0,
REMOTE => 1,
TITLE => "Yellow Submarine (Remastered 2009)",
TITLESEARCH => "YELLOW SUBMARINE REMASTERED 2009",
TITLESORT => "YELLOW SUBMARINE REMASTERED 2009",
YEAR => 0,
urlmd5 => "8d936125ed1763927b4f7120193d3321",
}
[24-04-03 12:00:42.3449] Slim::Music::Info::setCurrentTitle (548) Setting title for tidal://55163264.mp4 to Yellow Submarine (Remastered 2009)
[24-04-03 12:00:42.3481] Slim::Display::Display::showBriefly (238) caller Slim::Player::StreamingController::_playersMessage (727)
[24-04-03 12:00:42.3488] Slim::Display::Display::showBriefly (251) {
jive => {
duration => 30_000,
icon => "/imageproxy/http%3A%2F%2Fresources.tidal.com%2Fimages%2F2f02e7b1%2F626c%2F4637%2F8bed%2Fffe0f46be122%2F1280x1280.jpg/image.jpg",
text => [
"Getting stream info...",
"Yellow Submarine (Remastered 2009)",
],
type => "song",
},
screen1 => {
line => [
"Getting stream info...",
"Yellow Submarine (Remastered 2009)",
],
overlay => undef,
},
}
[24-04-03 12:00:42.3498] Plugins::TIDAL::API::Async::__ANON__ (458) Getting /tracks/55163264/playbackinfopostpaywall?assetpresentation=FULL&audioquality=HIGH&countryCode=US&limit=100&playbackmode=STREAM
[24-04-03 12:00:42.3508] Plugins::TIDAL::ProtocolHandler::getNextTrack (218) Getting next track playback info for tidal://55163264.mp4
...
[24-04-03 12:00:44.1790] Slim::Web::JSONRPC::writeResponse (314) JSON raw response: [{"params":["00:04:20:06:ac:22",["status","-","1","tags:cgAABbehldiqtyrSSuoKLNJ"]],"method":"slim.request","id":"1","result":{"seq_no":0,"player_ip":"10.0.2.100:58946","playlist_timestamp":1712160042.50057,"playlist repeat":0,"can_seek":1,"remote":1,"playlist mode":"off","signalstrength":0,"player_connected":1,"mode":"play","playlist_cur_index":"0","mixer volume":100,"playlist_tracks":1,"duration":158.94,"time":1.54112612533569,"player_name":"scratch","remoteMeta":{"id":"-93948385375840","title":"Yellow Submarine (Remastered 2009)","coverid":"-93948385375840","artist":"The Beatles","album":"Revolver (Remastered)","duration":"158","disc":"1","tracknum":"6","year":"0","bitrate":"320kbps","url":"tidal://55163264.mp4","type":"mp4","artwork_url":"/imageproxy/http%3A%2F%2Fresources.tidal.com%2Fimages%2F2f02e7b1%2F626c%2F4637%2F8bed%2Fffe0f46be122%2F1280x1280.jpg/image.jpg"},"showBriefly":["Now Playing","Yellow Submarine (Remastered 2009)"],"playlist_loop":[{"year":"0","disc":"1","url":"tidal://55163264.mp4","coverid":"-93948385375840","type":"mp4","artist":"The Beatles","title":"Yellow Submarine (Remastered 2009)","duration":"158","id":"-93948385375840","bitrate":"320kbps","album":"Revolver (Remastered)","tracknum":"6","artwork_url":"/imageproxy/http%3A%2F%2Fresources.tidal.com%2Fimages%2F2f02e7b1%2F626c%2F4637%2F8bed%2Fffe0f46be122%2F1280x1280.jpg/image.jpg","playlist index":0}],"power":1,"digital_volume_control":1,"playlist shuffle":0,"current_title":"Yellow Submarine (Remastered 2009)","rate":1}}]
[24-04-03 12:00:44.1791] Slim::Web::JSONRPC::writeResponse (351) Response headers: [
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 1517
Content-Type: application/json
]
[24-04-03 12:00:44.3801] Slim::Display::Display::curLines (503) lines Slim::Plugin::Visualizer::Plugin::screensaverLines [Slim::Display::Display::update, (eval)(265)]
[24-04-03 12:00:44.3804] Slim::Display::Display::curLines (504) {
screen1 => {
fonts => { "graphic-160x32" => "high", "graphic-320x32" => "high" },
line => ["", "Now Playing: Yellow Submarine (Remastered 2009)"],
},
}
The following is an example of a never before played track from another never before played album
[24-04-03 12:12:29.5706] Slim::Schema::RemoteTrack::updateOrCreate (386) tidal://103353844.mp4
[24-04-03 12:12:29.5707] Slim::Schema::RemoteTrack::new (304) Slim::Schema::RemoteTrack, tidal://103353844.mp4
[24-04-03 12:12:29.5710] Slim::Schema::RemoteTrack::setAttributes (344) tidal://103353844.mp4 => {
RATING => 0,
REMOTE => 1,
YEAR => 0,
url => "tidal://103353844.mp4",
urlmd5 => "d662db60375bc98cae948c4c3891289f",
}
I think the current_title
is used by the screensaver and that value comes from a lookup of the URI in the DB and the "now playing" value comes from the playlist (which Tidal plugin is managing properly always).
The following example log shows after "search for track and play" procedure. Notably this includes a "setTitle" action (presumably triggered from Tidal plugin):
[24-04-03 12:00:42.3431] Slim::Music::Info::setTitle (293) Adding title Yellow Submarine (Remastered 2009) for tidal://55163264.mp4
[24-04-03 12:00:42.3434] Slim::Schema::_preCheckAttributes (2753) Report for tidal://55163264.mp4:
[24-04-03 12:00:42.3435] Slim::Schema::_preCheckAttributes (2754) * Attributes *
[24-04-03 12:00:42.3435] Slim::Schema::_preCheckAttributes (2760) .. TITLESEARCH : YELLOW SUBMARINE REMASTERED 2009
[24-04-03 12:00:42.3436] Slim::Schema::_preCheckAttributes (2760) .. YEAR : 0
[24-04-03 12:00:42.3437] Slim::Schema::_preCheckAttributes (2760) .. TITLESORT : YELLOW SUBMARINE REMASTERED 2009
[24-04-03 12:00:42.3438] Slim::Schema::_preCheckAttributes (2760) .. urlmd5 : 8d936125ed1763927b4f7120193d3321
[24-04-03 12:00:42.3438] Slim::Schema::_preCheckAttributes (2760) .. RATING : 0
[24-04-03 12:00:42.3439] Slim::Schema::_preCheckAttributes (2760) .. REMOTE : 1
[24-04-03 12:00:42.3440] Slim::Schema::_preCheckAttributes (2760) .. TITLE : Yellow Submarine (Remastered 2009)
[24-04-03 12:00:42.3441] Slim::Schema::_preCheckAttributes (2763) * Deferred Attributes *
[24-04-03 12:00:42.3441] Slim::Schema::_preCheckAttributes (2769) .. COMMENT : ARRAY(0x557215431f38)
[24-04-03 12:00:42.3443] Slim::Schema::RemoteTrack::updateOrCreate (386) tidal://55163264.mp4
[24-04-03 12:00:42.3445] Slim::Schema::RemoteTrack::setAttributes (344) tidal://55163264.mp4 => {
RATING => 0,
REMOTE => 1,
TITLE => "Yellow Submarine (Remastered 2009)",
TITLESEARCH => "YELLOW SUBMARINE REMASTERED 2009",
TITLESORT => "YELLOW SUBMARINE REMASTERED 2009",
YEAR => 0,
urlmd5 => "8d936125ed1763927b4f7120193d3321",
}
[24-04-03 12:00:42.3449] Slim::Music::Info::setCurrentTitle (548) Setting title for tidal://55163264.mp4 to Yellow Submarine (Remastered 2009)
from lms-plugin-tidal.
Related Issues (20)
- Replay Gain for tidal HOT 3
- "On Tidal" query returns empty string HOT 2
- Daphile & Tidal HOT 1
- [Enhancement] Add track in a private/favorite playlist from the MORE menu. HOT 2
- Are we sure of that? HOT 6
- Default action is not "play" anymore HOT 14
- Question, not an issue HOT 1
- [Enhancement Request] Include For Me items in web app HOT 5
- Tidal plugin 1.1.0 doesn't return all playlists HOT 46
- Idea: Aliases on Tidal accounts HOT 5
- Search does not work with Cyrillic alphabet. HOT 2
- [Enhancement request] Order "Playlist" screen HOT 1
- Respect "Show Year with Albums" setting
- Request - Decades in genres option? HOT 2
- Search from TIDAL "my app" on the default LMS web page HOT 3
- Main Menu items not updated after account switch HOT 12
- Songmix context menu item does not return and play trackradio HOT 15
- Home -> Recently Played is always empty HOT 13
- Maax HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lms-plugin-tidal.