diff --git a/mopidy_touchscreen/main_screen.py b/mopidy_touchscreen/main_screen.py index 62ab6df..c1c9bf8 100644 --- a/mopidy_touchscreen/main_screen.py +++ b/mopidy_touchscreen/main_screen.py @@ -1,7 +1,32 @@ import pygame +import logging +from mopidy.audio import PlaybackState +from .dynamic_background import DynamicBackground +logger = logging.getLogger(__name__) + class MainScreen(): - def update(self,screen): - screen.fill((255,255,255)) + + + def __init__(self,size,manager): + self.size=size + self.manager=manager + self.background=DynamicBackground() + + def update(self,core): + screen = pygame.Surface(self.size) + self.background.drawBackground(screen) + text = pygame.font.SysFont("arial",20) + if(self.manager.track!=None): + text_surface=text.render(self.manager.track.track.name,False,(255,255,255)) + screen.blit(text_surface,(0,0)) + images=self.manager.track.track.album.images + if len(images)>0: + image = pygame.image.load(next(iter(images))) + screen.blit(image,(0,0)) + return screen + + + diff --git a/mopidy_touchscreen/touch_screen.py b/mopidy_touchscreen/touch_screen.py index e10c8c4..46b292c 100644 --- a/mopidy_touchscreen/touch_screen.py +++ b/mopidy_touchscreen/touch_screen.py @@ -3,7 +3,7 @@ import pykka import logging from threading import Thread import pygame -from .main_screen import MainScreen +from .screen_manager import ScreenManager from mopidy import core @@ -14,38 +14,31 @@ class TouchScreen(pykka.ThreadingActor, core.CoreListener): def __init__(self, config, core): super(TouchScreen, self).__init__() self.core = core + self.screen_size=(320, 240) def start_thread(self): + self.screen_manager = ScreenManager(self.screen_size) pygame.init() clock = pygame.time.Clock() - main_screen = MainScreen() - screen = pygame.display.set_mode((200,200)); + screen = pygame.display.set_mode(self.screen_size) while self.running: clock.tick(60) - main_screen.update(screen) + screen.blit(self.screen_manager.update(self.core),(0,0)) pygame.display.flip() - logger.error("bukatzen") pygame.quit() - logger.error("bukatu dot") def on_start(self): self.running=True - self.thread = Thread(target=self.start_thread) - self.thread.start() - + thread = Thread(target=self.start_thread) + thread.start() + pass def on_stop(self): self.running = False def track_playback_started(self, tl_track): - pass - #myfont = pygame.font.SysFont("monospace", 15) - - # render text - #label = myfont.render(tl_track.track.name, 1, (255,255,0)) - #self.screen.blit(label, (100, 100)) - #pygame.display.flip() + self.screen_manager.track_started(tl_track)