瀏覽代碼

Very simple version

Ander 11 年之前
父節點
當前提交
eb824cc901
共有 2 個文件被更改,包括 36 次插入18 次删除
  1. 27 2
      mopidy_touchscreen/main_screen.py
  2. 9 16
      mopidy_touchscreen/touch_screen.py

+ 27 - 2
mopidy_touchscreen/main_screen.py

@@ -1,7 +1,32 @@
 import pygame
 import pygame
+import logging
+from mopidy.audio import PlaybackState
+from .dynamic_background import DynamicBackground
 
 
 
 
+logger = logging.getLogger(__name__)
+
 class MainScreen():
 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
+
+
+	

+ 9 - 16
mopidy_touchscreen/touch_screen.py

@@ -3,7 +3,7 @@ import pykka
 import logging
 import logging
 from threading import Thread
 from threading import Thread
 import pygame
 import pygame
-from .main_screen import MainScreen
+from .screen_manager import ScreenManager
 
 
 from mopidy import core
 from mopidy import core
 
 
@@ -14,38 +14,31 @@ class TouchScreen(pykka.ThreadingActor, core.CoreListener):
     def __init__(self, config, core):
     def __init__(self, config, core):
 	super(TouchScreen, self).__init__()
 	super(TouchScreen, self).__init__()
         self.core = core
         self.core = core
+	self.screen_size=(320, 240)
 
 
     def start_thread(self):
     def start_thread(self):
+	self.screen_manager = ScreenManager(self.screen_size)
 	pygame.init()
 	pygame.init()
 	clock = pygame.time.Clock()
 	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:
 	while self.running:
 		clock.tick(60)
 		clock.tick(60)
-		main_screen.update(screen)
+		screen.blit(self.screen_manager.update(self.core),(0,0))
 		pygame.display.flip()
 		pygame.display.flip()
-	logger.error("bukatzen")
 	pygame.quit()
 	pygame.quit()
-	logger.error("bukatu dot")
 	
 	
 	
 	
 
 
     def on_start(self):
     def on_start(self):
 	self.running=True
 	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):
     def on_stop(self):
 	self.running = False
 	self.running = False
 	
 	
 	
 	
 
 
     def track_playback_started(self, tl_track):
     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)