mirror of
https://github.com/Febbweiss/mopidy-touchscreen.git
synced 2026-03-04 22:25:39 +00:00
Code cleanup 3
This commit is contained in:
122
mopidy_touchscreen/.idea/workspace.xml
generated
122
mopidy_touchscreen/.idea/workspace.xml
generated
@@ -23,16 +23,70 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="FileEditorManager">
|
<component name="FileEditorManager">
|
||||||
<leaf>
|
<leaf>
|
||||||
<file leaf-file-name="screen_manager.py" pinned="false" current="true" current-in-tab="true">
|
<file leaf-file-name="screen_manager.py" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/screen_manager.py">
|
<entry file="file://$PROJECT_DIR$/screen_manager.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state vertical-scroll-proportion="0.33497536" vertical-offset="209" max-vertical-offset="1695">
|
<state vertical-scroll-proportion="0.0" vertical-offset="1349" max-vertical-offset="1995">
|
||||||
<caret line="31" column="16" selection-start-line="31" selection-start-column="16" selection-end-line="31" selection-end-column="16" />
|
<caret line="106" column="8" selection-start-line="106" selection-start-column="8" selection-end-line="106" selection-end-column="8" />
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
|
<file leaf-file-name="dynamic_background.py" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/dynamic_background.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="705">
|
||||||
|
<caret line="17" column="33" selection-start-line="17" selection-start-column="33" selection-end-line="17" selection-end-column="33" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#13#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="tracklist.py" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/tracklist.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="495">
|
||||||
|
<caret line="24" column="52" selection-start-line="24" selection-start-column="52" selection-end-line="24" selection-end-column="52" />
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="list_view.py" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/list_view.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state vertical-scroll-proportion="-1.5522388" vertical-offset="421" max-vertical-offset="1215">
|
||||||
|
<caret line="40" column="57" selection-start-line="40" selection-start-column="57" selection-end-line="40" selection-end-column="57" />
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="screen_objects.py" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/screen_objects.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state vertical-scroll-proportion="-34.656715" vertical-offset="963" max-vertical-offset="3405">
|
||||||
|
<caret line="221" column="37" selection-start-line="221" selection-start-column="37" selection-end-line="221" selection-end-column="37" />
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="main_screen.py" pinned="false" current="true" current-in-tab="true">
|
||||||
|
<entry file="file://$PROJECT_DIR$/main_screen.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state vertical-scroll-proportion="0.71128607" vertical-offset="1424" max-vertical-offset="2340">
|
||||||
|
<caret line="113" column="122" selection-start-line="113" selection-start-column="122" selection-end-line="113" selection-end-column="122" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#13#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
</leaf>
|
</leaf>
|
||||||
</component>
|
</component>
|
||||||
<component name="FindManager">
|
<component name="FindManager">
|
||||||
@@ -47,13 +101,13 @@
|
|||||||
<option value="$PROJECT_DIR$/touch_manager.py" />
|
<option value="$PROJECT_DIR$/touch_manager.py" />
|
||||||
<option value="$PROJECT_DIR$/touch_screen_backend.py" />
|
<option value="$PROJECT_DIR$/touch_screen_backend.py" />
|
||||||
<option value="$PROJECT_DIR$/tracklist.py" />
|
<option value="$PROJECT_DIR$/tracklist.py" />
|
||||||
<option value="$PROJECT_DIR$/main_screen.py" />
|
|
||||||
<option value="$PROJECT_DIR$/touch_screen.py" />
|
<option value="$PROJECT_DIR$/touch_screen.py" />
|
||||||
<option value="$PROJECT_DIR$/__init__.py" />
|
<option value="$PROJECT_DIR$/__init__.py" />
|
||||||
<option value="$PROJECT_DIR$/dynamic_background.py" />
|
<option value="$PROJECT_DIR$/dynamic_background.py" />
|
||||||
<option value="$PROJECT_DIR$/screen_manager.py" />
|
<option value="$PROJECT_DIR$/screen_manager.py" />
|
||||||
<option value="$PROJECT_DIR$/screen_objects.py" />
|
|
||||||
<option value="$PROJECT_DIR$/list_view.py" />
|
<option value="$PROJECT_DIR$/list_view.py" />
|
||||||
|
<option value="$PROJECT_DIR$/screen_objects.py" />
|
||||||
|
<option value="$PROJECT_DIR$/main_screen.py" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
@@ -319,7 +373,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="XDebuggerManager">
|
<component name="XDebuggerManager">
|
||||||
<breakpoint-manager>
|
<breakpoint-manager>
|
||||||
<option name="time" value="1" />
|
<option name="time" value="3" />
|
||||||
</breakpoint-manager>
|
</breakpoint-manager>
|
||||||
</component>
|
</component>
|
||||||
<component name="editorHistoryManager">
|
<component name="editorHistoryManager">
|
||||||
@@ -649,14 +703,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/main_screen.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state vertical-scroll-proportion="0.591133" vertical-offset="180" max-vertical-offset="1980">
|
|
||||||
<caret line="28" column="55" selection-start-line="28" selection-start-column="55" selection-end-line="28" selection-end-column="55" />
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/touch_screen.py">
|
<entry file="file://$PROJECT_DIR$/touch_screen.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state vertical-scroll-proportion="0.0" vertical-offset="571" max-vertical-offset="1080">
|
<state vertical-scroll-proportion="0.0" vertical-offset="571" max-vertical-offset="1080">
|
||||||
@@ -665,14 +711,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/tracklist.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state vertical-scroll-proportion="0.0" vertical-offset="76" max-vertical-offset="495">
|
|
||||||
<caret line="24" column="52" selection-start-line="24" selection-start-column="52" selection-end-line="24" selection-end-column="52" />
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/__init__.py">
|
<entry file="file://$PROJECT_DIR$/__init__.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state vertical-scroll-proportion="0.46300715" vertical-offset="76" max-vertical-offset="495">
|
<state vertical-scroll-proportion="0.46300715" vertical-offset="76" max-vertical-offset="495">
|
||||||
@@ -683,36 +721,56 @@
|
|||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/dynamic_background.py">
|
<entry file="file://$PROJECT_DIR$/dynamic_background.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state vertical-scroll-proportion="0.14319809" vertical-offset="0" max-vertical-offset="660">
|
<state vertical-scroll-proportion="0.0" vertical-offset="181" max-vertical-offset="705">
|
||||||
<caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
|
<caret line="17" column="33" selection-start-line="17" selection-start-column="33" selection-end-line="17" selection-end-column="33" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#13#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/screen_manager.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state vertical-scroll-proportion="0.0" vertical-offset="1349" max-vertical-offset="1995">
|
||||||
|
<caret line="106" column="8" selection-start-line="106" selection-start-column="8" selection-end-line="106" selection-end-column="8" />
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/screen_objects.py">
|
<entry file="file://$PROJECT_DIR$/tracklist.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state vertical-scroll-proportion="7.5179" vertical-offset="0" max-vertical-offset="3420">
|
<state vertical-scroll-proportion="0.0" vertical-offset="76" max-vertical-offset="495">
|
||||||
<caret line="212" column="0" selection-start-line="212" selection-start-column="0" selection-end-line="212" selection-end-column="0" />
|
<caret line="24" column="52" selection-start-line="24" selection-start-column="52" selection-end-line="24" selection-end-column="52" />
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/list_view.py">
|
<entry file="file://$PROJECT_DIR$/list_view.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state vertical-scroll-proportion="1.4778326" vertical-offset="0" max-vertical-offset="1215">
|
<state vertical-scroll-proportion="-1.5522388" vertical-offset="421" max-vertical-offset="1215">
|
||||||
<caret line="45" column="26" selection-start-line="45" selection-start-column="26" selection-end-line="45" selection-end-column="26" />
|
<caret line="40" column="57" selection-start-line="40" selection-start-column="57" selection-end-line="40" selection-end-column="57" />
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/screen_manager.py">
|
<entry file="file://$PROJECT_DIR$/screen_objects.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state vertical-scroll-proportion="0.33497536" vertical-offset="209" max-vertical-offset="1695">
|
<state vertical-scroll-proportion="-34.656715" vertical-offset="963" max-vertical-offset="3405">
|
||||||
<caret line="31" column="16" selection-start-line="31" selection-start-column="16" selection-end-line="31" selection-end-column="16" />
|
<caret line="221" column="37" selection-start-line="221" selection-start-column="37" selection-end-line="221" selection-end-column="37" />
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/main_screen.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state vertical-scroll-proportion="0.71128607" vertical-offset="1424" max-vertical-offset="2340">
|
||||||
|
<caret line="113" column="122" selection-start-line="113" selection-start-column="122" selection-end-line="113" selection-end-column="122" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#13#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
import random
|
import random
|
||||||
|
import logging
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class DynamicBackground():
|
class DynamicBackground():
|
||||||
@@ -34,5 +37,5 @@ def get_valid_color():
|
|||||||
extra = total - 510
|
extra = total - 510
|
||||||
if extra > 0:
|
if extra > 0:
|
||||||
i = random.randint(0, 2)
|
i = random.randint(0, 2)
|
||||||
color[i] -= - extra
|
color[i] -= extra
|
||||||
return color
|
return color
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ class ListView():
|
|||||||
def load_new_item_position(self, item_pos):
|
def load_new_item_position(self, item_pos):
|
||||||
self.current_item = item_pos
|
self.current_item = item_pos
|
||||||
if self.scrollbar:
|
if self.scrollbar:
|
||||||
self.screen_objects.clear_touch("scrollbar")
|
self.screen_objects.clear_touch(["scrollbar"])
|
||||||
else:
|
else:
|
||||||
self.screen_objects.clear_touch(None)
|
self.screen_objects.clear_touch(None)
|
||||||
i = self.current_item
|
i = self.current_item
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import urllib2
|
|||||||
import json
|
import json
|
||||||
from mopidy.audio import PlaybackState
|
from mopidy.audio import PlaybackState
|
||||||
from .touch_manager import TouchManager
|
from .touch_manager import TouchManager
|
||||||
from .screen_objects import ScreenObjectsManager
|
from .screen_objects import *
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@@ -41,10 +41,24 @@ class MainScreen():
|
|||||||
def track_started(self, track):
|
def track_started(self, track):
|
||||||
self.image = None
|
self.image = None
|
||||||
x = self.base_size * 5
|
x = self.base_size * 5
|
||||||
self.touch_text_manager.set_object("track_name",self.fonts['dejavusans'],track.name,(x,self.base_size*2), (self.size[0]-self.base_size,self.size[1]), (255, 255, 255))
|
width = self.size[0]-self.base_size / 2-x
|
||||||
self.touch_text_manager.set_object("album_name",self.fonts['dejavusans'],track.album.name,(x,self.base_size*3), (self.size[0]-self.base_size,self.size[1]), (255, 255, 255))
|
|
||||||
self.touch_text_manager.set_object("artist_name",self.fonts['dejavusans'],self.getFirstArtist(track),(x,self.base_size*4), (self.size[0]-self.base_size,self.size[1]), (255, 255, 255))
|
#Track name
|
||||||
self.touch_text_manager.add_progressbar("time_progress", self.fonts['dejavusans'],time.strftime('%M:%S', time.gmtime(0))+"/"+time.strftime('%M:%S', time.gmtime(0)),(0,self.base_size*6), (self.size[0],self.base_size*7),track.length/1000, False)
|
label = TextItem(self.fonts['dejavusans'],track.name,(x,self.base_size*2), (width,self.size[1]))
|
||||||
|
self.touch_text_manager.set_object("track_name", label)
|
||||||
|
|
||||||
|
#Album name
|
||||||
|
label = TextItem(self.fonts['dejavusans'],track.album.name,(x,self.base_size*3), (width,self.size[1]))
|
||||||
|
self.touch_text_manager.set_object("album_name",label)
|
||||||
|
|
||||||
|
#Artist
|
||||||
|
label = TextItem(self.fonts['dejavusans'],self.getFirstArtist(track),(x,self.base_size*4), (width,self.size[1]))
|
||||||
|
self.touch_text_manager.set_object("artist_name",label)
|
||||||
|
|
||||||
|
#Progress
|
||||||
|
progress = Progressbar(self.fonts['dejavusans'],time.strftime('%M:%S', time.gmtime(0))+"/"+time.strftime('%M:%S', time.gmtime(0)),(0,self.base_size*6), (self.size[0],self.base_size),track.length/1000, False)
|
||||||
|
self.touch_text_manager.set_touch_object("time_progress", progress)
|
||||||
|
|
||||||
self.track = track
|
self.track = track
|
||||||
if not self.is_image_in_cache():
|
if not self.is_image_in_cache():
|
||||||
thread = Thread(target=self.downloadImage())
|
thread = Thread(target=self.downloadImage())
|
||||||
@@ -89,9 +103,19 @@ class MainScreen():
|
|||||||
except:
|
except:
|
||||||
logger.warning("Cover could not be downloaded")
|
logger.warning("Cover could not be downloaded")
|
||||||
logger.error(self.track.name)
|
logger.error(self.track.name)
|
||||||
self.touch_text_manager.set_object("track_name",self.fonts['dejavusans'],self.track.name,(self.base_size,self.base_size*2), (self.size[0]-self.base_size,self.size[1]), (255, 255, 255))
|
width = self.size[0] -self.base_size
|
||||||
self.touch_text_manager.set_object("album_name",self.fonts['dejavusans'],self.track.album.name,(self.base_size,self.base_size*3), (self.size[0]-self.base_size,self.size[1]), (255, 255, 255))
|
|
||||||
self.touch_text_manager.set_object("artist_name",self.fonts['dejavusans'],self.getFirstArtist(self.track),(self.base_size,self.base_size*4), (self.size[0]-self.base_size,self.size[1]), (255, 255, 255))
|
current = TextItem(self.fonts['dejavusans'],self.track.name,(self.base_size/2,self.base_size*2),(width, self.base_size))
|
||||||
|
self.touch_text_manager.set_object("track_name", current)
|
||||||
|
|
||||||
|
current = TextItem(self.fonts['dejavusans'],self.track.album.name,(self.base_size/2,self.base_size*3),(width, self.base_size))
|
||||||
|
self.touch_text_manager.set_object("album_name", current)
|
||||||
|
|
||||||
|
current = TextItem(self.fonts['dejavusans'],self.getFirstArtist(self.track),(self.base_size/2,self.base_size*4),(width, self.base_size))
|
||||||
|
self.touch_text_manager.set_object("artist_name", current)
|
||||||
|
|
||||||
|
#self.touch_text_manager.set_object("album_name",), (self.size[0]-self.base_size,self.size[1]), (255, 255, 255))
|
||||||
|
#self.touch_text_manager.set_object("artist_name",self.fonts['dejavusans'],self.getFirstArtist(self.track),(self.base_size,self.base_size*4), (self.size[0]-self.base_size,self.size[1]), (255, 255, 255))
|
||||||
|
|
||||||
def loadImage(self):
|
def loadImage(self):
|
||||||
size = self.base_size * 4
|
size = self.base_size * 4
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ class ScreenManager():
|
|||||||
self.backend = backend
|
self.backend = backend
|
||||||
self.fonts = {}
|
self.fonts = {}
|
||||||
self.background = DynamicBackground()
|
self.background = DynamicBackground()
|
||||||
self.current_screen = 1
|
self.current_screen = 0
|
||||||
self.base_size = self.size[1] / 8
|
self.base_size = self.size[1] / 8
|
||||||
self.fonts['dejavuserif'] = pygame.font.SysFont("dejavuserif", self.base_size)
|
self.fonts['dejavuserif'] = pygame.font.SysFont("dejavuserif", self.base_size)
|
||||||
self.fonts['dejavusans'] = pygame.font.SysFont("dejavusans", self.base_size)
|
self.fonts['dejavusans'] = pygame.font.SysFont("dejavusans", self.base_size)
|
||||||
@@ -30,33 +30,49 @@ class ScreenManager():
|
|||||||
self.track = None
|
self.track = None
|
||||||
self.touch_manager = TouchManager(size)
|
self.touch_manager = TouchManager(size)
|
||||||
self.screen_objects_manager = ScreenObjectsManager()
|
self.screen_objects_manager = ScreenObjectsManager()
|
||||||
button = TouchAndTextItem(self.fonts['dejavusans']," ll",(0, 0), None)
|
|
||||||
self.screen_objects_manager.set_touch_object("pause_play", button)
|
|
||||||
x = button.get_right_pos() + self.base_size / 2
|
|
||||||
button = TouchAndTextItem(self.fonts['dejavuserif'],u"\u2928",(x,0),None)
|
|
||||||
self.screen_objects_manager.set_touch_object("random",button)
|
|
||||||
x = button.get_right_pos()
|
|
||||||
button = TouchAndTextItem(self.fonts['dejavuserif'],u"\u27F21",(x,0),None)
|
|
||||||
self.screen_objects_manager.set_touch_object("repeat",button)
|
|
||||||
x = button.get_right_pos() + self.base_size / 2
|
|
||||||
button = TouchAndTextItem(self.fonts['dejavusans'],"Mute",(x,0),None)
|
|
||||||
self.screen_objects_manager.set_touch_object("mute",button)
|
|
||||||
x = button.get_right_pos() + self.base_size / 2
|
|
||||||
'''
|
|
||||||
|
|
||||||
x = x + self.base_size / 2
|
#Top bar
|
||||||
x = self.screen_objects_manager.add_touch_object("mute",self.fonts['dejavusans'],"Mute",(x,0),None,(255,255,255))
|
|
||||||
x = x + self.base_size / 2
|
|
||||||
self.screen_objects_manager.add_progressbar("volume",self.fonts['dejavusans'],"100", (x,0), (self.size[0],self.base_size),100, True)
|
|
||||||
self.screen_objects_manager.get_touch_object("volume").set_value(self.core.playback.volume.get())
|
|
||||||
|
|
||||||
self.playback_state_changed(mopidy.core.PlaybackState.STOPPED, self.core.playback.state.get())
|
|
||||||
|
|
||||||
x = self.screen_objects_manager.add_touch_object("menu_main",self.fonts['dejavusans'],"Main",(0,self.base_size*7),None,(255,255,255))
|
|
||||||
'''
|
|
||||||
self.top_bar = pygame.Surface((self.size[0], self.base_size),pygame.SRCALPHA)
|
self.top_bar = pygame.Surface((self.size[0], self.base_size),pygame.SRCALPHA)
|
||||||
self.top_bar.fill((0, 0, 0, 128))
|
self.top_bar.fill((0, 0, 0, 128))
|
||||||
|
|
||||||
|
#Play/pause
|
||||||
|
button = TouchAndTextItem(self.fonts['dejavusans']," ll",(0, 0), None)
|
||||||
|
self.screen_objects_manager.set_touch_object("pause_play", button)
|
||||||
|
x = button.get_right_pos()
|
||||||
|
|
||||||
|
#Random
|
||||||
|
button = TouchAndTextItem(self.fonts['dejavuserif'],u"\u2928",(x,0),None)
|
||||||
|
self.screen_objects_manager.set_touch_object("random",button)
|
||||||
|
x = button.get_right_pos()
|
||||||
|
|
||||||
|
#Repeat
|
||||||
|
button = TouchAndTextItem(self.fonts['dejavuserif'],u"\u27F21",(x,0),None)
|
||||||
|
self.screen_objects_manager.set_touch_object("repeat",button)
|
||||||
|
x = button.get_right_pos()
|
||||||
|
|
||||||
|
#Mute
|
||||||
|
button = TouchAndTextItem(self.fonts['dejavusans'],"Mute",(x,0),None)
|
||||||
|
self.screen_objects_manager.set_touch_object("mute",button)
|
||||||
|
x = button.get_right_pos()
|
||||||
|
|
||||||
|
#Volume
|
||||||
|
progress = Progressbar(self.fonts['dejavusans'], "100", (x, 0), (self.size[0]-x, self.base_size), 100, True)
|
||||||
|
self.screen_objects_manager.set_touch_object("volume", progress)
|
||||||
|
progress.set_value(self.core.playback.volume.get())
|
||||||
|
self.playback_state_changed(mopidy.core.PlaybackState.STOPPED, self.core.playback.state.get())
|
||||||
|
|
||||||
|
#Menu buttons
|
||||||
|
|
||||||
|
#Main button
|
||||||
|
button = TouchAndTextItem(self.fonts['dejavusans'],"Main",(0,self.base_size*7),None)
|
||||||
|
self.screen_objects_manager.set_touch_object("menu_main", button)
|
||||||
|
x = button.get_right_pos()
|
||||||
|
|
||||||
|
#Tracklist button
|
||||||
|
button = TouchAndTextItem(self.fonts['dejavusans'],"Tracklist",(x,self.base_size*7),None)
|
||||||
|
self.screen_objects_manager.set_touch_object("menu_tracklist", button)
|
||||||
|
|
||||||
|
#Down bar
|
||||||
self.down_bar = pygame.Surface((self.size[0], self.base_size),pygame.SRCALPHA)
|
self.down_bar = pygame.Surface((self.size[0], self.base_size),pygame.SRCALPHA)
|
||||||
self.down_bar.fill((0, 0, 0, 128))
|
self.down_bar.fill((0, 0, 0, 128))
|
||||||
|
|
||||||
@@ -98,6 +114,10 @@ class ScreenManager():
|
|||||||
logger.error(self.core.tracklist.random)
|
logger.error(self.core.tracklist.random)
|
||||||
self.core.tracklist.random = not self.core.tracklist.random
|
self.core.tracklist.random = not self.core.tracklist.random
|
||||||
#self.backend.tell({'action':'random','value':random})
|
#self.backend.tell({'action':'random','value':random})
|
||||||
|
elif key == "menu_main":
|
||||||
|
self.current_screen = 0
|
||||||
|
elif key == "menu_tracklist":
|
||||||
|
self.current_screen = 1
|
||||||
self.screens[self.current_screen].touch_event(touch_event)
|
self.screens[self.current_screen].touch_event(touch_event)
|
||||||
|
|
||||||
def volume_changed(self, volume):
|
def volume_changed(self, volume):
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ class ScreenObjectsManager():
|
|||||||
for key in not_remove:
|
for key in not_remove:
|
||||||
new_touch[key] = self.get_touch_object(key)
|
new_touch[key] = self.get_touch_object(key)
|
||||||
self.touch_objects = new_touch
|
self.touch_objects = new_touch
|
||||||
|
else:
|
||||||
self.touch_objects = {}
|
self.touch_objects = {}
|
||||||
|
|
||||||
|
|
||||||
@@ -72,7 +73,7 @@ class TextItem(BaseItem):
|
|||||||
if size is not None:
|
if size is not None:
|
||||||
BaseItem.__init__(self, pos, size)
|
BaseItem.__init__(self, pos, size)
|
||||||
else:
|
else:
|
||||||
BaseItem.__init__(self, pos, self.box.get_rect().size)
|
BaseItem.__init__(self, pos, self.font.size(text))
|
||||||
if size is not None:
|
if size is not None:
|
||||||
if self.pos[0] + self.box.get_rect().width > pos[0] + size[0]:
|
if self.pos[0] + self.box.get_rect().width > pos[0] + size[0]:
|
||||||
self.fit_horizontal = False
|
self.fit_horizontal = False
|
||||||
@@ -86,7 +87,6 @@ class TextItem(BaseItem):
|
|||||||
else:
|
else:
|
||||||
self.fit_vertical = True
|
self.fit_vertical = True
|
||||||
else:
|
else:
|
||||||
BaseItem.__init__(self, pos, (pos[0] + self.box.get_rect().width, pos[1] + self.box.get_rect().height))
|
|
||||||
self.fit_horizontal = True
|
self.fit_horizontal = True
|
||||||
self.fit_vertical = True
|
self.fit_vertical = True
|
||||||
|
|
||||||
@@ -220,6 +220,5 @@ class ScrollBar(TouchObject):
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
def set_item(self, current_item):
|
def set_item(self, current_item):
|
||||||
logger.error(current_item)
|
|
||||||
self.current_item = current_item
|
self.current_item = current_item
|
||||||
self.bar_pos = float(self.current_item)/float(self.max) * float(self.size[1])
|
self.bar_pos = float(self.current_item)/float(self.max) * float(self.size[1])
|
||||||
Reference in New Issue
Block a user