Background color related to album

This commit is contained in:
Ander
2015-01-09 02:09:13 +01:00
parent 81b173fbf8
commit e8b61e2392
3 changed files with 12 additions and 6 deletions

View File

@@ -15,10 +15,13 @@ class DynamicBackground():
self.current[x] += 1 self.current[x] += 1
if self.current != self.target: if self.current != self.target:
same = False same = False
if same: #if same:
self.target = get_valid_color() # self.target = get_valid_color()
surface.fill(self.current) surface.fill(self.current)
def set_target_color(self, color):
self.target = [color[0], color[1], color[2]]
# Returns an array with 3 integers in range of 0-255 # Returns an array with 3 integers in range of 0-255
# The sum of the three integers will be lower than 255*2 # The sum of the three integers will be lower than 255*2

View File

@@ -20,13 +20,14 @@ logger = logging.getLogger(__name__)
class MainScreen(BaseScreen): class MainScreen(BaseScreen):
def __init__(self, size, base_size, manager, fonts, cache, core): def __init__(self, size, base_size, manager, fonts, cache, core, background):
BaseScreen.__init__(self, size, base_size, manager, fonts) BaseScreen.__init__(self, size, base_size, manager, fonts)
self.core = core self.core = core
self.track = None self.track = None
self.cache = cache self.cache = cache
self.image = None self.image = None
self.artists = None self.artists = None
self.background = background
self.track_duration = "00:00" self.track_duration = "00:00"
self.touch_text_manager = ScreenObjectsManager() self.touch_text_manager = ScreenObjectsManager()
current_track = self.core.playback.current_track.get() current_track = self.core.playback.current_track.get()
@@ -273,11 +274,13 @@ class MainScreen(BaseScreen):
def load_image(self): def load_image(self):
size = self.base_size * 4 size = self.base_size * 4
self.image = pygame.transform.scale( image = pygame.transform.scale(pygame.image.load(
pygame.image.load(
self.get_cover_folder() + self.get_cover_folder() +
self.get_image_file_name()).convert(), self.get_image_file_name()).convert(),
(size, size)) (size, size))
self.background.set_target_color(pygame.transform.average_color(image))
self.image = image
def touch_event(self, event): def touch_event(self, event):
if event.type == InputManager.click: if event.type == InputManager.click:

View File

@@ -41,7 +41,7 @@ class ScreenManager():
try: try:
self.screens = [ self.screens = [
SearchScreen(size, self.base_size, self, self.fonts), SearchScreen(size, self.base_size, self, self.fonts),
MainScreen(size, self.base_size, self, self.fonts, cache, core), MainScreen(size, self.base_size, self, self.fonts, cache, core, self.background),
Tracklist(size, self.base_size, self, self.fonts), Tracklist(size, self.base_size, self, self.fonts),
LibraryScreen(size, self.base_size, self, self.fonts), LibraryScreen(size, self.base_size, self, self.fonts),
PlaylistScreen(size, self.base_size, self, self.fonts), PlaylistScreen(size, self.base_size, self, self.fonts),