summaryrefslogtreecommitdiff
path: root/gnomemusic/embeddedart.py
diff options
context:
space:
mode:
Diffstat (limited to 'gnomemusic/embeddedart.py')
-rw-r--r--gnomemusic/embeddedart.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/gnomemusic/embeddedart.py b/gnomemusic/embeddedart.py
index 2648c5ea..ec3e7932 100644
--- a/gnomemusic/embeddedart.py
+++ b/gnomemusic/embeddedart.py
@@ -134,7 +134,9 @@ class EmbeddedArt(GObject.GObject):
"image-type", GstTag.TagImageType)
if not success:
continue
- if image_type != GstTag.TagImageType.FRONT_COVER:
+ if image_type not in [
+ GstTag.TagImageType.UNDEFINED,
+ GstTag.TagImageType.FRONT_COVER]:
continue
buf = sample.get_buffer()
@@ -161,10 +163,11 @@ class EmbeddedArt(GObject.GObject):
self._lookup_cover_in_directory()
else:
self._file.create_async(
- Gio.FileCreateFlags.NONE, GLib.PRIORITY_LOW, None,
+ Gio.FileCreateFlags.NONE, GLib.PRIORITY_DEFAULT_IDLE, None,
self._output_stream_created, pixbuf)
finally:
- stream.close_async(GLib.PRIORITY_LOW, None, self._stream_closed)
+ stream.close_async(
+ GLib.PRIORITY_DEFAULT_IDLE, None, self._stream_closed)
def _output_stream_created(
self, stream: Gio.FileOutputStream, result: Gio.AsyncResult,
@@ -174,6 +177,7 @@ class EmbeddedArt(GObject.GObject):
except GLib.Error as error:
# File already exists.
self._log.info(f"Error: {error.domain}, {error.message}")
+ self.emit("art-found", True)
else:
pixbuf.save_to_streamv_async(
output_stream, "jpeg", None, None, None,
@@ -191,7 +195,7 @@ class EmbeddedArt(GObject.GObject):
self.emit("art-found", True)
finally:
output_stream.close_async(
- GLib.PRIORITY_LOW, None, self._stream_closed)
+ GLib.PRIORITY_DEFAULT_IDLE, None, self._stream_closed)
def _stream_closed(
self, stream: Gio.OutputStream, result: Gio.AsyncResult) -> None:
@@ -205,7 +209,7 @@ class EmbeddedArt(GObject.GObject):
self._media_art.uri_async(
MediaArt.Type.ALBUM, MediaArt.ProcessFlags.NONE,
self._coreobject.props.url, self._artist, self._album,
- GLib.PRIORITY_LOW, None, self._uri_async_cb, None)
+ GLib.PRIORITY_DEFAULT_IDLE, None, self._uri_async_cb, None)
def _uri_async_cb(self, src, result, data):
try: