I am sure that this is the solution. I will update the library to explicitly require and activate emms-playing-time-mode.
---Fran -- ________________________________ From: Igor Sosa Mayor <[email protected]> Sent: Monday, November 24, 2025 8:11:51 AM To: [email protected] <[email protected]> Cc: emms-help mailing list <[email protected]> Subject: Re: Listenbrainz: no permanent storage of items Hi Fran, I think I found the problem. I am not using emms-all, but I load the modules myself. If I look at the definition of emms-all I see there is (emms-playing-time-mode 1) which I had commented out in my own setup. This sould be the solution (but now listenbrainz.org is down and I can not test it...). Many thanks for your help. Best, --- Igor On 11/23/25 23:36, Fran Burstall (Gmail) wrote: > (why is this necessary?) > > > The api places these restrictions on the submission (at least, I think > it does---cannot find a reference right now). > > Now we know how things are failing, let us try to understand why. > > 1. While a track is playing, what is the value of emms-playing-time? > 2. What does (emms-track-get (emms-playlist-current-selected-track) > 'info-playing-time) return? > > I am going off the air now but will get back on this tomorrow in about > 20 hours. > > ---Fran > > > > On Sun, 23 Nov 2025 at 22:13, Igor Sosa Mayor > <[email protected] <mailto:[email protected]>> wrote: > > I think I found the problem (or the source of the problem...). I made a > simplified version of your code: > > (defun emms-listenbrainz-scrobbler-stop-hook () > "Submit the track to listenbrainz if we have listened long enough. > > That is, if it has been played for 240 seconds or half the length of > the > track." > (let ((current-track (emms-playlist-current-selected-track))) > (emms-listenbrainz-scrobbler-make-async-submission-call > current-track))) > > Removing the code about the length (why is this necessary?) and now it > is working. But still I do not understand why this is happening. Maybe > because of this? > > (when (and track-length > ;; only submit files > (eq (emms-track-type current-track) 'file)) > > --- Igor > > > On 11/23/25 23:04, Fran Burstall (Gmail) wrote: > > I wonder if there is something else in the finished hook that fails > > ahead the call to the scrobbler? What is the value of emms-player- > > finished-hook? > > > > However, that would not explain the empty failed process buffers: > does > > one of these appear after every scrobble attempt? > > > > To see if it is the hook that fails, execute > > > > (emms-listenbrainz-scrobbler-make-async-submission-call (emms- > playlist- > > current-selected-track)) > > > > and see if that records a scrobble. For me, it does most of the > time > > but, during testing today, it has failed 4 times leaving a failed > > process buffer. > > > > ---Fran > > > > > > > > On Sun, 23 Nov 2025 at 21:37, Igor Sosa Mayor > > <[email protected] <mailto:[email protected]> > <mailto:[email protected] > <mailto:[email protected]>>> wrote: > > > > > > > and let me know what appears in the message buffer when > you try > > to scrobble. > > > > Exactly the same. > > > > I have the impression the finished-hook is not called... > > > > In the buffer URl-Debug I get the following (token removed > obviously), > > but only after starting the track. > > > > https://paste.rs/8Vl5n.txt <https://paste.rs/8Vl5n.txt> <https:// > paste.rs/8Vl5n.txt <https://paste.rs/8Vl5n.txt>> > > > > After finishing there are no new messages logged. > > > > But why should a hook not be triggered? > > > > Thanks again. > > > > --- Igor > > > On 11/23/25 23:36, Fran Burstall (Gmail) wrote: > (why is this necessary?) > > > The api places these restrictions on the submission (at least, I think > it does---cannot find a reference right now). > > Now we know how things are failing, let us try to understand why. > > 1. While a track is playing, what is the value of emms-playing-time? > 2. What does (emms-track-get (emms-playlist-current-selected-track) > 'info-playing-time) return? > > I am going off the air now but will get back on this tomorrow in about > 20 hours. > > ---Fran > > > > On Sun, 23 Nov 2025 at 22:13, Igor Sosa Mayor > <[email protected] <mailto:[email protected]>> wrote: > > I think I found the problem (or the source of the problem...). I made a > simplified version of your code: > > (defun emms-listenbrainz-scrobbler-stop-hook () > "Submit the track to listenbrainz if we have listened long enough. > > That is, if it has been played for 240 seconds or half the length of > the > track." > (let ((current-track (emms-playlist-current-selected-track))) > (emms-listenbrainz-scrobbler-make-async-submission-call > current-track))) > > Removing the code about the length (why is this necessary?) and now it > is working. But still I do not understand why this is happening. Maybe > because of this? > > (when (and track-length > ;; only submit files > (eq (emms-track-type current-track) 'file)) > > --- Igor > > > On 11/23/25 23:04, Fran Burstall (Gmail) wrote: > > I wonder if there is something else in the finished hook that fails > > ahead the call to the scrobbler? What is the value of emms-player- > > finished-hook? > > > > However, that would not explain the empty failed process buffers: > does > > one of these appear after every scrobble attempt? > > > > To see if it is the hook that fails, execute > > > > (emms-listenbrainz-scrobbler-make-async-submission-call (emms- > playlist- > > current-selected-track)) > > > > and see if that records a scrobble. For me, it does most of the > time > > but, during testing today, it has failed 4 times leaving a failed > > process buffer. > > > > ---Fran > > > > > > > > On Sun, 23 Nov 2025 at 21:37, Igor Sosa Mayor > > <[email protected] <mailto:[email protected]> > <mailto:[email protected] > <mailto:[email protected]>>> wrote: > > > > > > > and let me know what appears in the message buffer when > you try > > to scrobble. > > > > Exactly the same. > > > > I have the impression the finished-hook is not called... > > > > In the buffer URl-Debug I get the following (token removed > obviously), > > but only after starting the track. > > > > https://paste.rs/8Vl5n.txt <https://paste.rs/8Vl5n.txt> <https:// > paste.rs/8Vl5n.txt <https://paste.rs/8Vl5n.txt>> > > > > After finishing there are no new messages logged. > > > > But why should a hook not be triggered? > > > > Thanks again. > > > > --- Igor > > >
