def tags_changed(self, tags): if not self.audio or 'title' not in tags: return tags = self.audio.get_current_tags().get() if not tags: return # TODO: this limits us to only streams that set organization, this is # a hack to make sure we don't emit stream title changes for plain # tracks. We need a better way to decide if something is a stream. if 'title' in tags and tags['title'] and 'organization' in tags: title = tags['title'][0] self.playback._stream_title = title CoreListener.send('stream_title_changed', title=title)
def tags_changed(self, tags): if not self.audio or "title" not in tags: return tags = self.audio.get_current_tags().get() if not tags: return self.playback._stream_title = None # TODO: Do not emit stream title changes for plain tracks. We need a # better way to decide if something is a stream. if "title" in tags and tags["title"]: title = tags["title"][0] current_track = self.playback.get_current_track() if current_track is not None and current_track.name != title: self.playback._stream_title = title CoreListener.send("stream_title_changed", title=title)
def tags_changed(self, tags): if not self.audio or 'title' not in tags: return tags = self.audio.get_current_tags().get() if not tags: return # TODO: this is a hack to make sure we don't emit stream title changes # for plain tracks. We need a better way to decide if something is a # stream. if 'title' in tags and tags['title']: title = tags['title'][0] current_track = self.playback.get_current_track() if current_track is not None and current_track.name != title: self.playback._stream_title = title CoreListener.send('stream_title_changed', title=title)
def mute_changed(self, mute): # Forward event from mixer to frontends CoreListener.send('mute_changed', mute=mute)
def volume_changed(self, volume): # Forward event from mixer to frontends CoreListener.send('volume_changed', volume=volume)
def playlists_loaded(self): # Forward event from backend to frontends CoreListener.send('playlists_loaded')