Your message dated Thu, 7 Sep 2023 13:34:06 -0400
with message-id <f505c992-d221-4cf8-a14b-df4457cdc...@debian.org>
and subject line Closing bug #1032075
has caused the Debian Bug report #1032075,
regarding Play Queue and display of current title don't change when actually 
played song changes
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1032075: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1032075
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: sublime-music
Version: 0.11.16-4
Severity: normal


Hi,

when listening to music in sublime music, the song metadata indicated in the lower left corner and the play queue reachable in the lower right corner do not update when they should. This includes situations such as

* the next song starts when the previous has ended
* the “Go to next song” button is used
* another song is selected for playback somewhere else in the interface
* a song is set to “play next“

Instead they just stay stuck in in the state they have when starting up, i.e. showing the song that was first played after starting and the play queue at that time. Note that while the mentioned interface elements don't reflect the change, the actual playback and the time slider in the lower middle reflect the changes made, e.g. the time resets to the start when a new song is started and “play next” selections are correctly respected when switching to the next song.

When starting sublime-music it prints out various exception messages, which might be related to the problem, as can be seen in the attached log.

Regards
Sven

-- System Information:
Debian Release: bookworm/sid
  APT prefers testing-debug
APT policy: (990, 'testing-debug'), (990, 'testing'), (102, 'unstable-debug'), (102, 'unstable'), (101, 'experimental-debug'), (101, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.0.0-6-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages sublime-music depends on:
ii  gir1.2-gtk-3.0            3.24.36-4
ii  gir1.2-nm-1.0             1.42.0-1
ii  libjs-sphinxdoc           5.3.0-3
ii  python3                   3.11.2-1
ii  python3-bleach            5.0.1-2
ii  python3-dataclasses-json  0.5.7-3
ii  python3-dateutil          2.8.2-1
ii  python3-deepdiff          6.2.2-1
ii  python3-fuzzywuzzy        0.18.0-4
ii  python3-gi                3.42.2-3+b1
ii  python3-levenshtein       0.12.2-2+b4
ii  python3-mpv               1.0.1-3
ii  python3-peewee            3.14.10+dfsg-1+b3
ii  python3-requests          2.28.1+dfsg-1
ii  python3-semver            2.10.2-3
ii  sphinx-rtd-theme-common   1.2.0+dfsg-1

Versions of packages sublime-music recommends:
ii  libnotify4            0.8.1-1
ii  python3-bottle        0.12.23-1
ii  python3-keyring       23.9.3-2
ii  python3-pychromecast  9.4.0-2

Versions of packages sublime-music suggests:
ii  network-manager  1.42.0-1

-- no debconf information
(sublime-music:76700): Gtk-CRITICAL **: 15:16:32.819: gtk_widget_set_size_request: assertion 'width >= -1' failed
Bottle v0.12.23 server starting up (using WSGIRefServer())...
Listening on http://0.0.0.0:8282/
Hit Ctrl-C to quit.

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/peewee.py", line 6970, in get
    return clone.execute(database)[0]
           ~~~~~~~~~~~~~~~~~~~~~~~^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 4339, in __getitem__
    return self.row_cache[item]
           ~~~~~~~~~~~~~~^^^^^^
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sublime_music/app.py", line 346, in do_activate
    self.dbus_manager.property_diff()
  File "/usr/lib/python3/dist-packages/sublime_music/dbus/manager.py", line 372, in property_diff
    new_property_dict = self.property_dict()
                        ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sublime_music/dbus/manager.py", line 239, in property_dict
    "Metadata": self.get_mpris_metadata(
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sublime_music/dbus/manager.py", line 335, in get_mpris_metadata
    artist_name = song.artist.name if song.artist else ""
                                      ^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 4486, in __get__
    return self.get_rel_instance(instance)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 4477, in get_rel_instance
    obj = self.rel_model.get(self.field.rel_field == value)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 6522, in get
    return sq.get()
           ^^^^^^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 6973, in get
    raise self.model.DoesNotExist('%s instance matching query does '
sublime_music.adapters.filesystem.models.ArtistDoesNotExist: <Model: Artist> instance matching query does not exist:
SQL: SELECT "t1"."id", "t1"."name", "t1"."album_count", "t1"."starred", "t1"."biography", "t1"."music_brainz_id", "t1"."last_fm_url", "t1"."_artist_image_url_id" FROM "artist" AS "t1" WHERE ("t1"."id" = ?) LIMIT ? OFFSET ?
Params: ['artist-74', 1, 0]
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/peewee.py", line 6970, in get
    return clone.execute(database)[0]
           ~~~~~~~~~~~~~~~~~~~~~~~^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 4339, in __getitem__
    return self.row_cache[item]
           ~~~~~~~~~~~~~~^^^^^^
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sublime_music/app.py", line 1039, in <lambda>
    lambda: self.window.update(
            ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sublime_music/ui/main.py", line 363, in update
    active_panel.update(app_config, force=force)
  File "/usr/lib/python3/dist-packages/sublime_music/ui/playlists.py", line 118, in update
    self.playlist_detail_panel.update(app_config=app_config, force=force)
  File "/usr/lib/python3/dist-packages/sublime_music/ui/playlists.py", line 523, in update
    self.update_playlist_view(
  File "/usr/lib/python3/dist-packages/sublime_music/ui/util.py", line 435, in wrapper
    result.add_done_callback(
  File "/usr/lib/python3/dist-packages/sublime_music/adapters/manager.py", line 151, in add_done_callback
    fn(self, *args)
  File "/usr/lib/python3/dist-packages/sublime_music/ui/util.py", line 423, in future_callback
    fn()
  File "/usr/lib/python3/dist-packages/sublime_music/ui/playlists.py", line 658, in update_playlist_view
    artist.name if (artist := song.artist) else None,
                              ^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 4486, in __get__
    return self.get_rel_instance(instance)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 4477, in get_rel_instance
    obj = self.rel_model.get(self.field.rel_field == value)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 6522, in get
    return sq.get()
           ^^^^^^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 6973, in get
    raise self.model.DoesNotExist('%s instance matching query does '
sublime_music.adapters.filesystem.models.ArtistDoesNotExist: <Model: Artist> instance matching query does not exist:
SQL: SELECT "t1"."id", "t1"."name", "t1"."album_count", "t1"."starred", "t1"."biography", "t1"."music_brainz_id", "t1"."last_fm_url", "t1"."_artist_image_url_id" FROM "artist" AS "t1" WHERE ("t1"."id" = ?) LIMIT ? OFFSET ?
Params: ['artist-74', 1, 0]
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sublime_music/app.py", line 1039, in <lambda>
    lambda: self.window.update(
            ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sublime_music/ui/main.py", line 363, in update
    active_panel.update(app_config, force=force)
  File "/usr/lib/python3/dist-packages/sublime_music/ui/playlists.py", line 117, in update
    self.playlist_list.update(app_config=app_config, force=force)
  File "/usr/lib/python3/dist-packages/sublime_music/ui/playlists.py", line 232, in update
    self.update_list(app_config=app_config, force=force)
  File "/usr/lib/python3/dist-packages/sublime_music/ui/util.py", line 435, in wrapper
    result.add_done_callback(
  File "/usr/lib/python3/dist-packages/sublime_music/adapters/manager.py", line 151, in add_done_callback
    fn(self, *args)
  File "/usr/lib/python3/dist-packages/sublime_music/ui/util.py", line 423, in future_callback
    fn()
  File "/usr/lib/python3/dist-packages/sublime_music/ui/playlists.py", line 273, in update_list
    util.diff_model_store(self.playlists_store, new_store)
  File "/usr/lib/python3/dist-packages/sublime_music/ui/util.py", line 166, in diff_model_store
    diff = DeepDiff(old_store, new_store)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 303, in __init__
    self._diff(root, parents_ids=frozenset({id(t1)}), _original_type=_original_type)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 1537, in _diff
    self._diff_iterable(level, parents_ids, _original_type=_original_type, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 632, in _diff_iterable
    self._diff_iterable_in_order(level, parents_ids, _original_type=_original_type, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 761, in _diff_iterable_in_order
    self._diff_by_forming_pairs_and_comparing_one_by_one(
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 863, in _diff_by_forming_pairs_and_comparing_one_by_one
    self._diff(next_level, parents_ids_added, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 1543, in _diff
    self._diff_obj(level, parents_ids)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 428, in _diff_obj
    self._diff_dict(
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 585, in _diff_dict
    self._diff(next_level, parents_ids_added, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 1537, in _diff
    self._diff_iterable(level, parents_ids, _original_type=_original_type, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 632, in _diff_iterable
    self._diff_iterable_in_order(level, parents_ids, _original_type=_original_type, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 761, in _diff_iterable_in_order
    self._diff_by_forming_pairs_and_comparing_one_by_one(
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 863, in _diff_by_forming_pairs_and_comparing_one_by_one
    self._diff(next_level, parents_ids_added, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 1524, in _diff
    elif isinstance(level.t1, Mapping):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen abc>", line 119, in __instancecheck__
AttributeError: __class__
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sublime_music/app.py", line 1039, in <lambda>
    lambda: self.window.update(
            ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sublime_music/ui/main.py", line 363, in update
    active_panel.update(app_config, force=force)
  File "/usr/lib/python3/dist-packages/sublime_music/ui/playlists.py", line 117, in update
    self.playlist_list.update(app_config=app_config, force=force)
  File "/usr/lib/python3/dist-packages/sublime_music/ui/playlists.py", line 232, in update
    self.update_list(app_config=app_config, force=force)
  File "/usr/lib/python3/dist-packages/sublime_music/ui/util.py", line 435, in wrapper
    result.add_done_callback(
  File "/usr/lib/python3/dist-packages/sublime_music/adapters/manager.py", line 151, in add_done_callback
    fn(self, *args)
  File "/usr/lib/python3/dist-packages/sublime_music/ui/util.py", line 423, in future_callback
    fn()
  File "/usr/lib/python3/dist-packages/sublime_music/ui/playlists.py", line 273, in update_list
    util.diff_model_store(self.playlists_store, new_store)
  File "/usr/lib/python3/dist-packages/sublime_music/ui/util.py", line 166, in diff_model_store
    diff = DeepDiff(old_store, new_store)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 303, in __init__
    self._diff(root, parents_ids=frozenset({id(t1)}), _original_type=_original_type)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 1537, in _diff
    self._diff_iterable(level, parents_ids, _original_type=_original_type, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 632, in _diff_iterable
    self._diff_iterable_in_order(level, parents_ids, _original_type=_original_type, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 761, in _diff_iterable_in_order
    self._diff_by_forming_pairs_and_comparing_one_by_one(
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 863, in _diff_by_forming_pairs_and_comparing_one_by_one
    self._diff(next_level, parents_ids_added, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 1543, in _diff
    self._diff_obj(level, parents_ids)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 428, in _diff_obj
    self._diff_dict(
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 585, in _diff_dict
    self._diff(next_level, parents_ids_added, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 1537, in _diff
    self._diff_iterable(level, parents_ids, _original_type=_original_type, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 632, in _diff_iterable
    self._diff_iterable_in_order(level, parents_ids, _original_type=_original_type, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 761, in _diff_iterable_in_order
    self._diff_by_forming_pairs_and_comparing_one_by_one(
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 863, in _diff_by_forming_pairs_and_comparing_one_by_one
    self._diff(next_level, parents_ids_added, local_tree=local_tree)
  File "/usr/lib/python3/dist-packages/deepdiff/diff.py", line 1524, in _diff
    elif isinstance(level.t1, Mapping):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen abc>", line 119, in __instancecheck__
AttributeError: __class__
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/peewee.py", line 6970, in get
    return clone.execute(database)[0]
           ~~~~~~~~~~~~~~~~~~~~~~~^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 4339, in __getitem__
    return self.row_cache[item]
           ~~~~~~~~~~~~~~^^^^^^
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sublime_music/app.py", line 1003, in on_app_shutdown
    self.dbus_manager.shutdown()
  File "/usr/lib/python3/dist-packages/sublime_music/dbus/manager.py", line 99, in shutdown
    self.property_diff()
  File "/usr/lib/python3/dist-packages/sublime_music/dbus/manager.py", line 372, in property_diff
    new_property_dict = self.property_dict()
                        ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sublime_music/dbus/manager.py", line 239, in property_dict
    "Metadata": self.get_mpris_metadata(
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sublime_music/dbus/manager.py", line 335, in get_mpris_metadata
    artist_name = song.artist.name if song.artist else ""
                                      ^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 4486, in __get__
    return self.get_rel_instance(instance)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 4477, in get_rel_instance
    obj = self.rel_model.get(self.field.rel_field == value)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 6522, in get
    return sq.get()
           ^^^^^^^^
  File "/usr/lib/python3/dist-packages/peewee.py", line 6973, in get
    raise self.model.DoesNotExist('%s instance matching query does '
sublime_music.adapters.filesystem.models.ArtistDoesNotExist: <Model: Artist> instance matching query does not exist:
SQL: SELECT "t1"."id", "t1"."name", "t1"."album_count", "t1"."starred", "t1"."biography", "t1"."music_brainz_id", "t1"."last_fm_url", "t1"."_artist_image_url_id" FROM "artist" AS "t1" WHERE ("t1"."id" = ?) LIMIT ? OFFSET ?
Params: ['artist-74', 1, 0]

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


--- End Message ---
--- Begin Message ---
Hi,

Thanks for reporting this bug. I'm pretty sure this issue has been resolved in the latest version (0.12.0-1), currently available in unstable.

If I'm mistaken, don't hesitate to reopen the bug. If you do so, I'll need the error messages you get when starting sublime-music on the command line to help you though.

Cheers,

--
  ⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁  Louis-Philippe Véronneau
  ⢿⡄⠘⠷⠚⠋   po...@debian.org / veronneau.org
  ⠈⠳⣄

--- End Message ---

Reply via email to