mirror of
https://github.com/Febbweiss/mopidy-touchscreen.git
synced 2026-03-04 22:25:39 +00:00
Check if display is created correctly
Fixed click on time bar
This commit is contained in:
@@ -92,12 +92,13 @@ class MainScreen(BaseScreen):
|
||||
def update(self, screen):
|
||||
screen.blit(self.top_bar, (0, 0))
|
||||
if self.track is not None:
|
||||
new_track_pos = self.core.playback.time_position.get() / 1000
|
||||
track_pos_millis = self.core.playback.time_position.get()
|
||||
new_track_pos = track_pos_millis / 1000
|
||||
self.touch_text_manager.get_touch_object(
|
||||
"time_progress").set_value(
|
||||
track_pos_millis)
|
||||
if new_track_pos != self.current_track_pos:
|
||||
self.current_track_pos = new_track_pos
|
||||
self.touch_text_manager.get_touch_object(
|
||||
"time_progress").set_value(
|
||||
self.current_track_pos)
|
||||
self.touch_text_manager.get_touch_object(
|
||||
"time_progress").set_text(
|
||||
time.strftime('%M:%S', time.gmtime(
|
||||
@@ -165,7 +166,7 @@ class MainScreen(BaseScreen):
|
||||
(
|
||||
self.size[0] - size_1 - size_2,
|
||||
self.base_size),
|
||||
track.length / 1000, False)
|
||||
track.length, False)
|
||||
self.touch_text_manager.set_touch_object("time_progress",
|
||||
progress)
|
||||
|
||||
@@ -341,7 +342,7 @@ class MainScreen(BaseScreen):
|
||||
if key == "time_progress":
|
||||
value = self.touch_text_manager.get_touch_object(
|
||||
key).get_pos_value(
|
||||
event.current_pos) * 1000
|
||||
event.current_pos)
|
||||
self.core.playback.seek(value)
|
||||
|
||||
elif key == "previous":
|
||||
|
||||
@@ -3,7 +3,7 @@ import os
|
||||
import traceback
|
||||
from threading import Thread
|
||||
|
||||
from mopidy import core, utils
|
||||
from mopidy import core, exceptions, utils
|
||||
|
||||
import pygame
|
||||
|
||||
@@ -63,16 +63,19 @@ class TouchScreen(pykka.ThreadingActor, core.CoreListener):
|
||||
self.gpio_manager = GPIOManager(pins)
|
||||
|
||||
def get_display_surface(self, size):
|
||||
if self.fullscreen:
|
||||
self.screen = pygame.display.set_mode(
|
||||
size, pygame.FULLSCREEN)
|
||||
else:
|
||||
self.screen = pygame.display.set_mode(size, pygame.RESIZABLE)
|
||||
try:
|
||||
if self.fullscreen:
|
||||
self.screen = pygame.display.set_mode(
|
||||
size, pygame.FULLSCREEN)
|
||||
else:
|
||||
self.screen = pygame.display.set_mode(size, pygame.RESIZABLE)
|
||||
except Exception:
|
||||
raise exceptions.FrontendError("Error on display init:\n" + traceback.format_exc())
|
||||
|
||||
def start_thread(self):
|
||||
clock = pygame.time.Clock()
|
||||
while self.running:
|
||||
clock.tick(10)
|
||||
clock.tick(20)
|
||||
self.screen.blit(self.screen_manager.update(), (0, 0))
|
||||
pygame.display.flip()
|
||||
for event in pygame.event.get():
|
||||
|
||||
Reference in New Issue
Block a user