diff --git a/mopidy_touchscreen/dynamic_background.py b/mopidy_touchscreen/dynamic_background.py index 250e99f..e71d8e6 100644 --- a/mopidy_touchscreen/dynamic_background.py +++ b/mopidy_touchscreen/dynamic_background.py @@ -15,10 +15,13 @@ class DynamicBackground(): self.current[x] += 1 if self.current != self.target: same = False - if same: - self.target = get_valid_color() + #if same: + # self.target = get_valid_color() 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 # The sum of the three integers will be lower than 255*2 diff --git a/mopidy_touchscreen/main_screen.py b/mopidy_touchscreen/main_screen.py index fbcfa42..b64287d 100644 --- a/mopidy_touchscreen/main_screen.py +++ b/mopidy_touchscreen/main_screen.py @@ -20,13 +20,14 @@ logger = logging.getLogger(__name__) 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) self.core = core self.track = None self.cache = cache self.image = None self.artists = None + self.background = background self.track_duration = "00:00" self.touch_text_manager = ScreenObjectsManager() current_track = self.core.playback.current_track.get() @@ -273,11 +274,13 @@ class MainScreen(BaseScreen): def load_image(self): size = self.base_size * 4 - self.image = pygame.transform.scale( - pygame.image.load( + image = pygame.transform.scale(pygame.image.load( self.get_cover_folder() + self.get_image_file_name()).convert(), (size, size)) + self.background.set_target_color(pygame.transform.average_color(image)) + self.image = image + def touch_event(self, event): if event.type == InputManager.click: diff --git a/mopidy_touchscreen/screen_manager.py b/mopidy_touchscreen/screen_manager.py index e3c13f5..1968fd1 100644 --- a/mopidy_touchscreen/screen_manager.py +++ b/mopidy_touchscreen/screen_manager.py @@ -41,7 +41,7 @@ class ScreenManager(): try: self.screens = [ 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), LibraryScreen(size, self.base_size, self, self.fonts), PlaylistScreen(size, self.base_size, self, self.fonts),