GNOME Bugzilla – Bug 753258
gnome-music reports no music found
Last modified: 2016-09-28 19:31:44 UTC
gnome-3.16.1 reports no music found when there are music files in ~/Music tracker statistics reports music files found and gnome-documents and gnome-photos find files indexed by tracker. "gnome-music -d" reports that the xdg user dirs are not set, but they are set. ---------- $ ls ~ Desktop/ Documents/ Downloads/ Music/ Pictures/ Public/ Templates/ Videos/ $ ls -a ~/.config/user* /home/tc/.config/user-dirs.dirs /home/tc/.config/user-dirs.locale $ gnome-music -d XDG user dirs are not set 19:03:25 DEBUG __init__.py:43 gnomemusic.application.__init__(<Application object at 0x7f46540ebf00 (uninitialized at 0x0)>) 19:03:25 DEBUG __init__.py:47 returned None 19:03:25 DEBUG __init__.py:43 gnomemusic.application.do_startup(<Application object at 0x7f46540ebf00 (gnomemusic+application+Application at 0x11d3290)>) 19:03:25 DEBUG __init__.py:43 |gnomemusic.application.build_app_menu(<Application object at 0x7f46540ebf00 (gnomemusic+application+Application at 0x11d3290)>) 19:03:25 DEBUG __init__.py:47 |returned None 19:03:25 DEBUG __init__.py:47 returned None 19:03:25 DEBUG __init__.py:43 gnomemusic.window.__init__(<Window object at 0x7f4654177d70 (uninitialized at 0x0)>, <Application object at 0x7f46540ebf00 (gnomemusic+application+Application at 0x11d3290)>) 19:03:25 DEBUG __init__.py:43 |gnomemusic.window._setup_view(<Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>) 19:03:25 DEBUG __init__.py:43 ||gnomemusic.player.__init__(<Player object at 0x7f4654177e10 (uninitialized at 0x0)>) 19:03:25 DEBUG __init__.py:43 |||gnomemusic.albumArtCache.get_default_icon(<gnomemusic.albumArtCache.AlbumArtCache object at 0x7f465f8ab710>, 34, 34) 19:03:25 DEBUG __init__.py:43 ||||gnomemusic.albumArtCache._make_icon_frame(<Pixbuf object at 0x7f4654177f00 (GdkPixbuf at 0x1560cc0)>) 19:03:25 DEBUG __init__.py:47 ||||returned <Pixbuf object at 0x7f4654184050 (GdkPixbuf at 0x1563580)> 19:03:25 DEBUG __init__.py:47 |||returned <Pixbuf object at 0x7f4654184050 (GdkPixbuf at 0x1563580)> 19:03:25 DEBUG __init__.py:43 |||gnomemusic.albumArtCache.get_default_icon(<gnomemusic.albumArtCache.AlbumArtCache object at 0x7f465f8ab710>, 34, 34, True) 19:03:25 DEBUG __init__.py:43 ||||gnomemusic.albumArtCache._make_icon_frame(<Pixbuf object at 0x7f4654177f00 (GdkPixbuf at 0x1563b60)>) 19:03:25 DEBUG __init__.py:47 ||||returned <Pixbuf object at 0x7f46541840a0 (GdkPixbuf at 0x1563b00)> 19:03:25 DEBUG __init__.py:47 |||returned <Pixbuf object at 0x7f46541840a0 (GdkPixbuf at 0x1563b00)> 19:03:25 DEBUG __init__.py:43 |||gnomemusic.player.setup_replaygain(<Player object at 0x7f4654177e10 (gnomemusic+player+Player at 0x1227540)>) 19:03:25 DEBUG player.py:149 Replay Gain is not available 19:03:25 DEBUG __init__.py:47 |||returned None 19:03:25 DEBUG __init__.py:43 |||gnomemusic.player.toggle_replaygain(<Player object at 0x7f4654177e10 (gnomemusic+player+Player at 0x1227540)>, True) 19:03:25 DEBUG __init__.py:47 |||returned None 19:03:25 DEBUG __init__.py:43 |||gnomemusic.player._setup_view(<Player object at 0x7f4654177e10 (gnomemusic+player+Player at 0x1227540)>) 19:03:25 DEBUG __init__.py:43 ||||gnomemusic.player._sync_repeat_image(<Player object at 0x7f4654177e10 (gnomemusic+player+Player at 0x1227540)>) 19:03:25 DEBUG __init__.py:47 ||||returned None 19:03:25 DEBUG __init__.py:47 |||returned None 19:03:25 DEBUG __init__.py:47 ||returned None 19:03:25 DEBUG __init__.py:43 ||gnomemusic.player.__init__(<gnomemusic.player.SelectionToolbar object at 0x7f465419fc90>) 19:03:25 DEBUG __init__.py:47 ||returned None 19:03:25 DEBUG __init__.py:43 ||gnomemusic.toolbar.__init__(<Toolbar object at 0x7f46541a0500 (uninitialized at 0x0)>) 19:03:25 DEBUG __init__.py:43 |||gnomemusic.searchbar.__init__(<DropDown object at 0x7f46541a0690 (uninitialized at 0x0)>) 19:03:25 DEBUG __init__.py:47 |||returned None 19:03:25 DEBUG __init__.py:43 |||gnomemusic.searchbar.__init__(<Searchbar object at 0x7f46541a08c0 (uninitialized at 0x0)>, <StackSwitcher object at 0x7f46541a0550 (GtkStackSwitcher at 0x165b140)>, <ToggleButton object at 0x7f46541a0640 (GtkToggleButton at 0x17b36c0)>, <DropDown object at 0x7f46541a0690 (gnomemusic+searchbar+DropDown at 0x17997c0)>) /usr/local/lib/python3.3/site-packages/gi/overrides/Gtk.py:1365: Warning: The property GtkButton:use-stock is deprecated and shouldn't be used anymore. It will be removed in a future version. use_underline=use_underline, **kwds) 19:03:25 DEBUG __init__.py:47 |||returned None 19:03:25 DEBUG __init__.py:43 |||gnomemusic.searchbar.initialize_filters(<DropDown object at 0x7f46541a0690 (gnomemusic+searchbar+DropDown at 0x17997c0)>, <Searchbar object at 0x7f46541a08c0 (gnomemusic+searchbar+Searchbar at 0x1799ae0)>) 19:03:25 DEBUG __init__.py:43 ||||gnomemusic.searchbar.__init__(<gnomemusic.searchbar.SourceManager object at 0x7f46541a5410>, 'source', 'Sources', <TaggedEntry object at 0x7f46541a0b40 (GdTaggedEntry at 0x1804240)>) 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.searchbar.__init__(<gnomemusic.searchbar.SourceManager object at 0x7f46541a5410>, 'source', 'Sources', <TaggedEntry object at 0x7f46541a0b40 (GdTaggedEntry at 0x1804240)>) 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:47 ||||returned None 19:03:25 DEBUG __init__.py:43 ||||gnomemusic.searchbar.__init__(<gnomemusic.searchbar.FilterView object at 0x7f46541a5bd0>, <gnomemusic.searchbar.SourceManager object at 0x7f46541a5410>, <DropDown object at 0x7f46541a0690 (gnomemusic+searchbar+DropDown at 0x17997c0)>) 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.searchbar.fill_in_values(<gnomemusic.searchbar.SourceManager object at 0x7f46541a5410>, <ListStore object at 0x7f46541444b0 (GtkListStore at 0x184c240)>) 19:03:25 DEBUG __init__.py:43 ||||||gnomemusic.searchbar.fill_in_values(<gnomemusic.searchbar.SourceManager object at 0x7f46541a5410>, <ListStore object at 0x7f46541444b0 (GtkListStore at 0x184c240)>) 19:03:25 DEBUG __init__.py:47 ||||||returned None 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:47 ||||returned None 19:03:25 DEBUG __init__.py:43 ||||gnomemusic.grilo._find_sources(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>) (gnome-music:21348): Grilo-WARNING **: [registry] grl-registry.c:1131: Failed to open module: libdmapsharing-3.0.so.2: cannot open shared object file: No such file or directory 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlRaitvSource object at 0x7f46541445f0 (GrlRaitvSource at 0x11d3320)>) 19:03:25 DEBUG grilo.py:150 new grilo source grl-raitv was added 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlMagnatuneSource object at 0x7f4654144910 (GrlMagnatuneSource at 0x11e7510)>) 19:03:25 DEBUG grilo.py:150 new grilo source grl-magnatune was added 19:03:25 DEBUG grilo.py:174 source grl-magnatune is searchable 19:03:25 DEBUG __init__.py:43 ||||||gnomemusic.searchbar.add_new_source(<gnomemusic.searchbar.SourceManager object at 0x7f46541a5410>, <Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <__main__.GrlMagnatuneSource object at 0x7f4654144910 (GrlMagnatuneSource at 0x11e7510)>) 19:03:25 DEBUG __init__.py:47 ||||||returned None 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlGravatarSource object at 0x7f4654144a50 (GrlGravatarSource at 0x1754e10)>) 19:03:25 DEBUG grilo.py:150 new grilo source grl-gravatar was added 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlJamendoSource object at 0x7f4654144aa0 (GrlJamendoSource at 0x11e7610)>) 19:03:25 DEBUG grilo.py:150 new grilo source grl-jamendo was added 19:03:25 DEBUG grilo.py:174 source grl-jamendo is searchable 19:03:25 DEBUG __init__.py:43 ||||||gnomemusic.searchbar.add_new_source(<gnomemusic.searchbar.SourceManager object at 0x7f46541a5410>, <Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <__main__.GrlJamendoSource object at 0x7f4654144aa0 (GrlJamendoSource at 0x11e7610)>) 19:03:25 DEBUG __init__.py:47 ||||||returned None 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlOpenSubtitlesSource object at 0x7f4654144b40 (GrlOpenSubtitlesSource at 0x11d3430)>) 19:03:25 DEBUG grilo.py:150 new grilo source grl-opensubtitles was added 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlPodcastsSource object at 0x7f4654144b90 (GrlPodcastsSource at 0x11d3540)>) 19:03:25 DEBUG grilo.py:150 new grilo source grl-podcasts was added 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlLocalMetadataSource object at 0x7f4654144be0 (GrlLocalMetadataSource at 0x11e7710)>) 19:03:25 DEBUG grilo.py:150 new grilo source grl-local-metadata was added 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlMetadataStoreSource object at 0x7f4654144c30 (GrlMetadataStoreSource at 0x11e7810)>) 19:03:25 DEBUG grilo.py:150 new grilo source grl-metadata-store was added 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlOpticalMediaSource object at 0x7f4654144c80 (GrlOpticalMediaSource at 0x17db190)>) 19:03:25 DEBUG grilo.py:150 new grilo source grl-optical-media was added 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlFilesystemSource object at 0x7f4654144cd0 (GrlFilesystemSource at 0x17db2b0)>) 19:03:25 DEBUG grilo.py:150 new grilo source grl-filesystem was added 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlBliptvSource object at 0x7f4654144d20 (GrlBliptvSource at 0x11e7910)>) 19:03:25 DEBUG grilo.py:150 new grilo source grl-bliptv was added 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlLastfmAlbumartSource object at 0x7f4654144d20 (GrlLastfmAlbumartSource at 0x1754ef0)>) 19:03:25 DEBUG grilo.py:150 new grilo source grl-lastfm-albumart was added 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlAppleTrailersSource object at 0x7f4654144d70 (GrlAppleTrailersSource at 0x11e7a10)>) 19:03:25 DEBUG grilo.py:150 new grilo source grl-apple-trailers was added 19:03:25 DEBUG __init__.py:47 |||||returned None (gnome-music:21348): GModule-CRITICAL **: g_module_close: assertion 'module != NULL' failed 19:03:25 DEBUG __init__.py:47 ||||returned None 19:03:25 DEBUG __init__.py:43 ||||gnomemusic.searchbar.__init__(<gnomemusic.searchbar.BaseManager object at 0x7f4654198d10>, 'search', 'Match', <TaggedEntry object at 0x7f46541a0b40 (GdTaggedEntry at 0x1804240)>) 19:03:25 DEBUG __init__.py:47 ||||returned None 19:03:25 DEBUG __init__.py:43 ||||gnomemusic.searchbar.__init__(<gnomemusic.searchbar.FilterView object at 0x7f4654198c50>, <gnomemusic.searchbar.BaseManager object at 0x7f4654198d10>, <DropDown object at 0x7f46541a0690 (gnomemusic+searchbar+DropDown at 0x17997c0)>) 19:03:25 DEBUG __init__.py:43 |||||gnomemusic.searchbar.fill_in_values(<gnomemusic.searchbar.BaseManager object at 0x7f4654198d10>, <ListStore object at 0x7f4654144dc0 (GtkListStore at 0x1656cd0)>) 19:03:25 DEBUG __init__.py:47 |||||returned None 19:03:25 DEBUG __init__.py:47 ||||returned None 19:03:25 DEBUG __init__.py:43 ||||gnomemusic.searchbar.get_active(<gnomemusic.searchbar.SourceManager object at 0x7f46541a5410>) 19:03:25 DEBUG __init__.py:47 ||||returned all 19:03:25 DEBUG __init__.py:47 |||returned None 19:03:25 DEBUG __init__.py:47 ||returned None 19:03:25 DEBUG __init__.py:43 ||gnomemusic.window._switch_to_empty_view(<Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>) 19:03:25 DEBUG __init__.py:43 |||gnomemusic.view.__init__(<Empty object at 0x7f465414a2d0 (uninitialized at 0x0)>, <Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>, <Player object at 0x7f4654177e10 (gnomemusic+player+Player at 0x1227540)>) 19:03:25 DEBUG __init__.py:47 |||returned None 19:03:25 DEBUG __init__.py:47 ||returned None 19:03:25 DEBUG __init__.py:43 ||gnomemusic.toolbar.set_state(<Toolbar object at 0x7f46541a0500 (gnomemusic+toolbar+Toolbar at 0x122cea0)>, 0) 19:03:25 DEBUG __init__.py:43 |||gnomemusic.toolbar._update(<Toolbar object at 0x7f46541a0500 (gnomemusic+toolbar+Toolbar at 0x122cea0)>) /usr/local/lib/python3.3/site-packages/gnomemusic/toolbar.py:140: Warning: g_set_application_name() called multiple times GLib.set_application_name(_("Music")) 19:03:25 DEBUG __init__.py:43 ||||gnomemusic.toolbar.reset_header_title(<Toolbar object at 0x7f46541a0500 (gnomemusic+toolbar+Toolbar at 0x122cea0)>) 19:03:25 DEBUG __init__.py:47 ||||returned None 19:03:25 DEBUG __init__.py:47 |||returned None 19:03:25 DEBUG __init__.py:47 ||returned None 19:03:25 DEBUG __init__.py:47 |returned None 19:03:25 DEBUG __init__.py:43 |gnomemusic.window._grab_media_player_keys(<Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>) 19:03:25 DEBUG __init__.py:47 |returned None 19:03:25 DEBUG __init__.py:47 returned None 19:03:25 DEBUG __init__.py:43 gnomemusic.notification.__init__(<gnomemusic.notification.NotificationManager object at 0x7f4654149f90>, <Player object at 0x7f4654177e10 (gnomemusic+player+Player at 0x1227540)>) 19:03:25 DEBUG __init__.py:43 |gnomemusic.albumArtCache.get_default_icon(<gnomemusic.albumArtCache.AlbumArtCache object at 0x7f465f8ab710>, 125, 125) 19:03:25 DEBUG __init__.py:43 ||gnomemusic.albumArtCache._make_icon_frame(<Pixbuf object at 0x7f4654177aa0 (GdkPixbuf at 0x19fab00)>) 19:03:25 DEBUG __init__.py:47 ||returned <Pixbuf object at 0x7f465414aa00 (GdkPixbuf at 0x19fa580)> 19:03:25 DEBUG __init__.py:47 |returned <Pixbuf object at 0x7f465414aa00 (GdkPixbuf at 0x19fa580)> 19:03:26 DEBUG __init__.py:47 returned None 19:03:26 DEBUG __init__.py:43 gnomemusic.window._on_window_state_event(<Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>, <Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>, <void at 0x18ef040>) 19:03:26 DEBUG __init__.py:47 returned None 19:03:26 DEBUG __init__.py:43 gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlTrackerSource object at 0x7f465414aa50 (GrlTrackerSource at 0x17db610)>) 19:03:26 DEBUG grilo.py:150 new grilo source grl-tracker-source was added 19:03:26 DEBUG grilo.py:156 found searchable tracker source 19:03:26 DEBUG __init__.py:43 |gnomemusic.mpris._on_grilo_ready(<gnomemusic.mpris.MediaPlayer2Service at /org/mpris/MediaPlayer2 at 0x7f4654149ed0>, <Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>) 19:03:26 DEBUG __init__.py:43 ||gnomemusic.mpris._reload_playlists(<gnomemusic.mpris.MediaPlayer2Service at /org/mpris/MediaPlayer2 at 0x7f4654149ed0>) 19:03:26 DEBUG __init__.py:43 |||gnomemusic.mpris._get_playlists(<gnomemusic.mpris.MediaPlayer2Service at /org/mpris/MediaPlayer2 at 0x7f4654149ed0>, <function MediaPlayer2Service._reload_playlists.<locals>.get_playlists_callback at 0x7f465f8fa830>) 19:03:26 DEBUG __init__.py:47 |||returned None 19:03:26 DEBUG __init__.py:47 ||returned None 19:03:26 DEBUG __init__.py:47 |returned None 19:03:26 DEBUG __init__.py:47 returned None 19:03:26 DEBUG __init__.py:43 gnomemusic.mpris._get_playback_status(<gnomemusic.mpris.MediaPlayer2Service at /org/mpris/MediaPlayer2 at 0x7f4654149ed0>) 19:03:26 DEBUG __init__.py:43 |gnomemusic.player.get_playback_status(<Player object at 0x7f4654177e10 (gnomemusic+player+Player at 0x1227540)>) 19:03:26 DEBUG __init__.py:47 |returned 2 19:03:26 DEBUG __init__.py:47 returned Stopped 19:03:26 DEBUG __init__.py:43 gnomemusic.mpris._get_loop_status(<gnomemusic.mpris.MediaPlayer2Service at /org/mpris/MediaPlayer2 at 0x7f4654149ed0>) 19:03:26 DEBUG __init__.py:47 returned None 19:03:26 DEBUG __init__.py:43 gnomemusic.mpris._get_metadata(<gnomemusic.mpris.MediaPlayer2Service at /org/mpris/MediaPlayer2 at 0x7f4654149ed0>) 19:03:26 DEBUG __init__.py:43 |gnomemusic.player.get_current_media(<Player object at 0x7f4654177e10 (gnomemusic+player+Player at 0x1227540)>) 19:03:26 DEBUG __init__.py:47 |returned None 19:03:26 DEBUG __init__.py:47 returned {} 19:03:26 DEBUG __init__.py:43 gnomemusic.player.get_volume(<Player object at 0x7f4654177e10 (gnomemusic+player+Player at 0x1227540)>) 19:03:26 DEBUG __init__.py:47 returned 1.0 19:03:26 DEBUG __init__.py:43 gnomemusic.player.get_position(<Player object at 0x7f4654177e10 (gnomemusic+player+Player at 0x1227540)>) 19:03:26 DEBUG __init__.py:47 returned 0.0 19:03:26 DEBUG __init__.py:43 gnomemusic.player.has_next(<Player object at 0x7f4654177e10 (gnomemusic+player+Player at 0x1227540)>) 19:03:26 DEBUG __init__.py:47 returned False 19:03:26 DEBUG __init__.py:43 gnomemusic.player.has_previous(<Player object at 0x7f4654177e10 (gnomemusic+player+Player at 0x1227540)>) 19:03:26 DEBUG __init__.py:47 returned False 19:03:26 DEBUG __init__.py:43 gnomemusic.grilo.populate_playlists(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, 0, <function MediaPlayer2Service._get_playlists.<locals>.populate_callback at 0x7f46541af830>) 19:03:26 DEBUG __init__.py:43 |gnomemusic.grilo.populate_items(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, "SELECT DISTINCT rdf:type(?playlist) tracker:id(?playlist) AS id nie:title(?playlist) AS title nfo:entryCounter(?playlist) AS childcount { ?playlist a nmm:Playlist . OPTIONAL { ?playlist a nfo:FileDataObject . FILTER ( EXISTS { ?playlist tracker:available 'true' FILTER ( tracker:uri-is-descendant( 'None', nie:url(?playlist) ) || tracker:uri-is-descendant( 'None', nie:url(?playlist) ) ) } ) } } ORDER BY fn:lower-case(?title)", 0, <function MediaPlayer2Service._get_playlists.<locals>.populate_callback at 0x7f46541af830>, -1) 19:03:26 DEBUG __init__.py:47 |returned None 19:03:26 DEBUG __init__.py:47 returned None 19:03:26 DEBUG __init__.py:43 gnomemusic.window.store_window_size_and_position(<Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>, <Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>) 19:03:26 DEBUG __init__.py:47 returned None 19:03:26 DEBUG __init__.py:43 gnomemusic.window._on_window_state_event(<Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>, <Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>, <void at 0x233b8d0>) 19:03:26 DEBUG __init__.py:47 returned None 19:03:26 DEBUG __init__.py:43 gnomemusic.window._windows_focus_cb(<Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>, <Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>, <void at 0x232e400>) 19:03:26 DEBUG __init__.py:43 |gnomemusic.window._grab_media_player_keys(<Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>) 19:03:26 DEBUG __init__.py:47 |returned None 19:03:26 DEBUG __init__.py:47 returned None 19:03:26 DEBUG __init__.py:43 gnomemusic.window._on_window_state_event(<Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>, <Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>, <void at 0x232e640>) 19:03:26 DEBUG __init__.py:47 returned None 19:03:27 DEBUG __init__.py:43 gnomemusic.grilo._on_source_added(<Grilo object at 0x7f465c8f36e0 (gnomemusic+grilo+Grilo at 0x1200d00)>, <Registry object at 0x7f465c8f3be0 (GrlRegistry at 0x11e7220)>, <__main__.GrlDleynaSource object at 0x7f465414ad70 (GrlDleynaSource at 0x11d3760)>) 19:03:27 DEBUG grilo.py:150 new grilo source grl-dleyna-uuid:11bf9b9c-ff4d-451f-9783-6656cee3ebb1 was added 19:03:27 DEBUG __init__.py:47 returned None 19:03:29 DEBUG __init__.py:43 gnomemusic.window._on_window_state_event(<Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>, <Window object at 0x7f4654177d70 (gnomemusic+window+Window at 0x15322a0)>, <void at 0x23745a0>) 19:03:29 DEBUG __init__.py:47 returned None
(In reply to john.frankish@outlook.com from comment #0) > gnome-3.16.1 reports no music found when there are music files in ~/Music > > tracker statistics reports music files found and gnome-documents and > gnome-photos find files indexed by tracker. Are there any files returned by 'tracker search -m'? > "gnome-music -d" reports that the xdg user dirs are not set, but they are > set. What's the output of 'cat ~/.config/user-dirs.dirs'?
$ tracker search -m Files: file:///home/tc/Music/aayw.mp3 file:///home/tc/Music/ACDC_-_Back_In_Black-sample.ogg file:///home/tc/Music/terminator.wav $ cat ~/.config/user-dirs.dirs # This file is written by xdg-user-dirs-update # If you want to change or add directories, just edit the line you're # interested in. All local changes will be retained on the next run # Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped # homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an # absolute path. No other format is supported. # XDG_DESKTOP_DIR="$HOME/Desktop" XDG_DOWNLOAD_DIR="$HOME/Downloads" XDG_TEMPLATES_DIR="$HOME/Templates" XDG_PUBLICSHARE_DIR="$HOME/Public" XDG_DOCUMENTS_DIR="$HOME/Documents" XDG_MUSIC_DIR="$HOME/Music" XDG_PICTURES_DIR="$HOME/Pictures" XDG_VIDEOS_DIR="$HOME/Videos"
Interesting, it seems that XDG dir is set, but GLib doesn't find it. Are you starting the app from command line or desktop file? What's the output of: python -c "from gi.repository import GLib; print(GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC))"
I've tried starting the app from the command line (see comment #1) and from the desktop file - neither works. $ python -c "from gi.repository import GLib; print(GLib.get_user_spe cial_dir(GLib.UserDirectory.DIRECTORY_MUSIC))" /home/tc/Music As mentioned earlier, both gnome-documents and gnome-photos work, so I'm guessing the tracker interface in gnome-music must work differently.
Note also that this - tinycorelinux corepure64 - is a non-systemd distro and extensions (packages) are loop mounted squashfs symlinked to the root file system. $ ls -l `which gnome-music` lrwxrwxrwx 1 root root 49 Aug 5 11:03 /usr/local/bin/gnome-music -> /tmp/tcloop/gnome-music/usr/local/bin/gnome-music Hopefully the above doesn't break anything?
(In reply to john.frankish@outlook.com from comment #4) > I've tried starting the app from the command line (see comment #1) and from > the desktop file - neither works. This is really weird. > $ python -c "from gi.repository import GLib; print(GLib.get_user_spe > cial_dir(GLib.UserDirectory.DIRECTORY_MUSIC))" > /home/tc/Music I'm sorry, it should have been 'python3' (or anything else which points to python 3). Could you please try that? It might be a different error - I'll add some more debugging if dir is returned correctly. (In reply to john.frankish@outlook.com from comment #5) > Note also that this - tinycorelinux corepure64 - is a non-systemd distro and > extensions (packages) are loop mounted squashfs symlinked to the root file > system. I don't think so. XDG dirs lookup is the core point here - and above code is the exact one used by the app
$ python3 -c "from gi.repository import GLib; print(GLib.get_user_sp ecial_dir(GLib.UserDirectory.DIRECTORY_MUSIC))" /home/tc/Music I loaded gnome-music directly to the file system (rather than using squashfs) and the result was the same, so the problem is not there.
After https://git.gnome.org/browse/gnome-music/commit/?id=bece40b Music should specify which folder exactly has not been found - could you paste the first few log rows from 'gnome-music -d' output?
see comment #1
(In reply to john.frankish@outlook.com from comment #9) > see comment #1 Please make sure you've updated to 6fb3483fae474acb8629d4be51d87a515f6a731e (3.16.2+): the log should say if Music or Downloads has not been found
Ah - sorry, I misunderstood. After applying the commit to gnome-music-3.16.2, I get: $ gnome-music Traceback (most recent call last):
+ Trace 235330
from gnomemusic.application import Application
from gnomemusic.window import Window
from gnomemusic.toolbar import Toolbar, ToolbarState
from gnomemusic.searchbar import Searchbar, DropDown
from gnomemusic.grilo import grilo
from gnomemusic.query import Query
(In reply to john.frankish@outlook.com from comment #11) > After applying the commit to gnome-music-3.16.2, I get: Please, don't cherry-pick commits, use the tip of the branch, its hard for me to debug "custom" versions of Music. 3.16.2 should have all necessary commits in place
OK, this time I cloned gnome-music: $ gnome-music -d 16:17:45 DEBUG Grilo.__init__(<Grilo>)[grilo.py:68] 16:17:45 DEBUG Playlists.__init__(<Playlists>)[playlists.py:115] 16:17:45 DEBUG AlbumArtCache.__init__(<AlbumArt>)[albumArtCache.py:139] 16:17:45 DEBUG |_make_icon_frame(<Pixbuf object at 0x7fc6fda9c3c0 (GdkPixbuf at 0x1d5df60)>)[albumArtCache.py:47] 16:17:45 DEBUG | returned <Pixbuf object at 0x7fc6fda9c550 (GdkPixbuf at 0x196b400)> 16:17:45 DEBUG |_make_icon_frame(<Pixbuf object at 0x7fc6fda9c3c0 (GdkPixbuf at 0x1d5df60)>)[albumArtCache.py:47] 16:17:45 DEBUG | returned <Pixbuf object at 0x7fc6fda9c5a0 (GdkPixbuf at 0x1d5d9e0)> 16:17:45 DEBUG AlbumArtCache.get_default_icon(<AlbumArt>, 256, 256, True)[albumArtCache.py:186] 16:17:45 DEBUG returned <Pixbuf object at 0x7fc6fda9c5a0 (GdkPixbuf at 0x1d5d9e0)> 16:17:45 DEBUG AlbumArtCache.get_default_icon(<AlbumArt>, 256, 256, False)[albumArtCache.py:186] 16:17:45 DEBUG returned <Pixbuf object at 0x7fc6fda9c550 (GdkPixbuf at 0x196b400)> 16:17:45 DEBUG AlbumArtCache.get_default_icon(<AlbumArt>, 128, 128, True)[albumArtCache.py:186] 16:17:45 DEBUG returned <Pixbuf object at 0x7fc6fda9c690 (GdkPixbuf at 0x1d5e180)> 16:17:45 DEBUG AlbumArtCache.get_default_icon(<AlbumArt>, 128, 128, False)[albumArtCache.py:186] 16:17:45 DEBUG returned <Pixbuf object at 0x7fc6fda9c6e0 (GdkPixbuf at 0x1d5e240)> 16:17:45 DEBUG Application.__init__(<Application>)[application.py:50] 16:17:45 DEBUG Application.do_startup(<Application>)[application.py:114] 16:17:45 DEBUG |Application.build_app_menu(<Application>)[application.py:68] 16:17:45 DEBUG Window.__init__(<Window>, <Application>)[window.py:58] 16:17:45 DEBUG |Window._setup_view(<Window>)[window.py:182] 16:17:45 DEBUG ||Player.__init__(<Player>, <Window>)[player.py:101] 16:17:45 DEBUG |||AlbumArtCache.get_default_icon(<AlbumArt>, 34, 34)[albumArtCache.py:186] 16:17:45 DEBUG ||| returned <Pixbuf object at 0x7fc6ff338dc0 (GdkPixbuf at 0x1cd7d80)> 16:17:45 DEBUG |||AlbumArtCache.get_default_icon(<AlbumArt>, 34, 34, True)[albumArtCache.py:186] 16:17:45 DEBUG ||| returned <Pixbuf object at 0x7fc6ff338e60 (GdkPixbuf at 0x1cd7e40)> 16:17:45 DEBUG |||Player.setup_replaygain(<Player>)[player.py:171] 16:17:45 DEBUG Replay Gain is not available 16:17:45 DEBUG |||Player.toggle_replaygain(<Player>, True)[player.py:199] 16:17:45 DEBUG |||Player._setup_view(<Player>)[player.py:798] 16:17:45 DEBUG ||||Player._sync_repeat_image(<Player>)[player.py:963] 16:17:45 DEBUG |||Player._check_last_fm(<Player>)[player.py:148] 16:17:45 DEBUG ||SelectionToolbar.__init__(<SelectionToolbar>)[player.py:1117] 16:17:45 DEBUG ||Toolbar.__init__(<Toolbar>)[toolbar.py:56] 16:17:45 DEBUG |||DropDown.__init__(<DropDown>)[searchbar.py:204] 16:17:45 DEBUG |||Searchbar.__init__(<Searchbar>, <StackSwitcher object at 0x7fc6fd9a95a0 (GtkStackSwitcher at 0x1ef1590)>, <ToggleButton object at 0x7fc6fd9a9690 (GtkToggleButton at 0x1f096c0)>, <DropDown>)[searchbar.py:248] /usr/local/lib/python3.3/site-packages/gi/overrides/Gtk.py:1365: Warning: The property GtkButton:use-stock is deprecated and shouldn't be used anymore. It will be removed in a future version. use_underline=use_underline, **kwds) 16:17:45 DEBUG |||DropDown.initialize_filters(<DropDown>, <Searchbar>)[searchbar.py:217] 16:17:45 DEBUG ||||SourceManager.__init__(<SourceManager>, 'source', 'Sources', <TaggedEntry object at 0x7fc6fd9a9b90 (GdTaggedEntry at 0x1f68250)>)[searchbar.py:104] 16:17:45 DEBUG |||||BaseManager.__init__(<SourceManager>, 'source', 'Sources', <TaggedEntry object at 0x7fc6fd9a9b90 (GdTaggedEntry at 0x1f68250)>)[searchbar.py:47] 16:17:45 DEBUG ||||FilterView.__init__(<FilterView>, <SourceManager>, <DropDown>)[searchbar.py:138] 16:17:45 DEBUG |||||SourceManager.fill_in_values(<SourceManager>, <ListStore object at 0x7fc6fd9de500 (GtkListStore at 0x1fb1af0)>)[searchbar.py:111] 16:17:45 DEBUG ||||||BaseManager.fill_in_values(<SourceManager>, <ListStore object at 0x7fc6fd9de500 (GtkListStore at 0x1fb1af0)>)[searchbar.py:57] 16:17:45 DEBUG ||||Grilo._find_sources(<Grilo>)[grilo.py:95] (gnome-music:18429): Grilo-WARNING **: [registry] grl-registry.c:1131: Failed to open module: libdmapsharing-3.0.so.2: cannot open shared object file: No such file or directory 16:17:45 DEBUG |||||Grilo._on_source_added(<Grilo>, <Registry object at 0x7fc71394eb40 (GrlRegistry at 0x19cd120)>, <__main__.GrlRaitvSource object at 0x7fc6fd9de640 (GrlRaitvSource at 0x17eb320)>)[grilo.py:171] 16:17:45 DEBUG new grilo source grl-raitv was added 16:17:45 DEBUG |||||Grilo._on_source_added(<Grilo>, <Registry object at 0x7fc71394eb40 (GrlRegistry at 0x19cd120)>, <__main__.GrlMagnatuneSource object at 0x7fc6fd9de910 (GrlMagnatuneSource at 0x19cd510)>)[grilo.py:171] 16:17:45 DEBUG new grilo source grl-magnatune was added 16:17:45 DEBUG source grl-magnatune is searchable 16:17:45 DEBUG ||||||SourceManager.add_new_source(<SourceManager>, <Grilo>, <__main__.GrlMagnatuneSource object at 0x7fc6fd9de910 (GrlMagnatuneSource at 0x19cd510)>)[searchbar.py:116] 16:17:45 DEBUG |||||Grilo._on_source_added(<Grilo>, <Registry object at 0x7fc71394eb40 (GrlRegistry at 0x19cd120)>, <__main__.GrlGravatarSource object at 0x7fc6fd9dea50 (GrlGravatarSource at 0x1ea8640)>)[grilo.py:171] 16:17:45 DEBUG new grilo source grl-gravatar was added 16:17:45 DEBUG |||||Grilo._on_source_added(<Grilo>, <Registry object at 0x7fc71394eb40 (GrlRegistry at 0x19cd120)>, <__main__.GrlJamendoSource object at 0x7fc6fd9deaa0 (GrlJamendoSource at 0x19cd610)>)[grilo.py:171] 16:17:45 DEBUG new grilo source grl-jamendo was added 16:17:45 DEBUG source grl-jamendo is searchable 16:17:45 DEBUG ||||||SourceManager.add_new_source(<SourceManager>, <Grilo>, <__main__.GrlJamendoSource object at 0x7fc6fd9deaa0 (GrlJamendoSource at 0x19cd610)>)[searchbar.py:116] 16:17:45 DEBUG |||||Grilo._on_source_added(<Grilo>, <Registry object at 0x7fc71394eb40 (GrlRegistry at 0x19cd120)>, <__main__.GrlOpenSubtitlesSource object at 0x7fc6fd9deb40 (GrlOpenSubtitlesSource at 0x17eb430)>)[grilo.py:171] 16:17:45 DEBUG new grilo source grl-opensubtitles was added 16:17:45 DEBUG |||||Grilo._on_source_added(<Grilo>, <Registry object at 0x7fc71394eb40 (GrlRegistry at 0x19cd120)>, <__main__.GrlPodcastsSource object at 0x7fc6fd9deb90 (GrlPodcastsSource at 0x17eb540)>)[grilo.py:171] 16:17:45 DEBUG new grilo source grl-podcasts was added 16:17:45 DEBUG |||||Grilo._on_source_added(<Grilo>, <Registry object at 0x7fc71394eb40 (GrlRegistry at 0x19cd120)>, <__main__.GrlLocalMetadataSource object at 0x7fc6fd9debe0 (GrlLocalMetadataSource at 0x19cd710)>)[grilo.py:171] 16:17:45 DEBUG new grilo source grl-local-metadata was added 16:17:45 DEBUG |||||Grilo._on_source_added(<Grilo>, <Registry object at 0x7fc71394eb40 (GrlRegistry at 0x19cd120)>, <__main__.GrlMetadataStoreSource object at 0x7fc6fd9dec30 (GrlMetadataStoreSource at 0x19cd810)>)[grilo.py:171] 16:17:45 DEBUG new grilo source grl-metadata-store was added 16:17:45 DEBUG |||||Grilo._on_source_added(<Grilo>, <Registry object at 0x7fc71394eb40 (GrlRegistry at 0x19cd120)>, <__main__.GrlOpticalMediaSource object at 0x7fc6fd9dec80 (GrlOpticalMediaSource at 0x1f3e190)>)[grilo.py:171] 16:17:45 DEBUG new grilo source grl-optical-media was added 16:17:45 DEBUG |||||Grilo._on_source_added(<Grilo>, <Registry object at 0x7fc71394eb40 (GrlRegistry at 0x19cd120)>, <__main__.GrlFilesystemSource object at 0x7fc6fd9decd0 (GrlFilesystemSource at 0x1f3e2b0)>)[grilo.py:171] 16:17:45 DEBUG new grilo source grl-filesystem was added 16:17:45 DEBUG |||||Grilo._on_source_added(<Grilo>, <Registry object at 0x7fc71394eb40 (GrlRegistry at 0x19cd120)>, <__main__.GrlBliptvSource object at 0x7fc6fd9ded20 (GrlBliptvSource at 0x19cd910)>)[grilo.py:171] 16:17:45 DEBUG new grilo source grl-bliptv was added 16:17:45 DEBUG |||||Grilo._on_source_added(<Grilo>, <Registry object at 0x7fc71394eb40 (GrlRegistry at 0x19cd120)>, <__main__.GrlLastfmAlbumartSource object at 0x7fc6fd9ded20 (GrlLastfmAlbumartSource at 0x1ea8720)>)[grilo.py:171] 16:17:45 DEBUG new grilo source grl-lastfm-albumart was added 16:17:45 DEBUG |||||Grilo._on_source_added(<Grilo>, <Registry object at 0x7fc71394eb40 (GrlRegistry at 0x19cd120)>, <__main__.GrlAppleTrailersSource object at 0x7fc6fd9ded70 (GrlAppleTrailersSource at 0x19cda10)>)[grilo.py:171] 16:17:45 DEBUG new grilo source grl-apple-trailers was added (gnome-music:18429): GModule-CRITICAL **: g_module_close: assertion 'module != NULL' failed 16:17:45 DEBUG ||||BaseManager.__init__(<BaseManager>, 'search', 'Match', <TaggedEntry object at 0x7fc6fd9a9b90 (GdTaggedEntry at 0x1f68250)>)[searchbar.py:47] 16:17:45 DEBUG ||||FilterView.__init__(<FilterView>, <BaseManager>, <DropDown>)[searchbar.py:138] 16:17:45 DEBUG |||||BaseManager.fill_in_values(<BaseManager>, <ListStore object at 0x7fc6fd9dedc0 (GtkListStore at 0x203b2b0)>)[searchbar.py:57] 16:17:45 DEBUG ||||BaseManager.get_active(<SourceManager>)[searchbar.py:72] 16:17:45 DEBUG |||| returned 'all' 16:17:45 DEBUG ||Query.__init__(<Query>)[query.py:47] Traceback (most recent call last):
+ Trace 235331
self._window = Window(self)
retval = fn(*v, **k)
self._setup_view()
Query()
Query.MUSIC_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(Query.music_folder))
(In reply to john.frankish@outlook.com from comment #13) > Traceback (most recent call last): > .. > TypeError: filename_to_uri() takes exactly 2 arguments (1 given) Interesting, which glib2/gobject-introspection versions are you using? Running python3 -c "from gi.repository import GLib; print(GLib.filename_from_uri('file:///home'))" on glib2-2.44.1-1.fc22.x86_64 and gobject-introspection-1.44.0-1.fc22.x86_64 prints fine here. As https://developer.gnome.org/glib/stable/glib-URI-Functions.html#g-filename-to-uri states 'hostname' can be None
glib-2.44.0 gobject-introspection-1.44.0 $ python3 -c "from gi.repository import GLib; print(GLib.filename_from_uri('file:///home'))" ('/home', None)
Are there any other suggestions I could try?
(In reply to john.frankish@outlook.com from comment #16) > Are there any other suggestions I could try? This is really weird, there is something wrong with your XDG dir settings, but I have no idea what in particular
I haven't set any $XDG_* other than those set by "xdg-user-dirs-update" and by gnome-session-3.16.x. Note that almost everything is compiled to /usr/local and almost everything is contained in squashfs extensions symlinked to the root file system. The above being said, gnome-documents and gnome-photos, both of which pick up files found by tracker, work without problems...
Any update?
I'm still trying to fix this, but: $ ls ~/.config/user* /home/tc/.config/user-dirs.dirs /home/tc/.config/user-dirs.locale $ tracker search -m Files: file:///home/tc/Music/ACDC_-_Back_In_Black-sample.ogg file:///home/tc/Music/aayw.mp3 file:///home/tc/Music/terminator.wav $ gnome-music 12:35:29 WARNING query.py:57 XDG user dirs are not set /usr/local/lib/python3.3/site-packages/gi/overrides/Gtk.py:1365: Warning: The property GtkButton:use-stock is deprecated and shouldn't be used anymore. It will be removed in a future version. use_underline=use_underline, **kwds) If I try to edit /usr/local/lib/python3.3/site-packages/gnomemusic/query.py to hard code the paths: class Query(): music_folder = '/home/tc/Music' MUSIC_URI = None download_folder = '/home/tc/Downloads' DOWNLOAD_URI = None try: music_folder = '/home/tc/Music' MUSIC_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(music_folder)) download_folder '/home/tc/Downloads' DOWNLOAD_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(download_folder)) for folder in [music_folder, download_folder]: if os.path.islink(folder): logger.warn("%s is a symlink, this folder will be omitted", folder) else: i = len(next(os.walk(folder))[2]) logger.debug("Found %d files in %s", i, folder) except TypeError: logger.warn("XDG user dirs are not set") ..things still don't work. What generates the TypeError? Does it depend on a python applet I'm missing perhaps?
This fixes the error: --- /tmp/tcloop/gnome-music/usr/local/lib/python3.3/site-packages/gnomemusic/query.py +++ /usr/local/lib/python3.3/site-packages/gnomemusic/query.py @@ -38,14 +38,16 @@ class Query(): music_folder = None + host_name = None MUSIC_URI = None download_folder = None DOWNLOAD_URI = None try: music_folder = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC) - MUSIC_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(music_folder)) + host_name = GLib.get_host_name() + MUSIC_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(music_folder,host_name)) download_folder = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DOWNLOAD) - DOWNLOAD_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(download_folder)) + DOWNLOAD_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(download_folder,host_name)) for folder in [music_folder, download_folder]: if os.path.islink(folder): ..but it still does not find any music: gnome-music -d ... 12:05:19 DEBUG __init__.py:46 |gnomemusic.grilo.populate_items(<Grilo object at 0x7f0562570be0 (gnomemusic+grilo+Grilo at 0xeff5a0)>, "SELECT DISTINCT rdf:type(?playlist) tracker:id(?playlist) AS id nie:title(?playlist) AS title nfo:entryCounter(?playlist) AS childcount { ?playlist a nmm:Playlist . OPTIONAL { ?playlist a nfo:FileDataObject . FILTER ( EXISTS { ?playlist tracker:available 'true' FILTER ( tracker:uri-is-descendant( 'file://boxdell/home/tc/Music', nie:url(?playlist) ) || tracker:uri-is-descendant( 'file://boxdell/home/tc/Downloads', nie:url(?playlist) ) ) } ) } } ORDER BY fn:lower-case(?title)", 0, <function MediaPlayer2Service._get_playlists.<locals>.populate_callback at 0x7f056559f290>, -1) 12:05:19 DEBUG __init__.py:50 |returned None 12:05:19 DEBUG __init__.py:50 returned None
(In reply to john.frankish@outlook.com from comment #21) > This fixes the error: > > + MUSIC_URI = > Tracker.sparql_escape_string(GLib.filename_to_uri(music_folder,host_name)) > download_folder = Is 'boxdell' a remote system here or this trick it required to make GLib return a proper URL for localhost?
Please ignore the above, this fixes things and gnome-music-3.16.2 now works :) patch also attached --- gnomemusic.org/playlists.py +++ gnomemusic/playlists.py @@ -162,7 +162,7 @@ return # For each song run 'add song to playlist' - while cursor.next(): + while cursor.next(None): uri = cursor.get_string(0)[0] final_query += Query.add_song_to_playlist(playlist.ID, uri) @@ -193,7 +193,7 @@ cursor = self.tracker.query( Query.get_playlist_with_urn(playlist_urn), None) - if not cursor or not cursor.next(): + if not cursor or not cursor.next(None): return return cursor.get_integer(0) --- gnomemusic.org/query.py +++ gnomemusic/query.py @@ -43,9 +43,9 @@ DOWNLOAD_URI = None try: music_folder = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC) - MUSIC_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(music_folder)) + MUSIC_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(music_folder,None)) download_folder = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DOWNLOAD) - DOWNLOAD_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(download_folder)) + DOWNLOAD_URI = Tracker.sparql_escape_string(GLib.filename_to_uri(download_folder,None)) for folder in [music_folder, download_folder]: if os.path.islink(folder):
Created attachment 311695 [details] [review] gnome-music-3.16.2_null.patch see comment above
..and yes, boxdell was required to make GLib return a proper URL for localhost?
BTW - if I understand correctly, this will only find music in Music and Downloads. Why not find music everywhere that Tracker finds it - this is how gnome-documents and gnome-photos are set up?
(In reply to john.frankish@outlook.com from comment #26) > BTW - if I understand correctly, this will only find music in Music and > Downloads. > > Why not find music everywhere that Tracker finds it - this is how > gnome-documents and gnome-photos are set up? Yes, we show files from Music and Downloads only to avoid including other data files - e.g. sound files from games etc.
..but I doubt users would edit their tracker search folders to include games... ..whereas they would edit their tracker search folders to include, for example, /mnt/sdb1/media...
To get this back on track: is the initial issue resolved with newer releases (3.20) or does it still need the patch? Regarding which folders are searched/supported, atm it's just ~/Music as a deliberate choice. This is still somewhat up for debate, see eg. bug #728751 . Feel free to chime in there on that particular issue.
I can't compile gnome-music-3.20.2 because it requires gtk+-3.19.3 and this is a gnome-3.16.x system. This being said, I'm not sure I want to use gnome-music until it finds music files in all locations indexed by tracker, which is after all how all other gnome-* applications work...
I understand, but that's not what this bug is about as I mentioned before. So let's keep it on-topic please, thanks. Since this is an older bug we need the reported issue to be tested on a current stable version of music (3.20), since we can't reproduce that particular problem. You could try installing a newer distro in a VM maybe to test if you are really stuck on an older version of gnome.
I'm on an older version of gnome in this distro because I'm the one who updates it... I'm not ready to update gnome from 3.16.x at the moment and I don't think there's any point to use a different distro in a vm. The patch above fixes the problem in gnome-music-3.16.2 - if the patch (or an equivalent) has not been added for gnome-music-3.20.x, I'm not sure how it would be expected to work.
Fair enough, but I still wonder why this is even necessary. Can you maybe post the output of the following statements on your system (as script or in a python console)? from gi.repository import GLib mf = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC) print(mf) print(GLib.filename_to_uri(mf)) print(GLib.filename_to_uri(mf,None))
>>> from gi.repository import GLib >>> mf = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC) >>> print(mf) /home/tc/Music >>> print(GLib.filename_to_uri(mf)) file:///home/tc/Music >>> print(GLib.filename_to_uri(mf,None)) file:///home/tc/Music ..but I think this was already tried above, no?
Somewhat, not with the non-value your patch adds afaics. So you really can't run music without those non values you added to the filename_to_uri calls? They are literally the same string. Not talking about the next() calls yet.
Affirmative, without the patch gnome-music-3.16.2 does not work for me.
I mean, do you need both parts of the patch? If you go without the changes to the MUSIC_URI and DOWNLOAD_URI parts, it doesn't work either?
If I just use the first hunk of the patch gnome-music does not find any music. "tracker search -m" does find music in ~/Music though...
I tried gnome-music-3.20.2 with gnome-3.21.x ..but now I have a different error: $ gnome-music Traceback (most recent call last):
+ Trace 236448
from gnomemusic.player import Player, SelectionToolbar
playlists = Playlists.get_default()
cls.instance = Playlists()
StaticPlaylists()
As before: $ tracker search -m Files: file:///home/tc/Music/aayw.mp3 file:///home/tc/Music/ACDC_-_Back_In_Black-sample.ogg file:///home/tc/Music/terminator.wav
Weird, it is fine to give filename_to_uri 1 argument as the 2nd may be NULL. Can you try the 3.22 release and see if you can reproduce. What version of pygobject are you using? (In reply to john.frankish@outlook.com from comment #39) > I tried gnome-music-3.20.2 with gnome-3.21.x > > ..but now I have a different error: > > $ gnome-music > Traceback (most recent call last):
I updated to gnome-music-3.22.0 and pygobject-3.22.0 and music now finds something, but only mp3 files and not ogg nor wav. As a test, on the same system rhythmbox finds and plays mp3, ogg and wav. $ tracker search -m Files: file:///home/tc/Music/aayw.mp3 file:///home/tc/Music/ACDC_-_Back_In_Black-sample.ogg file:///home/tc/Music/terminator.wav tc@boxdell:~$ gnome-music -d ... 16:20:13 DEBUG Window._windows_focus_cb(<Window>, <Window>, <Gdk.EventFocus object at 0x7f429921a158 (void at 0x19c0a90)>)[window.py:161] 16:20:13 DEBUG |Window._grab_media_player_keys(<Window>)[window.py:145] 16:20:13 DEBUG Albums._add_item(<Albums>, <__gi__.GrlTrackerSource object at 0x7f4299208370 (GrlTrackerSource at 0x16c52b0)>, 1, <Grl.Media object at 0x7f4299208a00 (GrlMedia at 0x1995600)>, 4294967294, None)[view.py:469] 16:20:13 DEBUG |AlbumArtCache.lookup(<AlbumArt>, <Grl.Media object at 0x7f4299208a00 (GrlMedia at 0x1995600)>, 128, 128, <bound method Albums._on_lookup_ready of <Albums>>, <Gtk.FlowBoxChild object at 0x7f4299208af0 (GtkFlowBoxChild at 0x180cfa0)>, 'Nina Simone', 'Thomas Crown Affair')[albumartcache.py:198] 16:20:13 DEBUG ||AlbumArtCache.cached_thumb_not_found(<AlbumArt>, <Grl.Media object at 0x7f4299208a00 (GrlMedia at 0x1995600)>, 128, 128, '/home/tc/.cache/media-art/album-a9d0efc44a38e9212068257a59dae41c-04341c940e3ed75a528729c8e75bc165.jpeg', <bound method Albums._on_lookup_ready of <Albums>>, <Gtk.FlowBoxChild object at 0x7f4299208af0 (GtkFlowBoxChild at 0x180cfa0)>, 'Nina Simone', 'Thomas Crown Affair')[albumartcache.py:266] 16:20:13 DEBUG |||Grilo.get_album_art_for_item(<Grilo>, <Grl.Media object at 0x7f4299208a00 (GrlMedia at 0x1995600)>, <bound method AlbumArtCache.wrapped of <AlbumArt>>, (<Grl.Media object at 0x7f4299208a00 (GrlMedia at 0x1995600)>, 128, 128, '/home/tc/.cache/media-art/album-a9d0efc44a38e9212068257a59dae41c-04341c940e3ed75a528729c8e75bc165.jpeg', <bound method Albums._on_lookup_ready of <Albums>>, <Gtk.FlowBoxChild object at 0x7f4299208af0 (GtkFlowBoxChild at 0x180cfa0)>, 'Nina Simone', 'Thomas Crown Affair'))[grilo.py:307] 16:20:13 DEBUG Albums._add_item(<Albums>, <__gi__.GrlTrackerSource object at 0x7f4299208370 (GrlTrackerSource at 0x16c52b0)>, 1, None, 0, None)[view.py:469] 16:20:13 DEBUG AlbumArtCache.album_art_for_item_callback(<AlbumArt>, <__gi__.GrlTrackerSource object at 0x7f4299208370 (GrlTrackerSource at 0x16c52b0)>, 3, <Grl.Media object at 0x7f4299208e10 (GrlMedia at 0x1681360)>, 0, (<Grl.Media object at 0x7f4299208a00 (GrlMedia at 0x1995600)>, 128, 128, '/home/tc/.cache/media-art/album-a9d0efc44a38e9212068257a59dae41c-04341c940e3ed75a528729c8e75bc165.jpeg', <bound method Albums._on_lookup_ready of <Albums>>, <Gtk.FlowBoxChild object at 0x7f4299208af0 (GtkFlowBoxChild at 0x180cfa0)>, 'Nina Simone', 'Thomas Crown Affair'), None)[albumartcache.py:280] 16:20:13 WARNING can't find artwork for album 'Thomas Crown Affair' by Nina Simone 16:20:13 DEBUG |AlbumArtCache.finish(<AlbumArt>, <Grl.Media object at 0x7f4299208e10 (GrlMedia at 0x1681360)>, None, None, <bound method Albums._on_lookup_ready of <Albums>>, <Gtk.FlowBoxChild object at 0x7f4299208af0 (GtkFlowBoxChild at 0x180cfa0)>, 128, 128, 'Nina Simone', 'Thomas Crown Affair')[albumartcache.py:248] 16:20:13 DEBUG ||DefaultIcon.get(<DefaultIcon>, 128, 128, <Type.music: 'folder-music-symbolic'>)[albumartcache.py:127] 16:20:13 DEBUG |||DefaultIcon._make_default_icon(<DefaultIcon>, 128, 128, <Type.music: 'folder-music-symbolic'>)[albumartcache.py:100] 16:20:13 DEBUG ||||_make_icon_frame(<GdkPixbuf.Pixbuf object at 0x7f4299208e60 (GdkPixbuf at 0xe86520)>)[albumartcache.py:48] 16:20:13 DEBUG |||| returned <GdkPixbuf.Pixbuf object at 0x7f4299208f50 (GdkPixbuf at 0x19d01e0)> 16:20:13 DEBUG ||| returned <GdkPixbuf.Pixbuf object at 0x7f4299208f50 (GdkPixbuf at 0x19d01e0)> 16:20:13 DEBUG || returned <GdkPixbuf.Pixbuf object at 0x7f4299208f50 (GdkPixbuf at 0x19d01e0)> 16:20:13 DEBUG Window.store_window_size_and_position(<Window>, <Window>)[window.py:130] 16:20:13 DEBUG returned False 16:20:15 DEBUG Window._on_key_press(<Window>, <Window>, <Gdk.EventKey object at 0x7f429921a9f0 (void at 0x1379670)>)[window.py:370] 16:20:19 DEBUG Window._on_window_state_event(<Window>, <Window>, <Gdk.EventWindowState object at 0x7f429921a9f0 (void at 0x1379670)>)[window.py:141] 16:21:14 DEBUG Window._windows_focus_cb(<Window>, <Window>, <Gdk.EventFocus object at 0x7f429921a9f0 (void at 0x7f42880022b0)>)[window.py:161] 16:21:14 DEBUG |Window._grab_media_player_keys(<Window>)[window.py:145] 16:21:14 DEBUG Window._on_window_state_event(<Window>, <Window>, <Gdk.EventWindowState object at 0x7f429921a9f0 (void at 0x7f4288002210)>)[window.py:141] 16:21:14 DEBUG Window._on_notify_mode(<Window>, <Gtk.Stack object at 0x7f42991f63c0 (GtkStack at 0x17051c0)>, <GParamObject 'visible-child'>)[window.py:453] 16:21:14 DEBUG |Searchbar.show_bar(<Searchbar>, False)[searchbar.py:315] 16:21:14 DEBUG ViewContainer._on_headerbar_visible(<Albums>, <Gtk.Stack object at 0x7f42991f63c0 (GtkStack at 0x17051c0)>, <GParamObject 'visible-child'>)[view.py:193] 16:21:14 DEBUG ViewContainer._on_headerbar_visible(<Artists>, <Gtk.Stack object at 0x7f42991f63c0 (GtkStack at 0x17051c0)>, <GParamObject 'visible-child'>)[view.py:193] 16:21:14 DEBUG ViewContainer._on_headerbar_visible(<Songs>, <Gtk.Stack object at 0x7f42991f63c0 (GtkStack at 0x17051c0)>, <GParamObject 'visible-child'>)[view.py:193] 16:21:14 DEBUG |ViewContainer._populate(<Songs>)[view.py:219] 16:21:14 DEBUG ||Songs.populate(<Songs>)[view.py:774] 16:21:14 DEBUG |||Window._init_loading_notification(<Window>)[window.py:311] 16:21:14 DEBUG ViewContainer._on_headerbar_visible(<Playlist>, <Gtk.Stack object at 0x7f42991f63c0 (GtkStack at 0x17051c0)>, <GParamObject 'visible-child'>)[view.py:193] 16:21:14 DEBUG ViewContainer._on_headerbar_visible(<EmptySearch>, <Gtk.Stack object at 0x7f42991f63c0 (GtkStack at 0x17051c0)>, <GParamObject 'visible-child'>)[view.py:193] 16:21:14 DEBUG Grilo.populate_songs(<Grilo>, 0, <bound method Songs._add_item of <Songs>>)[grilo.py:233] 16:21:14 DEBUG |Grilo.populate_items(<Grilo>, "SELECT DISTINCT rdf:type(?song) tracker:id (?song) AS ?id ?url nie:title(?song) AS ?title nmm:artistName(nmm:performer(?song)) AS ?artist nie:title(nmm:musicAlbum(?song)) AS ?album nfo:duration(?song) AS ?duration IF (BOUND(?tag), 'b', '') AS ?lyrics { ?song a nmm:MusicPiece ; a nfo:FileDataObject . ?song a nmm:MusicPiece ; nmm:musicAlbumDisc ?disc ; nmm:musicAlbum ?album ; nmm:performer ?performer ; nie:url ?url . ?album nmm:albumArtist ?albumArtist ; nie:title ?title . OPTIONAL { ?song nao:hasTag ?tag . FILTER (?tag = nao:predefined-tag-favorite) } . FILTER(STRSTARTS(?url, 'file:///home/tc/Music/')) } ORDER BY ?artist ?album nmm:setNumber(?disc) nmm:trackNumber(?song)", 0, <bound method Songs._add_item of <Songs>>, -1)[grilo.py:260]
Can you give a 'tracker info <filename>' on those files (ogg) and attach the output (large output is always better to attach). Wav contains no artist/album/title metadata so should not show up in music, maybe in the songs lists only.
Created attachment 336459 [details] tracker info
They both have no tags, so that makes them invisible to music. Music is aimed at tagged files. They could show up if you build tracker with support for providing minimal metadata, then it would give the ogg -I think- a title at least based on the filename. That should make it show up in the songs list at least.
Well OK, but tracker recognises them as music files, shouldn't gnome-music do so too - being a music player for only some music files seems a little odd...
No, music has a limited scope. For sound files there are other applications, for a (tagged) music collection Music comes in. That is a source of confusion to more users, so we have some work to do in that area. However, I think this has been 'resolved' then. I never quite got what the initial problem was, but it seems to be fixed by now. Thanks for your quick follow-ups. If you have any follow up issues, please do file bugs. If you would further like to discuss how music should behave or interact drop by on irc sometime : #gnome-music on irc.gnome.org .