# Built-in ListenBrainz listens submission

**URL:** <http://support.symfonium.app/t/built-in-listenbrainz-listens-submission/3833>\
**Category:** Feature requests\
**Tags:** wont-implement\
**Created:** [March 20, 2024, 8:27pm UTC](http://support.symfonium.app/t/built-in-listenbrainz-listens-submission/3833 "2024-03-20T20:27:10Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![UltimateRiff](http://support.symfonium.app/user_avatar/support.symfonium.app/ultimateriff/32/3387_2.png) [@UltimateRiff](http://support.symfonium.app/u/UltimateRiff)\
**Post date:** [March 20, 2024, 8:27pm UTC](http://support.symfonium.app/t/built-in-listenbrainz-listens-submission/3833/1 "2024-03-20T20:27:10Z")

</div>

# Feature description:

this would apply to all media providers, preferably with user options to exclude some providers

what I’m looking for is a listen submitter for ListenBrainz, one that submits MBIDs (if present and available from the providers) as well as what service the listens come from. you should also have user-configurable options to only submit listens from certain providers

edit: this should also be able to submit to a personal ListenBrainz server, as users could self-host their own ListenBrainz server

### Problem solved:

many providers (Jellyfin, Plex, Navidrome, and Kodi, likely others too) have plugins for (or sometimes built-in) listen submission clients, and it would be nice to be able to only submit listens for providers that don’t (local device, Dropbox, Google Drive, etc), especially for users who have multiple providers connected

### Brought benefits:

this would make it easier to submit listens to ListenBrainz without needing to install a seperate app or allowing notification access to that second app. this would also improve the data being submitted to ListenBrainz by including MBIDs and which services are used to listen. lastly, this would prevent duplicate submissions, which you could get in some circumstances.

### Other application solutions:

&nbsp;  
both PanoScrobbler and the official ListenBrainz app are potential alternatives, but they can only solve half of the problem, as they can only be configured to scrobble per-app, and could result in duplicate submissions (say from the Jellyfin plug-in and Symphonium through PanoScrobbler, for instance)  
&nbsp;

### Additional description and context:

&nbsp;  
ListenBrainz documentation is here:

> **[ListenBrainz documentation — ListenBrainz 0.1.0 documentation](https://listenbrainz.readthedocs.io/en/latest/)**

screenshot from PanoScrobbler setup  
&nbsp;

### Screenshots / Mockup:

&nbsp;

 ![Screenshot 1](http://support.symfonium.app/uploads/default/original/2X/f/f4e7711a0cc93a3a557f248ea6dbc689eccbe668.png)&nbsp;&nbsp;&nbsp;

---

<div class="post-metadata">

**Author:** ![splinter](http://support.symfonium.app/user_avatar/support.symfonium.app/splinter/32/10_2.png) [@splinter](http://support.symfonium.app/u/splinter)\
**Post date:** [March 20, 2024, 8:30pm UTC](http://support.symfonium.app/t/built-in-listenbrainz-listens-submission/3833/2 "2024-03-20T20:30:36Z")

</div>

This answer might still apply - unless the man changed his mind.

> [@Scrobbling to last.fm?](http://support.symfonium.app/t/scrobbling-to-last-fm/520/2):
>
> Symfonium reports it’s playback to the server, the server should do the scrobbling in that case if it does not then it’s a bug on it’s side. At the same time Symfonium broadcast the necessary information locally so that if you have last.fm or other compatible scrobbling app it can scrobble too. There’s no real gain to have internal scrobbling inside the app since there’s dedicated apps for that that works and the servers can do it too.

---

<div class="post-metadata">

**Author:** ![UltimateRiff](http://support.symfonium.app/user_avatar/support.symfonium.app/ultimateriff/32/3387_2.png) [@UltimateRiff](http://support.symfonium.app/u/UltimateRiff)\
**Post date:** [March 20, 2024, 8:41pm UTC](http://support.symfonium.app/t/built-in-listenbrainz-listens-submission/3833/3 "2024-03-20T20:41:52Z")

</div>

I will also note that submitting data on which provider is used would be nice, but is completely optional, and the PanoScrobbler dev decided not to add a similar feature due to the response from the Google Play Store

> <https://github.com/kawaiiDango/pano-scrobbler/issues/379>
>
> I don't know if it's documented in the ListenBrainz documentation, but when subm…itting listens to LB, you can include what media player was used. a random example of mine from the MusicBee media player (to show how it could be submitted)
> 
> \`\`\`
> {
> "track\_metadata": {
> "track\_name": "➡ TRACK",
> "artist\_name": "MEATTOOTH",
> "release\_name": "➡ TRACK",
> "additional\_info": {
> "trackNumber": "1",
> "artist\_mbids": \[
> "cfc00661-fd70-4539-a435-a3069070db3b"
> \],
> "release\_mbid": "4508e620-ad56-4682-96ed-b46dd9507aa1",
> "listening\_from": "MusicBee",
> "recording\_mbid": "28d424f3-7b54-4afd-a7a7-d537078aaa59",
> "release\_group\_mbid": "feb24b66-c09b-479c-bff3-eb5e8bd6fea0",
> "recording\_msid": "ec1f5a75-bdbd-4990-89fc-3d7e1d92d739"
> },
> "mbid\_mapping": {
> "recording\_mbid": "28d424f3-7b54-4afd-a7a7-d537078aaa59",
> "recording\_name": "➡ TRACK",
> "release\_mbid": "4508e620-ad56-4682-96ed-b46dd9507aa1",
> "artists": \[
> {
> "artist\_mbid": "cfc00661-fd70-4539-a435-a3069070db3b",
> "artist\_credit\_name": "MEATTOOTH",
> "join\_phrase": ""
> }
> \],
> "artist\_mbids": \[
> "cfc00661-fd70-4539-a435-a3069070db3b"
> \],
> "caa\_id": 36314206097,
> "caa\_release\_mbid": "4508e620-ad56-4682-96ed-b46dd9507aa1"
> }
> },
> "listened\_at": 1699427431,
> "recording\_msid": "ec1f5a75-bdbd-4990-89fc-3d7e1d92d739",
> "user\_name": "UltimateRiff",
> "inserted\_at": 1699427432
> }
> \`\`\`

> [@splinter](#):
>
> This answer might still apply - unless the man changed his mind.

the main reason for this feature request is to submit listens only from specific services (Local Device) and not from others (Jellyfin or Navidrome), which to my knowledge can’t be done by an external app

also, the user options might only be necessary for providers who might add submitters, and not for those that can’t, like local device and cloud storage (Google Drive, Dropbox, etc)

---

<div class="post-metadata">

**Author:** ![splinter](http://support.symfonium.app/user_avatar/support.symfonium.app/splinter/32/10_2.png) [@splinter](http://support.symfonium.app/u/splinter)\
**Post date:** [March 20, 2024, 8:50pm UTC](http://support.symfonium.app/t/built-in-listenbrainz-listens-submission/3833/4 "2024-03-20T20:50:33Z")

</div>

> [@UltimateRiff](#):
>
> which to my knowledge can’t be done by an external app

Isn’t that what the ListenBrainz app is for? I don’t use it, so I actually don’t know, but that would be my expectation…

Edit: ah, sorry, I misunderstood. You want only to scrobble certain playbacks from specific providers, not all playbacks (as the ListenBrainz app would do).

---

<div class="post-metadata">

**Author:** ![UltimateRiff](http://support.symfonium.app/user_avatar/support.symfonium.app/ultimateriff/32/3387_2.png) [@UltimateRiff](http://support.symfonium.app/u/UltimateRiff)\
**Post date:** [March 20, 2024, 8:56pm UTC](http://support.symfonium.app/t/built-in-listenbrainz-listens-submission/3833/5 "2024-03-20T20:56:39Z")

</div>

the ListenBrainz app can also submit on a per-app basis, but since Symphonium can have multiple services connected, you can get duplicate submissions from two sources, Jellyfin through the plug-in and Symphonium (using Jellyfin) through the ListenBrainz app, PanoScrobbler, or any other external app

 ![Screenshot_20240320-155408](http://support.symfonium.app/uploads/default/original/2X/0/054e7f44a80879d693644cf6869736f74b5621aa.jpeg) ![Screenshot_20240320-155528](http://support.symfonium.app/uploads/default/original/2X/3/351ee35555fe1df3c874a25db06ba286df6c85c4.png)

---

<div class="post-metadata">

**Author:** ![Tolriq](http://support.symfonium.app/user_avatar/support.symfonium.app/tolriq/32/726_2.png) [@Tolriq](http://support.symfonium.app/u/Tolriq)\
**Post date:** [March 21, 2024, 6:36am UTC](http://support.symfonium.app/t/built-in-listenbrainz-listens-submission/3833/6 "2024-03-21T06:36:31Z")

</div>

There’s still better apps to do that, there’s dozens of different services to support.

For your specific need of filtering you should try to have pano author to see what currently unused data of media session we should use so I can expose th provider and he could propose filtering on that.

---

<div class="post-metadata">

**Author:** ![Tolriq](http://support.symfonium.app/user_avatar/support.symfonium.app/tolriq/32/726_2.png) [@Tolriq](http://support.symfonium.app/u/Tolriq)\
**Post date:** [March 27, 2024, 8:21am UTC](http://support.symfonium.app/t/built-in-listenbrainz-listens-submission/3833/7 "2024-03-27T08:21:04Z")

</div>

Next release will have a flag per provider so that Pano can skip scrobbling that provider.
