audio: Give the BassPlayer an artwork signal

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-09-07 10:06:07 -04:00
parent 08696dd17a
commit b95ad55c9a
1 changed files with 10 additions and 0 deletions

View File

@ -21,6 +21,7 @@ class BassPlayer(GObject.GObject):
self.bus.connect("message::state-changed", self.state_changed)
self.bus.connect("message::stream-start", self.stream_start)
self.bus.connect("message::state-changed", self.state_changed)
self.bus.connect("message::tag", self.tag)
self.timeout = None
@ -101,6 +102,11 @@ class BassPlayer(GObject.GObject):
def stream_start(self, bus, message):
self.emit("duration-changed")
def tag(self, bus, message):
(res, sample) = message.parse_tag().get_sample("image")
if res:
self.emit("artwork", sample)
def timeout_function(self):
self.emit("position-changed")
return GLib.SOURCE_CONTINUE
@ -109,6 +115,10 @@ class BassPlayer(GObject.GObject):
def about_to_finish(self):
pass
@GObject.Signal(arg_types=(Gst.Sample,))
def artwork(self, sample):
pass
@GObject.Signal
def duration_changed(self):
pass