I have updated emms-listenbrainz-scrobbler.el to include a check on
activation that emms-playing-mode is active.

Probably the same change should be made to emms-librefm-scrobbler.el.

---Fran



On Mon, 24 Nov 2025 at 10:04, Fran Burstall <[email protected]> wrote:

> 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]
> <[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]
> <[email protected]>>
>  >     <mailto:[email protected]
>  >     <mailto:[email protected] <[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]
> <[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]
> <[email protected]>>
> >     <mailto:[email protected]
> >     <mailto:[email protected] <[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