Ejemplo n.º 1
0
	def __init__(self, win, top = 6,left = 10):
		win.clear()
		
		self.win = win
		self.win.border()
		
		# This Sets the keys
		self.keys = key_strokes()

		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.shuffle = self.win.subwin(1,1,top+10, left + 5)
			
		self.windows = [self.timers, self.playtime, self.shuffle, self.volume, self.win, self.title]
		
		# This makes the set of which key is bound to which function
		key = self.keys
		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"] : xmms.toggle_shuffle,
			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))
		};
Ejemplo n.º 2
0
    def mouseDoubleClickEvent(self, ev):
        if self.item:
            pos = self.item.dur * ev.pos().x() / self.width()
            print pos
            print self.item.file
            xmms.set_playlist_pos(self.item.playlist_pos)
            xmms.jump_to_time(pos)

        self.drawTime()
Ejemplo n.º 3
0
	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))
		};
Ejemplo n.º 4
0
    def eventhandler(self, event, menuw=None):
        """
        eventhandler for xmms. If an event is not bound in this
        function it will be passed over to the items eventhandler
        """

        # save this event so update_thread doesn't get fooled
        self.last_event = event

        if event == PLAY_END and event.arg:
            self.stop()
            if self.playerGUI.try_next_player():
                return True

        if event in ( STOP, PLAY_END, USER_END ):
            self.playerGUI.stop()
            return self.item.eventhandler(event)

        elif event == PAUSE or event == PLAY:
            xmms.pause()
            return True

        elif event == SEEK:
            curtime = xmms.get_output_time()
            nexttime = curtime + (event.arg * 1000)

            # trim down seek time if it past end of the song
            while nexttime > xmms.get_playlist_time(xmms.get_playlist_pos()):
                event.arg/=2
                nexttime = curtime + (event.arg * 1000)
            xmms.jump_to_time(nexttime)
            return True

        else:
            # everything else: give event to the items eventhandler
            return self.item.eventhandler(event)
Ejemplo n.º 5
0
    def eventhandler(self, event, menuw=None):
        """
        eventhandler for xmms. If an event is not bound in this
        function it will be passed over to the items eventhandler
        """

        # save this event so update_thread doesn't get fooled
        self.last_event = event

        if event == PLAY_END and event.arg:
            self.stop()
            if self.playerGUI.try_next_player():
                return True

        if event in (STOP, PLAY_END, USER_END):
            self.playerGUI.stop()
            return self.item.eventhandler(event)

        elif event == PAUSE or event == PLAY:
            xmms.pause()
            return True

        elif event == SEEK:
            curtime = xmms.get_output_time()
            nexttime = curtime + (event.arg * 1000)

            # trim down seek time if it past end of the song
            while nexttime > xmms.get_playlist_time(xmms.get_playlist_pos()):
                event.arg /= 2
                nexttime = curtime + (event.arg * 1000)
            xmms.jump_to_time(nexttime)
            return True

        else:
            # everything else: give event to the items eventhandler
            return self.item.eventhandler(event)