def onTag(self, bus, msg): song = self.model().item(self.playingId, 0).data() (emptiedStr, tagNames) = Song.getTagName(self.radioConfig['prefered_informations']) taglist = msg.parse_tag() #print(taglist.to_string()) def handle_tag(tagslist, tag, userdata): # Look there for list of available tags #http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html if tag == "bitrate": song['bitrate'] = tagslist.get_uint(tag)[1] // 1000 elif tag == "title": tmp = tagslist.get_string(tag)[1].split("-", 1) song['title'] = tmp[0].strip() song['artist'] = tmp[0].strip() elif tag == "genre": song['genre'] = tagslist.get_string(tag)[1] elif tag == "channel-mode": song['channels'] = tagslist.get_string(tag)[1] taglist.foreach(handle_tag, None) attribs = song.getOptionalValues( self.radioConfig['prefered_informations']) self.model().item(self.playingId, 2).setText(attribs[0])
def addRow(self, song): attribs = song.getOptionalValues('%name%|'+self.radioConfig['prefered_informations']) nodes = [QStandardItem(x) for x in attribs] map(lambda x : x.setData(song), nodes) n = QStandardItem('') n.setData(song) nodes.insert(0, n) self.model().appendRow(nodes)
def addRow(self, song): attribs = song.getOptionalValues( '%name%|' + self.radioConfig['prefered_informations']) nodes = [QStandardItem(x) for x in attribs] map(lambda x: x.setData(song), nodes) n = QStandardItem('') n.setData(song) nodes.insert(0, n) self.model().appendRow(nodes)
def onTag(self, bus, msg): song = self.model().item(self.playingId, 0).data() (emptiedStr, tagNames) = Song.getTagName(self.radioConfig['prefered_informations']) taglist = msg.parse_tag() #print(taglist.to_string()) def handle_tag(tagslist, tag, userdata): # Look there for list of available tags #http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html if tag == "bitrate": song['bitrate'] = tagslist.get_uint(tag)[1]//1000 elif tag == "title": tmp = tagslist.get_string(tag)[1].split("-", 1) song['title'] = tmp[0].strip() song['artist'] = tmp[0].strip() elif tag == "genre": song['genre'] = tagslist.get_string(tag)[1] elif tag == "channel-mode": song['channels'] = tagslist.get_string(tag)[1] taglist.foreach(handle_tag, None) attribs = song.getOptionalValues(self.radioConfig['prefered_informations']) self.model().item(self.playingId, 2).setText(attribs[0])