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)