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):
|
def update(self, screen):
|
||||||
screen.blit(self.top_bar, (0, 0))
|
screen.blit(self.top_bar, (0, 0))
|
||||||
if self.track is not None:
|
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()
|
||||||
if new_track_pos != self.current_track_pos:
|
new_track_pos = track_pos_millis / 1000
|
||||||
self.current_track_pos = new_track_pos
|
|
||||||
self.touch_text_manager.get_touch_object(
|
self.touch_text_manager.get_touch_object(
|
||||||
"time_progress").set_value(
|
"time_progress").set_value(
|
||||||
self.current_track_pos)
|
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(
|
self.touch_text_manager.get_touch_object(
|
||||||
"time_progress").set_text(
|
"time_progress").set_text(
|
||||||
time.strftime('%M:%S', time.gmtime(
|
time.strftime('%M:%S', time.gmtime(
|
||||||
@@ -165,7 +166,7 @@ class MainScreen(BaseScreen):
|
|||||||
(
|
(
|
||||||
self.size[0] - size_1 - size_2,
|
self.size[0] - size_1 - size_2,
|
||||||
self.base_size),
|
self.base_size),
|
||||||
track.length / 1000, False)
|
track.length, False)
|
||||||
self.touch_text_manager.set_touch_object("time_progress",
|
self.touch_text_manager.set_touch_object("time_progress",
|
||||||
progress)
|
progress)
|
||||||
|
|
||||||
@@ -341,7 +342,7 @@ class MainScreen(BaseScreen):
|
|||||||
if key == "time_progress":
|
if key == "time_progress":
|
||||||
value = self.touch_text_manager.get_touch_object(
|
value = self.touch_text_manager.get_touch_object(
|
||||||
key).get_pos_value(
|
key).get_pos_value(
|
||||||
event.current_pos) * 1000
|
event.current_pos)
|
||||||
self.core.playback.seek(value)
|
self.core.playback.seek(value)
|
||||||
|
|
||||||
elif key == "previous":
|
elif key == "previous":
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import os
|
|||||||
import traceback
|
import traceback
|
||||||
from threading import Thread
|
from threading import Thread
|
||||||
|
|
||||||
from mopidy import core, utils
|
from mopidy import core, exceptions, utils
|
||||||
|
|
||||||
import pygame
|
import pygame
|
||||||
|
|
||||||
@@ -63,16 +63,19 @@ class TouchScreen(pykka.ThreadingActor, core.CoreListener):
|
|||||||
self.gpio_manager = GPIOManager(pins)
|
self.gpio_manager = GPIOManager(pins)
|
||||||
|
|
||||||
def get_display_surface(self, size):
|
def get_display_surface(self, size):
|
||||||
|
try:
|
||||||
if self.fullscreen:
|
if self.fullscreen:
|
||||||
self.screen = pygame.display.set_mode(
|
self.screen = pygame.display.set_mode(
|
||||||
size, pygame.FULLSCREEN)
|
size, pygame.FULLSCREEN)
|
||||||
else:
|
else:
|
||||||
self.screen = pygame.display.set_mode(size, pygame.RESIZABLE)
|
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):
|
def start_thread(self):
|
||||||
clock = pygame.time.Clock()
|
clock = pygame.time.Clock()
|
||||||
while self.running:
|
while self.running:
|
||||||
clock.tick(10)
|
clock.tick(20)
|
||||||
self.screen.blit(self.screen_manager.update(), (0, 0))
|
self.screen.blit(self.screen_manager.update(), (0, 0))
|
||||||
pygame.display.flip()
|
pygame.display.flip()
|
||||||
for event in pygame.event.get():
|
for event in pygame.event.get():
|
||||||
|
|||||||
Reference in New Issue
Block a user