There is no problem with the player. I tried several players and the problem goes if I activate emms-playing-time-mode. Then the variable emms-playing-time gets updated and your code works accordingly...

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
     >



Reply via email to