diff --git a/modules/music_player/music_objects/song.py b/modules/music_player/music_objects/song.py
index eaa465b..3513a20 100644
--- a/modules/music_player/music_objects/song.py
+++ b/modules/music_player/music_objects/song.py
@@ -53,7 +53,7 @@ class song:
return None
tag = eyeD3.Tag()
- filename = self.base_dir + "/" + self.filename
+ filename = self.base_dir + "/" + self.directory + "/" + self.filename
#print filename
#Make sure the file exists and we can read it
diff --git a/modules/music_player/music_player.py b/modules/music_player/music_player.py
index 76e93ef..73174e9 100644
--- a/modules/music_player/music_player.py
+++ b/modules/music_player/music_player.py
@@ -166,8 +166,10 @@ class Module:
pixbuf = albums[0].get_image()
if not pixbuf is None:
self.main_img.set_pixbuf(pixbuf)
+ self.main_img.show()
else:
self.main_img.set_pixbuf(None)
+ self.main_img.hide()
clutter.threads_leave()
def begin(self, glossMgr):
@@ -224,11 +226,13 @@ class Module:
#Just a nasty temp label for outputting stuff
self.list1 = LabelList(5)
- self.list1.set_position(self.stage.get_width()/3, 350)
+ self.list1.setup_from_theme_id(self.glossMgr.themeMgr, "music_albums")
+ #self.list1.set_position(self.stage.get_width()/3, 350)
self.stage.add(self.list1)
self.list2 = LabelList(5)
- self.list2.set_position( (600), 350)
+ self.list2.setup_from_theme_id(self.glossMgr.themeMgr, "music_songs")
+ #self.list2.set_position( (600), 350)
self.stage.add(self.list2)
#The preview img
diff --git a/themes/Pear/music.xml b/themes/Pear/music.xml
index a94a9ff..fca4646 100644
--- a/themes/Pear/music.xml
+++ b/themes/Pear/music.xml
@@ -10,6 +10,76 @@
0
+
+
+
+ Tahoma
+ 30
+ 38
+ 30
+ 25
+
+
+
+ 40%
+ 40%
+
+
+ 40%
+ 50%
+
+
+ 0
+ 4
+
+
+ 255
+ 135
+ 135
+ 0.9
+ 0.8
+ 0.8
+
+ 30
+ 10
+
+
+
+
+
+ Tahoma
+ 30
+ 38
+ 30
+ 25
+
+
+
+ 40%
+ 40%
+
+
+ 70%
+ 50%
+
+
+ 0
+ 8
+
+
+ 255
+ 135
+ 135
+ 0.9
+ 0.8
+ 0.8
+
+ 30
+ 10
+
+
music/default_cover.png
diff --git a/ui_elements/image_frame.py b/ui_elements/image_frame.py
index cd6f5d1..3993c17 100644
--- a/ui_elements/image_frame.py
+++ b/ui_elements/image_frame.py
@@ -87,9 +87,11 @@ class ImageFrame(clutter.Group):
#For the most part the Reflection texture automatically takes car of pixbuf changes
#So we only need to set the flection the first time arouns (ie self.reflection is None)
if self.use_reflection:
- if self.reflection is None:
- self.reflection = Texture_Reflection(self.main_pic)
- self.add(self.reflection)
- self.reflection.show()
+ if not self.reflection is None:
+ self.remove(self.reflection)
+ self.reflection = None
+ self.reflection = Texture_Reflection(self.main_pic)
+ self.add(self.reflection)
+ self.reflection.show()
else:
self.reflection = None
\ No newline at end of file
diff --git a/ui_elements/label_list.py b/ui_elements/label_list.py
index 54bfc71..ef244c0 100644
--- a/ui_elements/label_list.py
+++ b/ui_elements/label_list.py
@@ -28,6 +28,33 @@ class LabelList(clutter.Group):
#Selector bar image, moves with selections to show current item
self.selector_bar = None
+
+ def setup_from_theme_id(self, themeMgr, id):
+ element = themeMgr.search_docs("label_list", id).childNodes
+ #Quick check to make sure we found something
+ if element is None:
+ return None
+
+ self.item_gap = int(themeMgr.find_child_value(element, "item_gap"))
+ self.displayMax = int(themeMgr.find_child_value(element, "num_visible_elements"))
+
+ #Grab the font
+ font_node = themeMgr.get_subnode(element, "font")
+ fontString = themeMgr.get_font("main", font_node)
+ self.font = fontString
+
+ #Set the selection effect steps
+ self.zoomStep0 = float(themeMgr.find_child_value(element, "scale_step0"))
+ self.zoomStep1 = float(themeMgr.find_child_value(element, "scale_step1"))
+ self.zoomStep2 = float(themeMgr.find_child_value(element, "scale_step2"))
+ self.opacityStep0 = int(themeMgr.find_child_value(element, "opacity_step0"))
+ self.opacityStep1 = int(themeMgr.find_child_value(element, "opacity_step1"))
+ self.opacityStep2 = int(themeMgr.find_child_value(element, "opacity_step2"))
+
+ self.fps = int(themeMgr.find_child_value(element, "transition_fps"))
+ self.frames = int(themeMgr.find_child_value(element, "transition_frames"))
+
+ themeMgr.setup_actor(self, element, themeMgr.stage)
def on_key_press_event (self, event):
self.input_queue.input(event)
@@ -222,6 +249,7 @@ class ListItem(clutter.Group):
def __init__ (self, font, label_left = "", label_right = ""):
clutter.Group.__init__ (self) #, menu, itemLabel, y)
+ self.set_anchor_point_from_gravity(clutter.GRAVITY_CENTER)
self.label_left = clutter.Label()
self.label_right = clutter.Label()
@@ -280,7 +308,6 @@ class ListItem(clutter.Group):
alpha = clutter.Alpha(timeline, clutter.ramp_inc_func)
self.behaviourScale = clutter.BehaviourScale(x_scale_start=self.currentZoom, y_scale_start=self.currentZoom, x_scale_end=zoomTo, y_scale_end=zoomTo, alpha=alpha) #scale_gravity=clutter.GRAVITY_WEST,
- self.set_anchor_point_from_gravity(clutter.GRAVITY_WEST)
self.behaviourOpacity = clutter.BehaviourOpacity(opacity_start=self.currentOpacity, opacity_end=opacityTo, alpha=alpha)
self.behaviourScale.apply(self)
self.behaviourOpacity.apply(self)