def toggle_shuffle(self): '''Simply Toggles the shuffle function''' self.shuffle.clear() if xmms.is_shuffle(): self.shuffle.insstr(0,0," ") else: self.shuffle.insstr(0,0,"S") xmms.toggle_shuffle()
def update(self): '''This Refreshes the Screen... It calculates times and such, and then draws''' time = xmms.get_output_time()/1000 num = xmms.get_playlist_pos() title = xmms.get_playlist_title(num) shuffle = xmms.is_shuffle() length = xmms.get_playlist_time(num) / 1000 self.win.border() self.shuffle.clear() if shuffle: self.shuffle.insstr(0,0,"S") t = format_time(time) self.timers.clear() self.timers.addstr(t) self.title.clear() self.title.addstr("%d. %s (%s)" % (num,title,format_time(length))) t = (time * 40) / length self.playtime.clear() self.playtime.insstr(0,0,'.' * t) self.playtime.insstr(0, min(t,39), '%',curses.A_BOLD) if t < 39: self.playtime.insstr(0,t+1,'.' * (39 -t)) self.volume.clear() v = xmms.get_main_volume() self.volume.insstr(0,0, 'Vol: %2d' % (v)) v = int(round(v / 10)) for i in range(0, 5): if (i * 2 < v): self.volume.hline(6-i, 0, '#', 2*i-1, curses.A_BOLD) else: self.volume.hline(6-i, 0, '_', 2*i-1) # # gratuitous use of lambda map(lambda a: a.refresh(), self.windows)
def __init__(self, stdscr, top = 6,left = 10): self.stdscr = stdscr self.win = curses.newwin(13, 60, top, left) self.win.border() # Gets a list of recognised key - strokes self.keys = key_strokes() # The next block represents the various widgets self.timers = self.win.subwin(2, 10, top+1, left + 3) self.title = self.win.subwin(3, 40, top+1, left + 15) self.playtime = self.win.subwin(2, 40, top+4, left + 15) self.volume = self.win.subwin(7, 10, top+3, left + 2) self.jump = self.win.subwin(6, 45, top+6, left + 12) self.shuffle = self.win.subwin(1,1,top+10, left + 5) if xmms.is_shuffle(): self.shuffle.insstr(0,0,"S") self.windows = [self.timers, self.playtime, self.shuffle, self.volume, self.win, self.jump, self.title] key = self.keys # maks the keys to their appropriate function self.keymaps = { key["x"] : xmms.play, key["c"] : xmms.pause, key["v"] : xmms.stop, key["z"] : xmms.playlist_prev, key["b"] : xmms.playlist_next, key["s"] : self.toggle_shuffle, key["j"] : self.search, key["q"] : sys.exit, key["esc"] : sys.exit, key["up"] : lambda : xmms.set_main_volume(min(100, xmms.get_main_volume() + 10)), key["down"] : lambda : xmms.set_main_volume(max(0, xmms.get_main_volume() - 10)), key["right"] : lambda : xmms.jump_to_time(xmms.get_output_time()+5000), key["left"] : lambda : xmms.jump_to_time(max(0,xmms.get_output_time()-5000)) };
def update(self): '''Updates all windows''' # This block gets variables, like time, number, title. etc... time = xmms.get_output_time()/1000 num = xmms.get_playlist_pos() title = xmms.get_playlist_title(num) shuffle = xmms.is_shuffle() length = xmms.get_playlist_time(num) / 1000 t = format_time(time) self.timers.clear() self.timers.addstr(t) self.title.clear() self.title.addstr("%d. %s (%s)" % (num,title,format_time(length))) t = (time * 40) / length self.playtime.clear() self.playtime.insstr(0,0,'.' * t) self.playtime.insstr(0, min(t,39), '%',curses.A_BOLD) if t < 39: self.playtime.insstr(0,t+1,'.' * (39 -t)) self.volume.clear() v = xmms.get_main_volume() self.volume.insstr(0,0, 'Vol: %2d' % (v)) # draws the volume bar v = int(round(v / 10)) for i in range(0, 5): if (i * 2 < v): self.volume.hline(6-i, 0, '#', 2*i-1, curses.A_BOLD) else: self.volume.hline(6-i, 0, '_', 2*i-1) # # gratuitous use of lambda map(lambda a: a.refresh(), self.windows)
def shuffle_get(self): shuffle = xmms.is_shuffle() print "Sending toggle: now is", shuffle == 1 self.client_socket.sendall(str(shuffle))
def shuffle_get(self): shuffle = xmms.is_shuffle() print "Sending toggle: now is",shuffle == 1 self.client_socket.sendall(str(shuffle))