diff --git a/mopidy_touchscreen/.idea/workspace.xml b/mopidy_touchscreen/.idea/workspace.xml
index a07965a..837613c 100644
--- a/mopidy_touchscreen/.idea/workspace.xml
+++ b/mopidy_touchscreen/.idea/workspace.xml
@@ -26,32 +26,38 @@
-
-
-
-
-
+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
@@ -68,11 +74,12 @@
@@ -108,6 +115,7 @@
+
@@ -128,7 +136,6 @@
-
@@ -286,11 +293,11 @@
-
+
-
+
@@ -313,13 +320,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
@@ -335,9 +372,7 @@
-
-
-
+
@@ -369,13 +404,6 @@
-
-
-
-
-
-
-
@@ -384,31 +412,42 @@
-
+
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mopidy_touchscreen/library_screen.py b/mopidy_touchscreen/library_screen.py
new file mode 100644
index 0000000..a742711
--- /dev/null
+++ b/mopidy_touchscreen/library_screen.py
@@ -0,0 +1,24 @@
+from .list_view import ListView
+
+
+class LibraryScreen():
+
+ def __init__(self, size, base_size, manager):
+ self.size = size
+ self.base_size = base_size
+ self.manager = manager
+ self.list_view = ListView((0,self.base_size),(self.size[0],self.size[1]-2*self.base_size), self.base_size, manager.fonts)
+ self.library = self.manager.core.library.browse(None).get()
+ self.library_strings = []
+ for lib in self.library:
+ self.library_strings.append(lib.name)
+ self.list_view.set_list(self.library_strings)
+
+
+ def update(self, screen):
+ self.list_view.render(screen)
+
+ def touch_event(self, touch_event):
+ clicked = self.list_view.touch_event(touch_event)
+ if clicked is not None:
+ pass
diff --git a/mopidy_touchscreen/main_screen.py b/mopidy_touchscreen/main_screen.py
index 278eb52..8510698 100644
--- a/mopidy_touchscreen/main_screen.py
+++ b/mopidy_touchscreen/main_screen.py
@@ -55,8 +55,18 @@ class MainScreen():
label = TextItem(self.fonts['base'],self.getFirstArtist(track),(x,self.base_size*4), (width,self.size[1]))
self.touch_text_manager.set_object("artist_name",label)
+ #Previous track button
+ button = TouchAndTextItem(self.fonts['icon'], u"\ue61c", (0, self.base_size * 6), None)
+ self.touch_text_manager.set_touch_object("previous", button)
+ size_1 = button.get_right_pos()
+
+ button = TouchAndTextItem(self.fonts['icon'], u"\ue61d", (0, 0), None)
+ self.touch_text_manager.set_touch_object("next", button)
+ size_2 = button.get_right_pos()
+ button.pos = (self.size[0] - size_2, self.base_size * 6)
+
#Progress
- progress = Progressbar(self.fonts['base'],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)
+ progress = Progressbar(self.fonts['base'],time.strftime('%M:%S', time.gmtime(0))+"/"+time.strftime('%M:%S', time.gmtime(0)),(size_1, self.base_size*6), (self.size[0] - size_1- size_2,self.base_size),track.length/1000, False)
self.touch_text_manager.set_touch_object("time_progress", progress)
self.track = track
@@ -114,9 +124,6 @@ class MainScreen():
current = TextItem(self.fonts['base'],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):
size = self.base_size * 4
self.image = pygame.transform.scale(pygame.image.load(self.getCoverFolder()+self.getImageFileName()).convert(),(size,size))
@@ -129,6 +136,10 @@ class MainScreen():
if key == "time_progress":
value = self.touch_text_manager.get_touch_object(key).get_pos_value(event.current_pos) * 1000
self.core.playback.seek(value)
+ elif key == "previous":
+ self.core.playback.previous()
+ elif key == "next":
+ self.core.playback.next()
elif event.type == TouchManager.swipe:
if event.direction == TouchManager.left:
self.core.playback.next()
diff --git a/mopidy_touchscreen/screen_manager.py b/mopidy_touchscreen/screen_manager.py
index 791bec9..08a90d6 100644
--- a/mopidy_touchscreen/screen_manager.py
+++ b/mopidy_touchscreen/screen_manager.py
@@ -4,6 +4,7 @@ from .screen_objects import *
from .tracklist import Tracklist
from .playlist_screen import PlaylistScreen
from .dynamic_background import DynamicBackground
+from .library_screen import LibraryScreen
import logging
import mopidy
import traceback
@@ -29,6 +30,7 @@ class ScreenManager():
try:
self.screens = [MainScreen(size, self, cache, core, self.fonts),
Tracklist(size, self.base_size, self),
+ LibraryScreen(size, self.base_size, self),
PlaylistScreen(size, self.base_size, self),
MenuScreen(size, self.base_size, self)]
except:
@@ -61,8 +63,6 @@ class ScreenManager():
self.screen_objects_manager.set_touch_object("single", button)
x = button.get_right_pos()
-
- logger.error(font)
#Mute
button = TouchAndTextItem(self.fonts['icon'], u"\ue61f ", (x, 0), None)
self.screen_objects_manager.set_touch_object("mute", button)
@@ -75,26 +75,33 @@ class ScreenManager():
#Menu buttons
+ button_size = (self.size[0]/5, self.base_size)
+
#Main button
- button = TouchAndTextItem(self.fonts['icon'], u" \ue600 ", (0, self.base_size * 7), None)
+ button = TouchAndTextItem(self.fonts['icon'], u" \ue600", (0, self.base_size * 7), button_size)
self.screen_objects_manager.set_touch_object("menu_0", button)
x = button.get_right_pos()
#Tracklist button
- button = TouchAndTextItem(self.fonts['icon'], u"\ue60d ", (x, self.base_size * 7), None)
+ button = TouchAndTextItem(self.fonts['icon'], u" \ue60d", (x, self.base_size * 7), button_size)
self.screen_objects_manager.set_touch_object("menu_1", button)
x = button.get_right_pos()
- #Playlist button
- button = TouchAndTextItem(self.fonts['icon'], u"\ue605 ", (x, self.base_size * 7), None)
+ #Library button
+ button = TouchAndTextItem(self.fonts['icon'], u" \ue604", (x, self.base_size * 7), button_size)
self.screen_objects_manager.set_touch_object("menu_2", button)
x = button.get_right_pos()
- #Menu button
- button = TouchAndTextItem(self.fonts['icon'], u" \ue60a ", (x, self.base_size * 7), None)
+ #Playlist button
+ button = TouchAndTextItem(self.fonts['icon'], u" \ue605", (x, self.base_size * 7), button_size)
self.screen_objects_manager.set_touch_object("menu_3", button)
x = button.get_right_pos()
+ #Menu button
+ button = TouchAndTextItem(self.fonts['icon'], u" \ue60a", (x, self.base_size * 7), None)
+ self.screen_objects_manager.set_touch_object("menu_4", button)
+ x = button.get_right_pos()
+
#Down bar
self.down_bar = pygame.Surface((self.size[0], self.base_size), pygame.SRCALPHA)
self.down_bar.fill((0, 0, 0, 128))
@@ -193,4 +200,4 @@ class ScreenManager():
self.screen_objects_manager.get_touch_object("menu_"+str(new_screen)).set_active(True)
def playlists_loaded(self):
- self.screens[2].playlists_loaded()
\ No newline at end of file
+ self.screens[3].playlists_loaded()
\ No newline at end of file