def set_progress_callback(self, time_elapsed, total_time): """ times must be in nanoseconds """ time_string = "%s / %s" % ( util.convert_ns(time_elapsed), util.convert_ns(total_time) ) self.progress.setFormat( time_string ) fraction = float(time_elapsed) / float(total_time) if total_time else 0 self.progress.setValue( int(fraction*100) )
def set_progress_callback(self, time_elapsed, total_time): """ times must be in nanoseconds """ time_string = "%s / %s" % (util.convert_ns(time_elapsed), util.convert_ns(total_time)) self.progress.set_text(time_string) fraction = float(time_elapsed) / float(total_time) if total_time else 0 self.progress.set_fraction(fraction)
def fill(self, playlist_item): metadata = playlist_item.metadata label = QtGui.QLabel("<b>" + _('Title:') + "</b>") label.setAlignment(QtCore.Qt.AlignRight) self.grid.addWidget(label, 0, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) label = QtGui.QLabel(metadata["title"]) self.grid.addWidget(label, 0, 1) label = QtGui.QLabel("<b>" + _('Length:') + "</b>") label.setAlignment(QtCore.Qt.AlignRight) self.grid.addWidget(label, 1, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) label = QtGui.QLabel(util.convert_ns(metadata["length"])) self.grid.addWidget(label, 1, 1) label = QtGui.QLabel("<b>" + _('Artist:') + "</b>") label.setAlignment(QtCore.Qt.AlignRight) self.grid.addWidget(label, 2, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) label = QtGui.QLabel(metadata["artist"]) self.grid.addWidget(label, 2, 1) label = QtGui.QLabel("<b>" + _('Album:') + "</b>") label.setAlignment(QtCore.Qt.AlignRight) self.grid.addWidget(label, 3, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) label = QtGui.QLabel(metadata["album"]) self.grid.addWidget(label, 3, 1)
def get_playlist_items(self): self.playlist_items = [] for item, data in self.playlist.get_playlist_item_ids(): self.playlist_items.append(PlaylistItem(item, data.get('title'), "", "")) for bid, bname, bpos in self.playlist.get_bookmarks_from_item_id( item ): self.playlist_items.append(PlaylistItem(item, bname, bid, util.convert_ns(bpos))) return self.playlist_items
def playlist_item_info_callback(self, item_id): playlist_item = self.playlist.get_item_by_id(item_id) metadata = playlist_item.metadata metadata["length"] = util.convert_ns(metadata["length"]) metadata["path"] = playlist_item.filepath.decode("utf-8") for i in ["title", "artist", "album"]: if metadata[i]: metadata[i] = metadata[i].decode("utf-8") else: metadata[i] = " " self.view.rootObject().property("root").openPlaylistItemInfo(metadata)
def get_formatted_position(self, pos=None): """ Gets the current position and converts it to a human-readable str. Returns: (bookmark lable string, position in nanoseconds) """ if pos is None: (pos, dur) = self.get_position_duration() text = util.convert_ns(pos) return (text, pos)
def get_playlist_items(self): self.playlist_items = [] for item, data in self.playlist.get_playlist_item_ids(): self.playlist_items.append( PlaylistItem(item, data.get('title'), "", "")) for bid, bname, bpos in self.playlist.get_bookmarks_from_item_id( item): self.playlist_items.append( PlaylistItem(item, bname, bid, util.convert_ns(bpos))) return self.playlist_items
def update_model(self): #path_info = self.treeview.get_path_at_pos(0,0) #path = path_info[0] if path_info is not None else None self.clear_model() for item, data in self.playlist.get_playlist_item_ids(): parent = QtGui.QStandardItem(data.get('title').decode('utf-8')) self.__model.appendRow((parent, None, QtGui.QStandardItem(item))) for bid, bname, bpos in self.playlist.get_bookmarks_from_item_id( item): parent.appendRow((QtGui.QStandardItem(bname.decode('utf-8')), QtGui.QStandardItem(util.convert_ns(bpos)), QtGui.QStandardItem(bid))) self.tree.expandAll()
def playlist_item_info_callback(self, item_id): playlist_item = self.playlist.get_item_by_id(item_id) metadata = playlist_item.metadata metadata["length"] = util.convert_ns(metadata["length"]) metadata["path"] = playlist_item.filepath.decode("utf-8") for i in ["title", "artist", "album"]: if metadata[i]: metadata[i] = metadata[i].decode("utf-8") else: metadata[i] = " " if metadata["image"]: self.image = metadata["image"] image = "image://cover/" + os.urandom(10) else: image = "artwork/panucci_86x86.png" self.view.rootObject().property("root").openPlaylistItemInfo(item_id, metadata, image)
def update_model(self): path_info = self.treeview.get_path_at_pos(0,0) path = path_info[0] if path_info is not None else None self.__model.clear() # build the tree for item, data in self.playlist.get_playlist_item_ids(): parent = self.__model.append(None, (item, data.get('title'), None)) for bid, bname, bpos in self.playlist.get_bookmarks_from_item_id( item ): nice_bpos = util.convert_ns(bpos) self.__model.append( parent, (bid, bname, nice_bpos) ) self.treeview.expand_all() if path is not None: self.treeview.scroll_to_cell(path)
def set_progress_callback(self, time_elapsed, total_time): self.time_str = "%s / %s" %(util.convert_ns(time_elapsed), util.convert_ns(total_time)) self.progress_fraction = float(time_elapsed) / float(total_time) if total_time else 0 self.on_set_progress.emit()
def fill(self, playlist_item): t = gtk.Table(10, 2) self.vbox.pack_start(t, expand=False) metadata = playlist_item.metadata t.attach(gtk.Label(_('Custom title:')), 0, 1, 0, 1) t.attach(gtk.Label(_('ID:')), 0, 1, 1, 2) t.attach(gtk.Label(_('Playlist ID:')), 0, 1, 2, 3) t.attach(gtk.Label(_('Filepath:')), 0, 1, 3, 4) row_num = 4 for key in metadata: if metadata[key] is not None: t.attach( gtk.Label(key.capitalize()+':'), 0, 1, row_num, row_num+1 ) row_num += 1 t.foreach(lambda x, y: x.set_alignment(1, 0.5), None) t.foreach(lambda x, y: x.set_markup('<b>%s</b>' % x.get_label()), None) t.attach(gtk.Label(playlist_item.title or _('<not modified>')),1,2,0,1) t.attach(gtk.Label(str(playlist_item)), 1, 2, 1, 2) t.attach(gtk.Label(playlist_item.playlist_id), 1, 2, 2, 3) t.attach(gtk.Label(playlist_item.filepath), 1, 2, 3, 4) row_num = 4 for key in metadata: value = metadata[key] if key == 'length': value = util.convert_ns(value) if metadata[key] is not None: t.attach( gtk.Label( str(value) or _('<not set>')), 1, 2, row_num, row_num+1) row_num += 1 t.foreach(lambda x, y: x.get_alignment() == (0.5, 0.5) and \ x.set_alignment(0, 0.5), None) t.set_border_width(8) t.set_row_spacings(4) t.set_col_spacings(8) l = gtk.ListStore(str, str) t = gtk.TreeView(l) cr = gtk.CellRendererText() cr.set_property('ellipsize', pango.ELLIPSIZE_END) c = gtk.TreeViewColumn(_('Title'), cr, text=0) c.set_expand(True) t.append_column(c) c = gtk.TreeViewColumn(_('Time'), gtk.CellRendererText(), text=1) t.append_column(c) playlist_item.load_bookmarks() for bookmark in playlist_item.bookmarks: l.append([bookmark.bookmark_name, \ util.convert_ns(bookmark.seek_position)]) sw = gtk.ScrolledWindow() sw.set_shadow_type(gtk.SHADOW_IN) sw.add(t) sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) e = gtk.Expander(_('Bookmarks')) e.add(sw) if not platform.MAEMO: self.vbox.pack_start(e)
def set_progress_callback(self, time_elapsed, total_time): self.time_str = "%s / %s" % (util.convert_ns(time_elapsed), util.convert_ns(total_time)) self.progress_fraction = float(time_elapsed) / float( total_time) if total_time else 0 self.on_set_progress.emit()
def update_model(self): #path_info = self.treeview.get_path_at_pos(0,0) #path = path_info[0] if path_info is not None else None self.clear_model() for item, data in self.playlist.get_playlist_item_ids(): parent = QtGui.QStandardItem(data.get('title').decode('utf-8')) self.__model.appendRow((parent, QtGui.QStandardItem(), QtGui.QStandardItem(item))) for bid, bname, bpos in self.playlist.get_bookmarks_from_item_id( item ): parent.appendRow((QtGui.QStandardItem(bname.decode('utf-8')), QtGui.QStandardItem(util.convert_ns(bpos)), QtGui.QStandardItem(bid))) self.tree.expandAll()