diff --git a/README.rst b/README.rst index d5dc496..2410e3b 100644 --- a/README.rst +++ b/README.rst @@ -67,6 +67,7 @@ The following configuration values are available: - ``touchscreen/screen_width``: The folder to be used as cache. Defaults to ``$XDG_CACHE_DIR/mopidy/touchscreen``, which usually means ``~/.cache/mopidy/spotify`` + Features ============= diff --git a/mopidy_touchscreen/__init__.py b/mopidy_touchscreen/__init__.py index 62f493b..776cd74 100644 --- a/mopidy_touchscreen/__init__.py +++ b/mopidy_touchscreen/__init__.py @@ -39,6 +39,8 @@ class Extension(ext.Extension): schema['sdl_fbdev'] = config.String() schema['sdl_mousdrv'] = config.String() schema['sdl_mousedev'] = config.String() + schema['sdl_audiodriver'] = config.String() + schema['sdl_path_dsp'] = config.String() return schema def setup(self, registry): diff --git a/mopidy_touchscreen/ext.conf b/mopidy_touchscreen/ext.conf index dd9afd8..f02c0f1 100644 --- a/mopidy_touchscreen/ext.conf +++ b/mopidy_touchscreen/ext.conf @@ -14,3 +14,5 @@ gpio_enter = 24 sdl_fbdev = /dev/fb1 sdl_mousdrv = TSLIB sdl_mousedev = event0 +sdl_audiodriver = disk +sdl_path_dsp = /dev/null diff --git a/mopidy_touchscreen/search_screen.py b/mopidy_touchscreen/search_screen.py index 6e863ef..c733697 100644 --- a/mopidy_touchscreen/search_screen.py +++ b/mopidy_touchscreen/search_screen.py @@ -6,6 +6,7 @@ import pygame from .screen_objects import Progressbar, ScreenObjectsManager, \ TouchAndTextItem, TextItem from .base_screen import BaseScreen +from .input_manager import InputManager logger = logging.getLogger(__name__) @@ -111,19 +112,22 @@ class SearchScreen(BaseScreen): def touch_event(self, touch_event): - clicked = self.list_view.touch_event(touch_event) - if clicked is not None: - self.manager.core.tracklist.clear() - self.manager.core.tracklist.add( - uri=self.results[clicked].uri) - self.manager.core.playback.play() + if touch_event.type == InputManager.click: + clicked = self.list_view.touch_event(touch_event) + if clicked is not None: + self.manager.core.tracklist.clear() + self.manager.core.tracklist.add( + uri=self.results[clicked].uri) + self.manager.core.playback.play() + else: + clicked = self.screen_objects.get_touch_objects_in_pos(touch_event.down_pos) + if len(clicked) > 0: + clicked = clicked[0] + if clicked == self.mode_objects_keys[0]: + self.search(mode=0) + if clicked == self.mode_objects_keys[1]: + self.search(mode=1) + if clicked == self.mode_objects_keys[2]: + self.search(mode=2) else: - clicked = self.screen_objects.get_touch_objects_in_pos(touch_event.down_pos) - if len(clicked) > 0: - clicked = clicked[0] - if clicked == self.mode_objects_keys[0]: - self.search(mode=0) - if clicked == self.mode_objects_keys[1]: - self.search(mode=1) - if clicked == self.mode_objects_keys[2]: - self.search(mode=2) + self.list_view.touch_event(touch_event) \ No newline at end of file diff --git a/mopidy_touchscreen/touch_screen.py b/mopidy_touchscreen/touch_screen.py index 3b281d9..581baf0 100644 --- a/mopidy_touchscreen/touch_screen.py +++ b/mopidy_touchscreen/touch_screen.py @@ -28,6 +28,8 @@ class TouchScreen(pykka.ThreadingActor, core.CoreListener): 'sdl_mousdrv'] os.environ["SDL_MOUSEDEV"] = config['touchscreen'][ 'sdl_mousedev'] + os.environ["SDL_AUDIODRIVER"] = config['touchscreen']['sdl_audiodriver'] + os.environ["SDL_PATH_DSP"] = config['touchscreen']['sdl_path_dsp'] pygame.init() pygame.display.set_caption("Mopidy-Touchscreen") if self.fullscreen: