Example #1
0
class Music_Controls(pygame.sprite.Sprite):
    def __init__(self, location):
        logging.debug("Initialising music controls")
        # Initialise the sprite module
        pygame.sprite.Sprite.__init__(self, self.containers)

        font = pygame.font.Font(get_font('arial.ttf'), 15)
        self.font_surface = font.render("Music", 1, (0, 0, 0))
        
        # Make the image
        self.image = pygame.Surface((120, 50 + self.font_surface.get_height() - 5))
        
        self.image.fill(BLUE)
        
        self.offset = (20, 20)
        self.rect = self.image.get_rect()
        self.rect.topleft = self.offset
        
        self.buttons = []
        self.button_group = pygame.sprite.Group()
        Button.containers = self.button_group
        
        self.buttons.append(Button(self.image, "", PLAY_PAUSE_SWAP_IMAGE, "width/4", "25+(height-50)", image="Buttons\\pause_button.png", highlight_image="Buttons\\pause_button_highlighted.png", pressed_image="Buttons\\pause_button_pressed.png", type="play pause", init_command=PLAY_PAUSE_LOAD_IMAGES))
        self.buttons.append(Button(self.image, "", "", "width*3/4", "25+(height-50)", image="Buttons\\skip_forwards_button.png", highlight_image="Buttons\\skip_forwards_button_highlighted.png", pressed_image="Buttons//skip_forwards_button_pressed.png", type="skip"))
        
        self.button_group.draw(self.image)
        
        font = pygame.font.Font(get_font('arial.ttf'), 15)
        self.font_surface = font.render("Music", 1, (255, 255, 255))
        
        # Create music
        self.music = Music(location)
        self.music.play_music()
        
    def play_music(self, mouse_pos, mouse_down):
        self.image.fill(BLUE)
        mouse_pos = mouse_pos[0] - self.offset[0], mouse_pos[1] - self.offset[1]
        for item in self.buttons:
            pressed = item.update(mouse_pos, mouse_down, self.image)
            if pressed:
                if item.type == "skip":
                    self.music.skip()
                elif item.type == "play pause":
                    self.music.play_pause()
        self.button_group.draw(self.image)
        
        self.image.blit(self.font_surface, (12, 0))
        self.music.play_music()