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]>> 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>

    After finishing there are no new messages logged.

    But why should a hook not be triggered?

    Thanks again.

    --- Igor



Reply via email to