diff --git a/mopidy_touchscreen/dynamic_background.py b/mopidy_touchscreen/dynamic_background.py index e71d8e6..253246a 100644 --- a/mopidy_touchscreen/dynamic_background.py +++ b/mopidy_touchscreen/dynamic_background.py @@ -1,5 +1,7 @@ import random +change_speed = 2 + class DynamicBackground(): def __init__(self): @@ -9,12 +11,15 @@ class DynamicBackground(): def draw_background(self, surface): same = True for x in range(0, 3): - if self.current[x] > self.target[x]: - self.current[x] -= 1 - elif self.current[x] < self.target[x]: - self.current[x] += 1 - if self.current != self.target: - same = False + if abs(self.current[x]-self.target[x]) < change_speed: + self.current[x] = self.target[x] + else: + if self.current[x] > self.target[x]: + self.current[x] -= change_speed + elif self.current[x] < self.target[x]: + self.current[x] += change_speed + if self.current != self.target: + same = False #if same: # self.target = get_valid_color() surface.fill(self.current) diff --git a/mopidy_touchscreen/screen_objects.py b/mopidy_touchscreen/screen_objects.py index 02ee4dd..5e2cfd3 100644 --- a/mopidy_touchscreen/screen_objects.py +++ b/mopidy_touchscreen/screen_objects.py @@ -214,6 +214,9 @@ class BaseItem(): class TextItem(BaseItem): + + scroll_speed = 2 + def __init__(self, font, text, pos, size, center=False): self.font = font self.text = text @@ -253,7 +256,7 @@ class TextItem(BaseItem): if self.step > self.box.get_rect().width: self.step = -self.size[0] else: - self.step = self.step + 1 + self.step = self.step + TextItem.scroll_speed return True else: return BaseItem.update(self) diff --git a/mopidy_touchscreen/touch_screen.py b/mopidy_touchscreen/touch_screen.py index 27eda2f..6e585b6 100644 --- a/mopidy_touchscreen/touch_screen.py +++ b/mopidy_touchscreen/touch_screen.py @@ -62,7 +62,7 @@ class TouchScreen(pykka.ThreadingActor, core.CoreListener): def start_thread(self): clock = pygame.time.Clock() while self.running: - clock.tick(8) + clock.tick(10) self.screen.blit(self.screen_manager.update(), (0, 0)) pygame.display.flip() for event in pygame.event.get():