Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
tomellis opened this issue Feb 19, 2024 · 18 comments
Labels
bug Something isn't working

Comments

@tomellis
Copy link

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_retrievertagname
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:
- PUID=1000 #optional
- PGID=1000 #optional
- PORT_OFFSET=4 #optional
- UPNPAV=0 #not a renderer
- OPENHOME=0 #not a renderer
- FRIENDLY_NAME=NavidromeUpmpdcli
- SUBSONIC_ENABLE=yes
- SUBSONIC_AUTOSTART=yes
- SUBSONIC_BASE_URL=${SUBSONIC_BASE_URL}
- SUBSONIC_PORT=${SUBSONIC_PORT}
- SUBSONIC_USER=${SUBSONIC_USER}
- SUBSONIC_PASSWORD=${SUBSONIC_PASSWORD
- SUBSONIC_DOWNLOAD_PLUGIN=yes #optional, will download updated plugin from the specified branch
- SUBSONIC_PLUGIN_BRANCH=latest #optional, it is the branch to be downloaded if SUBSONIC_DOWNLOAD_PLUGIN is set to yes
restart: unless-stopped

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

@tomellis tomellis added the bug Something isn't working label Feb 19, 2024
@GioF71
Copy link
Owner

GioF71 commented Feb 19, 2024

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

  • SUBSONIC_DOWNLOAD_PLUGIN=yes #optional, will download updated plugin from the specified branch

should become

#optional, will download updated plugin from the specified branch

  • SUBSONIC_DOWNLOAD_PLUGIN=yes

and so on for the others.

@GioF71
Copy link
Owner

GioF71 commented Feb 19, 2024

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

@GioF71
Copy link
Owner

GioF71 commented Feb 19, 2024

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
Copy link
Author

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
Copy link
Author

Tested the latest branch/version you posted.
- SUBSONIC_PLUGIN_BRANCH=latest-subsonic
- SUBSONIC_FORCE_CONNECTOR_VERSION=0.3.1

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

@GioF71
Copy link
Owner

GioF71 commented Feb 19, 2024

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
Copy link
Owner

GioF71 commented Feb 29, 2024

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

@sruckh
Copy link

sruckh commented May 24, 2024

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
Copy link
Owner

GioF71 commented May 24, 2024

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
Copy link
Owner

GioF71 commented May 25, 2024

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

@sruckh
Copy link

sruckh commented Jun 3, 2024

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
Copy link

sruckh commented Jun 3, 2024

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
Copy link
Owner

GioF71 commented Jun 3, 2024

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
Copy link

sruckh commented Jun 3, 2024

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

@GioF71
Copy link
Owner

GioF71 commented Jun 19, 2024

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

@sruckh
Copy link

sruckh commented Jul 4, 2024

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

Thank You!

@GioF71
Copy link
Owner

GioF71 commented Jul 4, 2024

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

Thank You!

Ok sorry, this is where I wrote a wrong reply, that message was for another issue. I thought I just never wrote that... but here it is and it's my mistake.
I could do nothing for you issue... I am really sorry. Did anything change? Even a chromecast can work, using BubbleUPnP server it can be "converted" to a DLNA or OpenHome device for the apps which don't support chromecast natively.

@GioF71
Copy link
Owner

GioF71 commented Jul 22, 2024

Hello, maybe something to try!
Today I tried my WiiM pro with Lightweight Media Server and Navidrome, and to my surprise it did not work.
I could make it work using the variable PLG_PROXY_METHOD set to "proxy" for the upmpdcli media server container.
This might work on your Yamaha device as well, can you please try?
In short, you need to add:

  • PLG_PROXY_METHOD=proxy

to your enviroment variables.
Let me know if this helps.

As I side note, these media server have worked for me in the past. I am not sure that when I tried to play from those servers to the WiiM, the configuration was not the one I am suggesting you now. Can't really remember.
Of course when playing to mpd+upmpdcli, both these settings for PLG_PROXY_METHOD, so redirect or proxy, work without issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants