GioF71 / upmpdcli-docker

Easily run upmpdcli with Docker. Renderer/Library Mode, Streaming with Tidal HiRes, Qobuz, SubSonic, Navidrome, Lightweight Media Server, Gonic, HRA, Radio Paradise, Mother Earth Radio, Radio-Browser
Apache License 2.0
26 stars 4 forks source link

[BUG] Traceback - AttributeError: 'ArtistCover' object has no attribute 'getCoverArt' #373

Open tomellis opened 4 months ago

tomellis commented 4 months ago

I've connected upmpdcli with navidrome. The connection between them works fine and I can see the genres pulled etc. However, the moment I try any renderers in this case, Upplay, I receive an error "Service login or communication failure".

The upmpcli docker container is showing a traceback each time I try to get Upplay to connect:

upmpdcli | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '20', 'offset': '0', 'flag': 'children', 'objid': '0$subsonic$'}-- upmpdcli | CMDTALK: subsonic-app.py: browse: path: ----
upmpdcli | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$']-- last: --0$subsonic$-- upmpdcli | CMDTALK: subsonic-app.py: processmessage: processor raised: ['ArtistCover' object has no attribute 'getCoverArt'] upmpdcli | Traceback (most recent call last): upmpdcli | File "/usr/share/upmpdcli/cdplugins/pycommon/cmdtalk.py", line 167, in processmessage upmpdcli | outfields = processor.process(params) upmpdcli | File "/usr/share/upmpdcli/cdplugins/pycommon/cmdtalkplugin.py", line 64, in process
upmpdcli | return self.dispatcher.run(params[prcnmkey], params)
upmpdcli | File "/usr/share/upmpdcli/cdplugins/pycommon/cmdtalkplugin.py", line 49, in run
upmpdcli | return func(params)
upmpdcli | File "/usr/share/upmpdcli/cdplugins/subsonic/subsonic-app.py", line 1285, in browse
upmpdcli | entries = _show_tags(objid, entries)
upmpdcli | File "/usr/share/upmpdcli/cdplugins/subsonic/subsonic-app.py", line 1263, in _show_tags
upmpdcli | if tag_enabled_in_initial_page(tag): entries.append(tag_to_entry(objid, tag))
upmpdcli | File "/usr/share/upmpdcli/cdplugins/subsonic/subsonic-app.py", line 1254, in tag_to_entry upmpdcli | art_id = tag_art_retriever[tagname]()
upmpdcli | File "/usr/share/upmpdcli/cdplugins/subsonic/art_retriever.py", line 54, in group_artists_art_retriever upmpdcli | if not art: art = random_artist_art_retriever()
upmpdcli | File "/usr/share/upmpdcli/cdplugins/subsonic/art_retriever.py", line 124, in random_artist_art_retriever upmpdcli | return _get_random_artist_cover()
upmpdcli | File "/usr/share/upmpdcli/cdplugins/subsonic/art_retriever.py", line 116, in _get_random_artist_cover upmpdcli | return __get_random_artist_cover_by_initial(select_initial) upmpdcli | File "/usr/share/upmpdcli/cdplugins/subsonic/art_retriever.py", line 108, in __get_random_artist_cover_by_initial upmpdcli | return get_artist_cover(artist_id) upmpdcli | File "/usr/share/upmpdcli/cdplugins/subsonic/art_retriever.py", line 121, in get_artist_cover upmpdcli | return artist_cover.getCoverArt() upmpdcli | AttributeError: 'ArtistCover' object has no attribute 'getCoverArt'

Expected behavior Browse the artist list

Docker-compose.yaml file upmpdcli: image: giof71/upmpdcli:latest container_name: upmpdcli network_mode: host environment:

Additional context Container versions: deluan/navidrome latest d8156521ce64 giof71/upmpdcli latest 6cbe66f83952

GioF71 commented 4 months ago

Hello, can you post the full container log? I believe those comments are problematic, I should move them to a previous line. Example:

should become

optional, will download updated plugin from the specified branch

and so on for the others.

GioF71 commented 4 months ago

Also this: - SUBSONIC_PASSWORD=${SUBSONIC_PASSWORD looks like there is a missing curly closed curly bracket

GioF71 commented 4 months ago

Try this compose file:

---
version: "3"

services:
  upmpdcli:
    image: giof71/upmpdcli:latest
    container_name: upmpdcli-navidrome-demo
    network_mode: host
    environment:
      #optional
      - PUID=1000
      #optional
      - PGID=1000
      #optional
      - PORT_OFFSET=4
      #not a renderer
      - UPNPAV=0
      #not a renderer
      - OPENHOME=0
      - FRIENDLY_NAME=NavidromeDemo
      - SUBSONIC_ENABLE=yes
      - SUBSONIC_AUTOSTART=yes
      - SUBSONIC_BASE_URL=${SUBSONIC_BASE_URL}
      - SUBSONIC_PORT=${SUBSONIC_PORT}
      - SUBSONIC_USER=${SUBSONIC_USER}
      - SUBSONIC_PASSWORD=${SUBSONIC_PASSWORD}
      # optional
      - SUBSONIC_ITEMS_PER_PAGE=28
      #optional
      - SUBSONIC_APPEND_YEAR_TO_ALBUM=Yes
      #optional
      - SUBSONIC_APPEND_CODECS_TO_ALBUM=Yes
      #optional
      - SUBSONIC_WHITELIST_CODECS=alac,wav,flac,dsf,ape
      #optional, will download updated plugin from the specified branch
      - SUBSONIC_DOWNLOAD_PLUGIN=yes
      # the following two are optional, but must be consistent
      - SUBSONIC_PLUGIN_BRANCH=latest-subsonic
      - SUBSONIC_FORCE_CONNECTOR_VERSION=0.3.1
    restart: unless-stopped
tomellis commented 4 months ago

upmpdcli.log Log file attached.

The env var was curley brace was my bad copy & paste. I removed all the comments in the compose file just in case but same error occurs.

tomellis commented 4 months ago

Tested the latest branch/version you posted.

This seems to fix it for me and it's working fine now!

GioF71 commented 4 months ago

Awesome! I need to check and maybe cleanup the documentation. I already fixed the wrong compose that lead to the issue you encountered, but it's worth checking.

GioF71 commented 3 months ago

Hello, do you like the plugin? If you find bugs and/or missing features, please create an issue here. Thank you

sruckh commented 1 month ago

I had the same issue, and I believe the proposed change resolved the stated problem. Unfortunately, I can't get symfonium/navidrome, or BubbleUpnP/upmpdcli/navidrome to output to two different Yamaha receivers. Everything seems to work when the output is something like a Google speaker or Chromecast device, but not to a Yamaha receiver.

GioF71 commented 1 month ago

Hello, I don't own a Yamaha device unfortunately, so I cannot test. Maybe (but I am guessing) those receivers don't 'like' the url redirection that mpd instead executes properly. You can try disabling by creating a new file named upmpdcli-additional.txt with the following content:

subsonicskipintermediateurl = 1

The file must be mounted as /user/config/upmpdcli-additional.txt under "- volumes" in your docker-compose.yml file. Unfortunately that setting is not configurable using an environment variable. I might add support for this in the future, especially if this will work. But I wouldn't bet it will work as you say that the combination symphonium/navidrome also does not work against your yamaha device. Anyway it might be worth trying, let me know!

GioF71 commented 1 month ago

Can you post the logs from upmpdcli when trying to play to the yamaha device?

sruckh commented 3 weeks ago

upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '1', 'offset': '3', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogInIifQ=='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogInIifQ==-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogInIifQ==] decodes to {"n": "tag", "v": "r"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogInIifQ==']-- last: --eyJuIjogInRhZyIsICJ2IjogInIifQ==-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --tag-- value: --r-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve tag: --r-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found tag handler for: --TagType.RANDOM-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: Requested [28] albums from offset [0], got [28] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '1', 'offset': '0', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogInIifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ=='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogInIifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogInIifQ==] decodes to {"n": "tag", "v": "r"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==] decodes to {"n": "sprs_lbm", "v": "fa99053ed19e45fb811ce71de5a7b5fd"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogInIifQ==', 'eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==']-- last: --eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --sprs_lbm-- value: --fa99053ed19e45fb811ce71de5a7b5fd-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve element: --sprs_lbm-- [fa99053ed19e45fb811ce71de5a7b5fd] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found elem handler for: --ElementType.NAVIGABLE_ALBUM-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: No streaming information available in [fa99053ed19e45fb811ce71de5a7b5fd] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '1', 'offset': '0', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogInIifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==/eyJuIjogImxibSIsICJ2IjogImZhOTkwNTNlZDE5ZTQ1ZmI4MTFjZTcxZGU1YTdiNWZkIn0='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogInIifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==/eyJuIjogImxibSIsICJ2IjogImZhOTkwNTNlZDE5ZTQ1ZmI4MTFjZTcxZGU1YTdiNWZkIn0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogInIifQ==] decodes to {"n": "tag", "v": "r"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==] decodes to {"n": "sprs_lbm", "v": "fa99053ed19e45fb811ce71de5a7b5fd"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogImxibSIsICJ2IjogImZhOTkwNTNlZDE5ZTQ1ZmI4MTFjZTcxZGU1YTdiNWZkIn0=] decodes to {"n": "lbm", "v": "fa99053ed19e45fb811ce71de5a7b5fd"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogInIifQ==', 'eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==', 'eyJuIjogImxibSIsICJ2IjogImZhOTkwNTNlZDE5ZTQ1ZmI4MTFjZTcxZGU1YTdiNWZkIn0=']-- last: --eyJuIjogImxibSIsICJ2IjogImZhOTkwNTNlZDE5ZTQ1ZmI4MTFjZTcxZGU1YTdiNWZkIn0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --lbm-- value: --fa99053ed19e45fb811ce71de5a7b5fd-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve element: --lbm-- [fa99053ed19e45fb811ce71de5a7b5fd] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found elem handler for: --ElementType.ALBUM-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: _handler_element_album for album_id fa99053ed19e45fb811ce71de5a7b5fd avp_enc None upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '1', 'offset': '0', 'flag': 'meta', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogInIifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==/eyJuIjogImxibSIsICJ2IjogImZhOTkwNTNlZDE5ZTQ1ZmI4MTFjZTcxZGU1YTdiNWZkIn0=/eyJuIjogInRyayIsICJ2IjogImFjNTIwMzliY2NiNjFiMTljYmY1MmNiNzliMGNmNzAyIn0='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogInIifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==/eyJuIjogImxibSIsICJ2IjogImZhOTkwNTNlZDE5ZTQ1ZmI4MTFjZTcxZGU1YTdiNWZkIn0=/eyJuIjogInRyayIsICJ2IjogImFjNTIwMzliY2NiNjFiMTljYmY1MmNiNzliMGNmNzAyIn0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogInIifQ==] decodes to {"n": "tag", "v": "r"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==] decodes to {"n": "sprs_lbm", "v": "fa99053ed19e45fb811ce71de5a7b5fd"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogImxibSIsICJ2IjogImZhOTkwNTNlZDE5ZTQ1ZmI4MTFjZTcxZGU1YTdiNWZkIn0=] decodes to {"n": "lbm", "v": "fa99053ed19e45fb811ce71de5a7b5fd"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRyayIsICJ2IjogImFjNTIwMzliY2NiNjFiMTljYmY1MmNiNzliMGNmNzAyIn0=] decodes to {"n": "trk", "v": "ac52039bccb61b19cbf52cb79b0cf702"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogInIifQ==', 'eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==', 'eyJuIjogImxibSIsICJ2IjogImZhOTkwNTNlZDE5ZTQ1ZmI4MTFjZTcxZGU1YTdiNWZkIn0=', 'eyJuIjogInRyayIsICJ2IjogImFjNTIwMzliY2NiNjFiMTljYmY1MmNiNzliMGNmNzAyIn0=']-- last: --eyJuIjogInRyayIsICJ2IjogImFjNTIwMzliY2NiNjFiMTljYmY1MmNiNzliMGNmNzAyIn0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --trk-- value: --ac52039bccb61b19cbf52cb79b0cf702-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve element: --trk-- [ac52039bccb61b19cbf52cb79b0cf702] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found elem handler for: --ElementType.TRACK-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: _handler_element_track should serve song_id ac52039bccb61b19cbf52cb79b0cf702 upmpdcli-navidrome | CMDTALK: subsonic-app.py: entering _song_data_to_entry ... upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '0', 'flag': 'children', 'objid': '0$subsonic$'}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: ---- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$']-- last: --0$subsonic$-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ALBUMS: [subsonictaginitialpageenabledglbms] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.ALBUMS] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.ALBUMS took [0.312] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.NEWEST: [subsonictaginitialpageenabledn] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RECENTLY_PLAYED: [subsonictaginitialpageenabledrp] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.HIGHEST_RATED: [subsonictaginitialpageenabledhr] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITES: [subsonictaginitialpageenabledfav] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.MOST_PLAYED: [subsonictaginitialpageenabledmp] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RANDOM: [subsonictaginitialpageenabledr] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS: [subsonictaginitialpageenabledgrtsts] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.ARTISTS] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.ARTISTS took [0.191] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS_ALL: [subsonictaginitialpageenableda_all] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS_PAGINATED: [subsonictaginitialpageenableda_pg] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS_INDEXED: [subsonictaginitialpageenableda_ndx] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITE_ARTISTS: [subsonictaginitialpageenabledfav_rtsts] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.SONGS: [subsonictaginitialpageenabledgsngs] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.SONGS] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.SONGS took [0.099] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RANDOM_SONGS: [subsonictaginitialpageenabledrs] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RANDOM_SONGS_LIST: [subsonictaginitialpageenabledrsl] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITE_SONGS: [subsonictaginitialpageenabledfs] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITE_SONGS_LIST: [subsonictaginitialpageenabledfsl] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.GENRES: [subsonictaginitialpageenabledg] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.GENRES] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.GENRES took [0.162] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.PLAYLISTS: [subsonictaginitialpageenabledpl] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.PLAYLISTS] got a [None] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.PLAYLISTS took [0.057] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.INTERNET_RADIOS: [subsonictaginitialpageenabledir] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '0', 'flag': 'children', 'objid': '0$subsonic$'}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: ---- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$']-- last: --0$subsonic$-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ALBUMS: [subsonictaginitialpageenabledglbms] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.ALBUMS] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.ALBUMS took [0.176] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.NEWEST: [subsonictaginitialpageenabledn] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RECENTLY_PLAYED: [subsonictaginitialpageenabledrp] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.HIGHEST_RATED: [subsonictaginitialpageenabledhr] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITES: [subsonictaginitialpageenabledfav] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.MOST_PLAYED: [subsonictaginitialpageenabledmp] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RANDOM: [subsonictaginitialpageenabledr] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS: [subsonictaginitialpageenabledgrtsts] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.ARTISTS] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.ARTISTS took [0.159] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS_ALL: [subsonictaginitialpageenableda_all] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS_PAGINATED: [subsonictaginitialpageenableda_pg] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS_INDEXED: [subsonictaginitialpageenableda_ndx] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITE_ARTISTS: [subsonictaginitialpageenabledfav_rtsts] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.SONGS: [subsonictaginitialpageenabledgsngs] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.SONGS] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.SONGS took [0.107] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RANDOM_SONGS: [subsonictaginitialpageenabledrs] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RANDOM_SONGS_LIST: [subsonictaginitialpageenabledrsl] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITE_SONGS: [subsonictaginitialpageenabledfs] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITE_SONGS_LIST: [subsonictaginitialpageenabledfsl] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.GENRES: [subsonictaginitialpageenabledg] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.GENRES] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.GENRES took [0.189] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.PLAYLISTS: [subsonictaginitialpageenabledpl] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.PLAYLISTS] got a [None] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.PLAYLISTS took [0.057] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.INTERNET_RADIOS: [subsonictaginitialpageenabledir] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '0', 'flag': 'children', 'objid': '0$subsonic$'}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: ---- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$']-- last: --0$subsonic$-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ALBUMS: [subsonictaginitialpageenabledglbms] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.ALBUMS] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.ALBUMS took [0.161] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.NEWEST: [subsonictaginitialpageenabledn] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RECENTLY_PLAYED: [subsonictaginitialpageenabledrp] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.HIGHEST_RATED: [subsonictaginitialpageenabledhr] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITES: [subsonictaginitialpageenabledfav] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.MOST_PLAYED: [subsonictaginitialpageenabledmp] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RANDOM: [subsonictaginitialpageenabledr] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS: [subsonictaginitialpageenabledgrtsts] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.ARTISTS] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.ARTISTS took [0.167] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS_ALL: [subsonictaginitialpageenableda_all] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS_PAGINATED: [subsonictaginitialpageenableda_pg] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS_INDEXED: [subsonictaginitialpageenableda_ndx] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITE_ARTISTS: [subsonictaginitialpageenabledfav_rtsts] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.SONGS: [subsonictaginitialpageenabledgsngs] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.SONGS] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.SONGS took [0.100] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RANDOM_SONGS: [subsonictaginitialpageenabledrs] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RANDOM_SONGS_LIST: [subsonictaginitialpageenabledrsl] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITE_SONGS: [subsonictaginitialpageenabledfs] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITE_SONGS_LIST: [subsonictaginitialpageenabledfsl] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.GENRES: [subsonictaginitialpageenabledg] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.GENRES] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.GENRES took [0.163] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.PLAYLISTS: [subsonictaginitialpageenabledpl] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.PLAYLISTS] got a [None] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.PLAYLISTS took [0.068] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.INTERNET_RADIOS: [subsonictaginitialpageenabledir] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '0', 'flag': 'children', 'objid': '0$subsonic$'}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: ---- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$']-- last: --0$subsonic$-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ALBUMS: [subsonictaginitialpageenabledglbms] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.ALBUMS] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.ALBUMS took [0.169] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.NEWEST: [subsonictaginitialpageenabledn] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RECENTLY_PLAYED: [subsonictaginitialpageenabledrp] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.HIGHEST_RATED: [subsonictaginitialpageenabledhr] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITES: [subsonictaginitialpageenabledfav] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.MOST_PLAYED: [subsonictaginitialpageenabledmp] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RANDOM: [subsonictaginitialpageenabledr] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS: [subsonictaginitialpageenabledgrtsts] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.ARTISTS] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.ARTISTS took [0.188] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS_ALL: [subsonictaginitialpageenableda_all] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS_PAGINATED: [subsonictaginitialpageenableda_pg] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.ARTISTS_INDEXED: [subsonictaginitialpageenableda_ndx] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITE_ARTISTS: [subsonictaginitialpageenabledfav_rtsts] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.SONGS: [subsonictaginitialpageenabledgsngs] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.SONGS] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.SONGS took [0.099] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RANDOM_SONGS: [subsonictaginitialpageenabledrs] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.RANDOM_SONGS_LIST: [subsonictaginitialpageenabledrsl] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITE_SONGS: [subsonictaginitialpageenabledfs] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.FAVOURITE_SONGS_LIST: [subsonictaginitialpageenabledfsl] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.GENRES: [subsonictaginitialpageenabledg] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.GENRES] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.GENRES took [0.162] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.PLAYLISTS: [subsonictaginitialpageenabledpl] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.PLAYLISTS] got a [None] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag TagType.PLAYLISTS took [0.057] upmpdcli-navidrome | CMDTALK: subsonic-app.py: Tag enabling key for TagType.INTERNET_RADIOS: [subsonictaginitialpageenabledir] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '0', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=']-- last: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --tag-- value: --glbms-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve tag: --glbms-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found tag handler for: --TagType.ALBUMS-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.NEWEST] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.RECENTLY_PLAYED] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.HIGHEST_RATED] got a [None] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.MOST_PLAYED] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.RANDOM] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.FAVOURITES] got a [None] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '0', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=']-- last: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --tag-- value: --glbms-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve tag: --glbms-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found tag handler for: --TagType.ALBUMS-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.NEWEST] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.RECENTLY_PLAYED] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.HIGHEST_RATED] got a [None] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.MOST_PLAYED] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.RANDOM] got a [<class 'retrieved_art.RetrievedArt'>] upmpdcli-navidrome | CMDTALK: subsonic-app.py: tag_to_entry [TagType.FAVOURITES] got a [None] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '0', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ=='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogIm4ifQ==] decodes to {"n": "tag", "v": "n"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogIm4ifQ==']-- last: --eyJuIjogInRhZyIsICJ2IjogIm4ifQ==-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --tag-- value: --n-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve tag: --n-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found tag handler for: --TagType.NEWEST-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: Requested [28] albums from offset [0], got [28] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '0', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ=='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogIm4ifQ==] decodes to {"n": "tag", "v": "n"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==] decodes to {"n": "sprs_lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogIm4ifQ==', 'eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==']-- last: --eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --sprs_lbm-- value: --6e931d03d3fee28042909a9b8b432535-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve element: --sprs_lbm-- [6e931d03d3fee28042909a9b8b432535] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found elem handler for: --ElementType.NAVIGABLE_ALBUM-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: No streaming information available in [6e931d03d3fee28042909a9b8b432535] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '0', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ=='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogIm4ifQ==] decodes to {"n": "tag", "v": "n"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==] decodes to {"n": "sprs_lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogIm4ifQ==', 'eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==']-- last: --eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --sprs_lbm-- value: --6e931d03d3fee28042909a9b8b432535-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve element: --sprs_lbm-- [6e931d03d3fee28042909a9b8b432535] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found elem handler for: --ElementType.NAVIGABLE_ALBUM-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: No streaming information available in [6e931d03d3fee28042909a9b8b432535] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '0', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogIm4ifQ==] decodes to {"n": "tag", "v": "n"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==] decodes to {"n": "sprs_lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=] decodes to {"n": "lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogIm4ifQ==', 'eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==', 'eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=']-- last: --eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --lbm-- value: --6e931d03d3fee28042909a9b8b432535-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve element: --lbm-- [6e931d03d3fee28042909a9b8b432535] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found elem handler for: --ElementType.ALBUM-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: _handler_element_album for album_id 6e931d03d3fee28042909a9b8b432535 avp_enc None upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '8', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogIm4ifQ==] decodes to {"n": "tag", "v": "n"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==] decodes to {"n": "sprs_lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=] decodes to {"n": "lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogIm4ifQ==', 'eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==', 'eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=']-- last: --eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --lbm-- value: --6e931d03d3fee28042909a9b8b432535-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve element: --lbm-- [6e931d03d3fee28042909a9b8b432535] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found elem handler for: --ElementType.ALBUM-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: _handler_element_album for album_id 6e931d03d3fee28042909a9b8b432535 avp_enc None upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '8', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogIm4ifQ==] decodes to {"n": "tag", "v": "n"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==] decodes to {"n": "sprs_lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=] decodes to {"n": "lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogIm4ifQ==', 'eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==', 'eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=']-- last: --eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --lbm-- value: --6e931d03d3fee28042909a9b8b432535-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve element: --lbm-- [6e931d03d3fee28042909a9b8b432535] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found elem handler for: --ElementType.ALBUM-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: _handler_element_album for album_id 6e931d03d3fee28042909a9b8b432535 avp_enc None upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '1', 'offset': '0', 'flag': 'meta', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogInIifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==/eyJuIjogImxibSIsICJ2IjogImZhOTkwNTNlZDE5ZTQ1ZmI4MTFjZTcxZGU1YTdiNWZkIn0=/eyJuIjogInRyayIsICJ2IjogImFjNTIwMzliY2NiNjFiMTljYmY1MmNiNzliMGNmNzAyIn0='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogInIifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==/eyJuIjogImxibSIsICJ2IjogImZhOTkwNTNlZDE5ZTQ1ZmI4MTFjZTcxZGU1YTdiNWZkIn0=/eyJuIjogInRyayIsICJ2IjogImFjNTIwMzliY2NiNjFiMTljYmY1MmNiNzliMGNmNzAyIn0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogInIifQ==] decodes to {"n": "tag", "v": "r"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==] decodes to {"n": "sprs_lbm", "v": "fa99053ed19e45fb811ce71de5a7b5fd"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogImxibSIsICJ2IjogImZhOTkwNTNlZDE5ZTQ1ZmI4MTFjZTcxZGU1YTdiNWZkIn0=] decodes to {"n": "lbm", "v": "fa99053ed19e45fb811ce71de5a7b5fd"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRyayIsICJ2IjogImFjNTIwMzliY2NiNjFiMTljYmY1MmNiNzliMGNmNzAyIn0=] decodes to {"n": "trk", "v": "ac52039bccb61b19cbf52cb79b0cf702"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogInIifQ==', 'eyJuIjogInNwcnNfbGJtIiwgInYiOiAiZmE5OTA1M2VkMTllNDVmYjgxMWNlNzFkZTVhN2I1ZmQifQ==', 'eyJuIjogImxibSIsICJ2IjogImZhOTkwNTNlZDE5ZTQ1ZmI4MTFjZTcxZGU1YTdiNWZkIn0=', 'eyJuIjogInRyayIsICJ2IjogImFjNTIwMzliY2NiNjFiMTljYmY1MmNiNzliMGNmNzAyIn0=']-- last: --eyJuIjogInRyayIsICJ2IjogImFjNTIwMzliY2NiNjFiMTljYmY1MmNiNzliMGNmNzAyIn0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --trk-- value: --ac52039bccb61b19cbf52cb79b0cf702-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve element: --trk-- [ac52039bccb61b19cbf52cb79b0cf702] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found elem handler for: --ElementType.TRACK-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: _handler_element_track should serve song_id ac52039bccb61b19cbf52cb79b0cf702 upmpdcli-navidrome | CMDTALK: subsonic-app.py: entering _song_data_to_entry ... upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '8', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogIm4ifQ==] decodes to {"n": "tag", "v": "n"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==] decodes to {"n": "sprs_lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=] decodes to {"n": "lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogIm4ifQ==', 'eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==', 'eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=']-- last: --eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --lbm-- value: --6e931d03d3fee28042909a9b8b432535-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve element: --lbm-- [6e931d03d3fee28042909a9b8b432535] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found elem handler for: --ElementType.ALBUM-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: _handler_element_album for album_id 6e931d03d3fee28042909a9b8b432535 avp_enc None upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '8', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogIm4ifQ==] decodes to {"n": "tag", "v": "n"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==] decodes to {"n": "sprs_lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=] decodes to {"n": "lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogIm4ifQ==', 'eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==', 'eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=']-- last: --eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --lbm-- value: --6e931d03d3fee28042909a9b8b432535-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve element: --lbm-- [6e931d03d3fee28042909a9b8b432535] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found elem handler for: --ElementType.ALBUM-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: _handler_element_album for album_id 6e931d03d3fee28042909a9b8b432535 avp_enc None upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '8', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogIm4ifQ==] decodes to {"n": "tag", "v": "n"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==] decodes to {"n": "sprs_lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=] decodes to {"n": "lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogIm4ifQ==', 'eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==', 'eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=']-- last: --eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --lbm-- value: --6e931d03d3fee28042909a9b8b432535-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve element: --lbm-- [6e931d03d3fee28042909a9b8b432535] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found elem handler for: --ElementType.ALBUM-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: _handler_element_album for album_id 6e931d03d3fee28042909a9b8b432535 avp_enc None upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: args: --{'cmdtalk:proc': 'browse', 'count': '8', 'offset': '8', 'flag': 'children', 'objid': '0$subsonic$/eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0='}-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: --eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=/eyJuIjogInRhZyIsICJ2IjogIm4ifQ==/eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==/eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=] decodes to {"n": "tag", "v": "glbms"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInRhZyIsICJ2IjogIm4ifQ==] decodes to {"n": "tag", "v": "n"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==] decodes to {"n": "sprs_lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path: [eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=] decodes to {"n": "lbm", "v": "6e931d03d3fee28042909a9b8b432535"} upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: path_list: --['0$subsonic$', 'eyJuIjogInRhZyIsICJ2IjogImdsYm1zIn0=', 'eyJuIjogInRhZyIsICJ2IjogIm4ifQ==', 'eyJuIjogInNwcnNfbGJtIiwgInYiOiAiNmU5MzFkMDNkM2ZlZTI4MDQyOTA5YTliOGI0MzI1MzUifQ==', 'eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=']-- last: --eyJuIjogImxibSIsICJ2IjogIjZlOTMxZDAzZDNmZWUyODA0MjkwOWE5YjhiNDMyNTM1In0=-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: item_identifier name: --lbm-- value: --6e931d03d3fee28042909a9b8b432535-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: should serve element: --lbm-- [6e931d03d3fee28042909a9b8b432535] upmpdcli-navidrome | CMDTALK: subsonic-app.py: browse: found elem handler for: --ElementType.ALBUM-- upmpdcli-navidrome | CMDTALK: subsonic-app.py: _handler_element_album for album_id 6e931d03d3fee28042909a9b8b432535 avp_enc None

sruckh commented 3 weeks ago

It looks like Yamaha devices do not like the Let's Encrypt certificates (which I am using for all my certificates). With the help of symfonium developer I was able to get audio out to Yamaha devices when enabling internal proxy support inside the symfonium app. I did go ahead and add the volume you suggested with the text file to my docker compose file. As you thought, it did not seem to have an effect. Thank You.

GioF71 commented 3 weeks ago

Sorry to hear that. Do you have a spare computer/pi, so we can try and install a stack of upmpdcli+mpd and create a upnp renderer? The sample configuration is here. We could so verify if the problem is with the yamaha player (at least in combination with upmpdcli), or not. Let me know if you want to try!

sruckh commented 3 weeks ago

Thank You. I will take a look at your link, and let you know.

GioF71 commented 6 days ago

Hello, I just wanted to tell you that I successfully implemented the feature! :-)