Closed jernejmarcic closed 7 months ago
Should be fixed now.
Can you update following the update instructions in the new README and try again?
Followed the instructions, updated and set vlc
as player_name
. The title and porgress bar work, however I still get the following error for the cover art:
Traceback (most recent call last):
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 44, in on_player_appeared
init_player(manager, player)
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 373, in init_player
update_metadata(player, player.props.metadata, manager)
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 236, in update_metadata
updated = update_progressbar(manager, player)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 349, in update_progressbar
widget_text = gen_widget_text(player)
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 157, in gen_widget_text
song_info = title.strip()
^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'strip'
Traceback (most recent call last):
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 70, in on_metadata
update_metadata(player, metadata, manager)
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 243, in update_metadata
download_art(art_url)
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 204, in download_art
raise Exception(
Exception: Unknown protocol for attachment://picture0.jpg. Please report this as a bug.
That's two different errors.
Can you close VLC, run $HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer monitor -vvv
, open VLC, starts playing and copy paste here the stdout you get?
Also try the new version, it won't show the album art but at least it should not crash
I set the player_name
back to vlc
and ran the script, this time it did work without me having to change anything, upon further testing I realized that it will only set the image of the track playing IF vlc
was launched before vlc
. If I play a different track the old cover art (from the inital song I played when waybar was launched remains), however the title and progress bar work prefectly.
If I launch vlc
befor waybar:
Then when playing a new song I get the same error message as my comment above and my mediaplayer still displays the old cover art. ERROR is the tile of the song
When I turn close vlc
the cover is still kept and is looks like that:
If a launch vlc
after waybar is running:
$HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer monitor -vvv
I closed vlc
and reset waybar, ran $HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer monitor -vvv
and opened vlc
. Here is the entire output:
[main] [INFO] I was called
[main] [DEBUG] Arguments received {'command': 'monitor', 'verbose': 3}
[main] [DEBUG] config={'refresh_interval': 500, 'is_notification': False, 'notification_min_interval': 2, 'widget_length': 20, 'sepchar': '\uf444', 'surface_color': 'rgba(54, 58, 79, 0.5)', 'overlay_color': 'rgba(110, 115, 141, 0.6)', 'interval': 0.1, 'text_rot_int': 1000, 'image_signal': 4, 'length_factor': 1, 'player_name': 'vlc', 'convert_to_jpeg': False}
[main] [DEBUG] Splitting player_name on `.`. requested_player=vlc
[main] [DEBUG] No player found. Printing empty
{"text": "\uf144 ", "class": "perc0-0", "tooltip": "<span></span>"}
[on_player_appeared] [DEBUG] I was called
[init_player] [DEBUG] I was called
[init_player] [DEBUG] name.name=vlc
[init_player] [DEBUG] Calling update_metadata
[update_metadata] [INFO] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=0.0
[update_progressbar] [DEBUG] pmetadata=@a{sv} {}
[update_progressbar] [DEBUG] ERROR: The player is not reporting the length of the song to us. Progress bar won't work.
Traceback (most recent call last):
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 44, in on_player_appeared
init_player(manager, player)
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 373, in init_player
update_metadata(player, player.props.metadata, manager)
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 236, in update_metadata
updated = update_progressbar(manager, player)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 349, in update_progressbar
widget_text = gen_widget_text(player)
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 157, in gen_widget_text
song_info = title.strip()
^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'strip'
[on_metadata] [DEBUG] I was called
[update_metadata] [INFO] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=10.0
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'attachment://picture0.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf144 Can't Take Me Down", "class": "perc0-0", "tooltip": "<span><span variant='title-caps' font_weight='bold'>Can't Take Me Down</span>\n Dead Posey\n<i> Blue Monday</i></span>"}
[update_progressbar] [DEBUG] Returning True
[download_art] [DEBUG] Updating album art
Traceback (most recent call last):
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 70, in on_metadata
update_metadata(player, metadata, manager)
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 243, in update_metadata
download_art(art_url)
File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 204, in download_art
raise Exception(
Exception: Unknown protocol for attachment://picture0.jpg. Please report this as a bug.
[on_metadata] [DEBUG] I was called
[update_metadata] [INFO] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=5.0
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf144 Can't Take Me Down", "class": "perc0-0", "tooltip": "<span><span variant='title-caps' font_weight='bold'>Can't Take Me Down</span>\n Dead Posey\n<i> Blue Monday</i></span>"}
[update_progressbar] [DEBUG] Returning True
[download_art] [DEBUG] Updating album art
[download_art] [DEBUG] Album art '/home/jernej/.cache/vlc/art/artistalbum/Dead Posey/Blue Monday/art.jpg' symlinked to '/tmp/waybar-mediaplayer-art'
[update_metadata] [DEBUG] Returning
[on_metadata] [DEBUG] Returning True
[on_playback_status] [INFO] I was called
[on_playback_status] [DEBUG] status=<enum PLAYERCTL_PLAYBACK_STATUS_PLAYING of type Playerctl.PlaybackStatus>
[on_playback_status] [DEBUG] Calling register_refresh_interval_callback
[register_refresh_interval_callback] [INFO] I was called
[register_refresh_interval_callback] [DEBUG] Registering `refresh_interval` callback
[on_playback_status] [DEBUG] Calling update_progressbar
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=7.0
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf28b Can't Take Me Down", "class": "perc0-0", "tooltip": "<span><span variant='title-caps' font_weight='bold'>Can't Take Me Down</span>\n Dead Posey\n<i> Blue Monday</i></span>"}
[update_progressbar] [DEBUG] Returning True
[on_playback_status] [DEBUG] Returning True
[on_refresh_interval] [DEBUG] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=572078
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf28b Can't Take Me Down", "class": "perc0-3", "tooltip": "<span><span variant='title-caps' font_weight='bold'>Can't Take Me Down</span>\n Dead Posey\n<i> Blue Monday</i></span>"}
[update_progressbar] [DEBUG] Returning True
[on_refresh_interval] [DEBUG] Returning True
[on_refresh_interval] [DEBUG] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=850841
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf28b Can't Take Me Down", "class": "perc0-4", "tooltip": "<span><span variant='title-caps' font_weight='bold'>Can't Take Me Down</span>\n Dead Posey\n<i> Blue Monday</i></span>"}
[update_progressbar] [DEBUG] Returning True
[on_refresh_interval] [DEBUG] Returning True
[on_refresh_interval] [DEBUG] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=1408199
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf28b Can't Take Me Down", "class": "perc0-7", "tooltip": "<span><span variant='title-caps' font_weight='bold'>Can't Take Me Down</span>\n Dead Posey\n<i> Blue Monday</i></span>"}
[update_progressbar] [DEBUG] Returning True
[on_refresh_interval] [DEBUG] Returning True
[on_playback_status] [INFO] I was called
[on_playback_status] [DEBUG] status=<enum PLAYERCTL_PLAYBACK_STATUS_PAUSED of type Playerctl.PlaybackStatus>
[on_playback_status] [DEBUG] Calling register_refresh_interval_callback
[register_refresh_interval_callback] [INFO] I was called
[on_playback_status] [DEBUG] Calling update_progressbar
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=1965235
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf144 Can't Take Me Down", "class": "perc1-0", "tooltip": "<span><span variant='title-caps' font_weight='bold'>Can't Take Me Down</span>\n Dead Posey\n<i> Blue Monday</i></span>"}
[update_progressbar] [DEBUG] Returning True
[on_playback_status] [DEBUG] Returning True
[on_refresh_interval] [DEBUG] I was called
[on_refresh_interval] [DEBUG] Returning False
Also try the new version, it won't show the album art but at least it should not crash
I don't think you updated the module. Can you try to update the module please?
You lack this commit: https://github.com/raffaem/waybar-mediaplayer/commit/ac575818d847fe77b55d98e748cdffaea4c14d38
I updated the comment to make it clearer that the title and progress bar work flawlessly, thank you :)
I updated the comment to make it clearer that the title and progress bar work flawlessly, thank you :)
I don't understand.
From the output you posted here: https://github.com/raffaem/waybar-mediaplayer/issues/2#issuecomment-1911811041, I have reasons to believe you are running an old version of the software.
Can you update following these instructions: https://github.com/raffaem/waybar-mediaplayer#update?
My apologies, I believe I started making this comment before the latest fix was available, however on the version I was using the track title and progress bar still function flawlessly. I have updated to the latest version now.
The mediaplayer no longer throws out any errors.
I again, closed vlc
and reset waybar, ran $HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer monitor -vvv
and opened vlc
.
Here is the output:
[main] [INFO] I was called
[main] [DEBUG] Arguments received {'command': 'monitor', 'verbose': 3}
[main] [DEBUG] config={'refresh_interval': 500, 'is_notification': False, 'notification_min_interval': 2, 'widget_length': 20, 'sepchar': '\uf444', 'surface_color': 'rgba(54, 58, 79, 0.5)', 'overlay_color': 'rgba(110, 115, 141, 0.6)', 'interval': 0.1, 'text_rot_int': 1000, 'image_signal': 4, 'length_factor': 1, 'player_name': 'vlc', 'convert_to_jpeg': False}
[main] [DEBUG] Splitting player_name on `.`. requested_player=vlc
[main] [DEBUG] No player found. Printing empty
{"text": "\uf144 ", "class": "perc0-0", "tooltip": "<span></span>"}
[on_player_appeared] [DEBUG] I was called
[init_player] [DEBUG] I was called
[init_player] [DEBUG] name.name=vlc
[init_player] [DEBUG] Calling update_metadata
[update_metadata] [INFO] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=0.0
[update_progressbar] [DEBUG] pmetadata=@a{sv} {}
[update_progressbar] [DEBUG] ERROR: The player is not reporting the length of the song to us. Progress bar won't work.
{"text": "\uf144 ", "class": "perc0-0", "tooltip": "<span><span variant='title-caps' font_weight='bold'></span>\n\n<i></i></span>"}
[update_progressbar] [DEBUG] Returning True
[update_metadata] [DEBUG] Returning
[register_refresh_interval_callback] [INFO] I was called
[init_player] [DEBUG] Returning None
[on_player_appeared] [DEBUG] Returning True
[on_metadata] [DEBUG] I was called
[update_metadata] [INFO] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=6.0
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'attachment://picture0.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf144 Can't Take Me Down", "class": "perc0-0", "tooltip": "<span><span variant='title-caps' font_weight='bold'>Can't Take Me Down</span>\n Dead Posey\n<i> Blue Monday</i></span>"}
[update_progressbar] [DEBUG] Returning True
[download_art] [DEBUG] Updating album art
[download_art] [DEBUG] Invalid schema for attachment://picture0.jpg. Please report this as a bug.
[update_metadata] [DEBUG] Returning
[on_metadata] [DEBUG] Returning True
[on_metadata] [DEBUG] I was called
[update_metadata] [INFO] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=5.0
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf144 e Me Down \uf444 Can't Tak", "class": "perc0-0", "tooltip": "<span><span variant='title-caps' font_weight='bold'>Can't Take Me Down</span>\n Dead Posey\n<i> Blue Monday</i></span>"}
[update_progressbar] [DEBUG] Returning True
[download_art] [DEBUG] Updating album art
[download_art] [DEBUG] Album art '/home/jernej/.cache/vlc/art/artistalbum/Dead Posey/Blue Monday/art.jpg' symlinked to '/tmp/waybar-mediaplayer-art'
[update_metadata] [DEBUG] Returning
[on_metadata] [DEBUG] Returning True
[on_playback_status] [INFO] I was called
[on_playback_status] [DEBUG] status=<enum PLAYERCTL_PLAYBACK_STATUS_PLAYING of type Playerctl.PlaybackStatus>
[on_playback_status] [DEBUG] Calling register_refresh_interval_callback
[register_refresh_interval_callback] [INFO] I was called
[register_refresh_interval_callback] [DEBUG] Registering `refresh_interval` callback
[on_playback_status] [DEBUG] Calling update_progressbar
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=13.0
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
[update_progressbar] [DEBUG] Song is the same and neither the text nor the progressbar needs an update. Returning
[on_playback_status] [DEBUG] Returning True
[on_refresh_interval] [DEBUG] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=572129
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf28b e Me Down \uf444 Can't Tak", "class": "perc0-3", "tooltip": "<span><span variant='title-caps' font_weight='bold'>Can't Take Me Down</span>\n Dead Posey\n<i> Blue Monday</i></span>"}
[update_progressbar] [DEBUG] Returning True
[on_refresh_interval] [DEBUG] Returning True
[on_refresh_interval] [DEBUG] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=850820
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf28b Me Down \uf444 Can't Take", "class": "perc0-4", "tooltip": "<span><span variant='title-caps' font_weight='bold'>Can't Take Me Down</span>\n Dead Posey\n<i> Blue Monday</i></span>"}
[update_progressbar] [DEBUG] Returning True
[on_refresh_interval] [DEBUG] Returning True
[on_playback_status] [INFO] I was called
[on_playback_status] [DEBUG] status=<enum PLAYERCTL_PLAYBACK_STATUS_PAUSED of type Playerctl.PlaybackStatus>
[on_playback_status] [DEBUG] Calling register_refresh_interval_callback
[register_refresh_interval_callback] [INFO] I was called
[on_playback_status] [DEBUG] Calling update_progressbar
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=1129315
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf144 Me Down \uf444 Can't Take", "class": "perc0-6", "tooltip": "<span><span variant='title-caps' font_weight='bold'>Can't Take Me Down</span>\n Dead Posey\n<i> Blue Monday</i></span>"}
[update_progressbar] [DEBUG] Returning True
[on_playback_status] [DEBUG] Returning True
[on_refresh_interval] [DEBUG] I was called
[on_refresh_interval] [DEBUG] Returning False
My apologies, I believe I started making this comment before the latest fix was available, however on the version I was using the track title and progress bar still function flawlessly. I have updated to the latest version now.
Ok, so what problem remains? Not showing cover art?
Although the first time your VLC is sending an invalid schema for the album cover art:
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'attachment://picture0.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[...]
[download_art] [DEBUG] Updating album art
[download_art] [DEBUG] Invalid schema for attachment://picture0.jpg. Please report this as a bug.
From the second time on it sends a correct schema, and the file is indeed copied (symlink is an error, it is copied):
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[download_art] [DEBUG] Updating album art
[download_art] [DEBUG] Album art '/home/jernej/.cache/vlc/art/artistalbum/Dead Posey/Blue Monday/art.jpg' symlinked to '/tmp/waybar-mediaplayer-art'
Can you post your entire (not just this module) $HOME/.config/waybar/config
?
I do not understand, do you want my entire waybar config? Additionally this bug:
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'attachment://picture0.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[...]
[download_art] [DEBUG] Updating album art
[download_art] [DEBUG] Invalid schema for attachment://picture0.jpg. Please report this as a bug.
Does not appear anymore, there are no errors in the waybar log.
I do not understand, do you want my entire waybar config?
Yes, please.
I suspect some other module is intercepting the signal we are sending to waybar that tells it to update the image on the bar.
I have neglected to comment out a different music player, I have commented it out and restarted waybar however I still don't get the cover. Here is my config.jsconc
as of now:
{
"layer": "top",
"position": "top",
"mod": "dock",
"exclusive": true,
"passtrough": false,
"gtk-layer-shell": true,
"height": 0,
"modules-left": [
"clock",
"cpu",
"memory",
"disk",
"image", "custom/mediaplayer"
// "custom/weather",
// "hyprland/workspaces",
// "custom/playerctl", "custom/playerlabel"
],
"modules-center": ["hyprland/workspaces"],
"modules-right": [
"tray",
"network",
"network#wifistrenght",
"backlight",
// "custom/updates",
//"custom/language",
"pulseaudio",
"pulseaudio#microphone",
"battery",
"battery#icon"
//"custom/powermenu"
],
"hyprland/window": {
"format": "{}"
},
"hyprland/workspaces": {
"on-scroll-up": "hyprctl dispatch workspace e+1",
"on-scroll-down": "hyprctl dispatch workspace e-1",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"0": "10",
"all-outputs": true,
"on-click": "activate",
"format": "{icon}",
"format-icons": {
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"0": "10",
"urgent": "",
// "active": "",
"default": ""
}
},
"image": {
"path": "/tmp/waybar-mediaplayer-art",
"size": 32,
"signal": 2,
"on-click": "feh --auto-zoom --borderless --title 'feh-float' /tmp/waybar-mediaplayer-art"
},
"custom/mediaplayer": {
"exec": "$HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer monitor",
"return-type": "json",
"format": "{}",
"on-click": "$HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer play-pause",
"on-scroll-up": "$HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer next",
"on-scroll-down": "$HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer previous",
"min-length": 20,
"max-length": 20
},
/*
"custom/playerctl": {
"format": "{icon}",
"return-type": "json",
"max-length": 64,
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
"on-click-middle": "playerctl play-pause",
"on-click": "playerctl previous",
"on-click-right": "playerctl next",
"format-icons": {
"Playing": "<span foreground='#E5B9C6'> </span>",
"Paused": "<span foreground='#928374'> </span>"
},
},
"custom/playerlabel": {
"format": "<span>{}</span>",
"return-type": "json",
"max-length": 48,
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
"on-click-middle": "playerctl play-pause",
"on-click": "playerctl previous",
"on-click-right": "playerctl next",
"format-icons": {
"Playing": "<span foreground='#E5B9C6'> </span>",
"Paused": "<span foreground='#928374'> </span>"
},
},
*/
"cpu": {
"interval": 5,
// "hwmon-path-abs": "/sys/class/hwmon/hwmon2/temp1_input",
// "input-filename": "temp1_input",
"format": "{icon} {usage}% ",
"format-alt": "{icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}{icon8}{icon9}",
"format-icons": [
"<span color='#69ff94'>▁</span>", // green
"<span color='#2aa9ff'>▂</span>", // blue
"<span color='#f8f8f2'>▃</span>", // white
"<span color='#f8f8f2'>▄</span>", // white
"<span color='#ffffa5'>▅</span>", // yellow
"<span color='#ffffa5'>▆</span>", // yellow
"<span color='#ff9977'>▇</span>", // orange
"<span color='#dd532e'>█</span>" // red
],
"max-length": 10,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
// "thermal-zone": 2,
//"format-alt": "{temperatureC}°C"
},
"memory": {
"interval": 30,
"format": " {}%",
"format-alt":" {used:0.1f}G",
"max-length": 10
},
"disk": {
"format": " {percentage_used}%",
"format-alt": " {used}/{total}",
"interval": 90,
"tooltip": true,
"tooltip-format": "Free space: {free}",
"path": "/"
},
"backlight": {
"exec": "light -G",
"format": "| {percent}% {icon} |",
"format-icons": //note you can only have one icon set actiave at a time, commnt out the one you are not using
// ["", "", "", "", "", "", "", "", ""] //moonphase icons
["","", "", "", "", "", "", "", "", ""] //lightblulb icons
},
// "custom/updates": {
// "exec": "(paru -Qua) | wc -l",
// "interval": 7200,
// "format": " {}"
// },
// "custom/language": {
// "exec": "setxkbmap -query | grep 'layout:'" ,
// "interval": 3,
// "format": " {}",
// "tooltip": false
// },
// "custom/weather" : {
// "tooltip" : true,
// "format" : "{}",
// "restart-interval" : 300,
// "exec" : "~/.config/waybar/scripts/waybar-wttr.py",
// "return-type" : "json"
// },
"tray": {
"icon-size": 13,
"tooltip": false,
"spacing": 10
},
"clock": {
"interval": 1,
"format": " {:%R:%S %d/%m}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode" : "year",
"mode-mon-col" : 3,
"weeks-pos" : "right",
"on-scroll" : 1,
"on-click-right": "mode",
"format": {
"months": "<span color='#ffead3'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
}
},
},
"pulseaudio": {
"format": "{icon} {volume}%",
"tooltip": false,
"format-muted": " Muted",
"on-click": "pamixer -t",
"on-scroll-up": "pamixer -i 1",
"on-scroll-down": "pamixer -d 1",
"scroll-step": 1,
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
}
},
"pulseaudio#microphone": {
"format": "{format_source}",
"tooltip": false,
"format-source": " {volume}%",
"format-source-muted": " Muted",
"on-click": "pamixer --default-source -t",
"on-scroll-up": "pamixer --default-source -i 1",
"on-scroll-down": "pamixer --default-source -d 1",
"scroll-step": 5
},
"battery": {
"interval": 60,
"format": "{capacity}%",
"format-alt": "{power}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
},
"battery#icon": {
"format": "{icon}",
"format-icons": {
"default":
[
"<span color='#dd532e'></span>", // red for very low charge
"<span color='#dd532e'></span>", // red for low charge
"<span color='#ff9977'></span>", // orange for medium-low charge
"<span color='#ffffa5'></span>", // yellow for medium charge
"<span color='#ffffa5'></span>", // yellow for medium-high charge
"<span color='#ffffa5'></span>", // yellow for medium-high charge
"<span color='#9ece6a'></span>", // green for higher charge
"<span color='#9ece6a'></span>", // green for even higher charge
"<span color='#9ece6a'></span>", // green for full charge or nearly full
"<span color='#9ece6a'></span>", // green for full charge
"<span color='#dd532e'></span>" // red for 100% charged
],
"charging": ["", "", "", "", "", "", "", "", "", "", ""]
},
"format-charging": "{icon}",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}"
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{icon}",
"on-click": "./.config/wofi/wifimenu.sh",
"format-icons": ["", "", "", "", ""],
"format-disconnected" : "",
"format-ethernet": ""
},
"network#wifistrenght" : {
"format-wifi": "{signalStrength}%",
// "format-ethernet": "{ipaddr}/{cidr}",
"tooltip-format": "{ifname} via {gwaddr} ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{essid}| {ifname}: {ipaddr}/{cidr} |"
}
// "custom/powermenu": {
// "format": "",
// "on-click": "./.config/rofi/powermenu/type-2/powermenu.sh",
//"tooltip": false
}
"image": {
"path": "/tmp/waybar-mediaplayer-art",
"size": 32,
"signal": 2,
"on-click": "feh --auto-zoom --borderless --title 'feh-float' /tmp/waybar-mediaplayer-art"
},
Why you have signal: 2
here?
The provided config.json
contains signal: 4
: https://github.com/raffaem/waybar-mediaplayer/blob/master/src/config.json
Change the 2
to 4
and restart waybar.
Oh so so sorry! I forgot to update the README once again! Totally my fault.
I updated the README. Use the new configuration indicated in the README for your $HOME/.config/waybar/config
and album art switching will work.
It woks. Art switching with vlc
does work now. A quick note with vlc
sometimes the art will not display, resenting vlc
fixes that
Also tested with Amberol and confirmed it works too.
Tested with Firefox and confirmed it works too.
I would like to thank you sincerely for all the help and getting it fixed so fast :)
Just in case you need more testing, I will be unavailable for the next 3 hours since I have a programming completion.
Good.
kew fixed its bugs too, so it should work also with kew now.
Thank you very much for the bug report and the testing.
If the bug report is of poor quality I appologise as I am very new to this. I am using Endevour OS, running Hyprland. I am running the script as instructed in the README, I changed nothing and to my knowledge followed the instructions precisely.
I have downloaded music saved in the .flac format. I know that it has all the necessary metadata (such as cover art). However the script does function properly.
When waybar is reset with
player_name
being set to vlc (confirmed it is the correct player name usingplayerctl --list-all
). I get the following error message:On my waybar it appears as follows:
I have confirmed that the file path is valid and shows the correct cover art.
I can circumvent the issue of the script not working properly by setting something different as the
player_name
, for example if I set"player_name": "spotify"
( I do not have spotify) and re-run waybar I get no error message, before playing a track it looks like this:When I play a son using
vlc
(when"player_name": "spotify"
) it appears to work perfectly only missing the cover art.