Update of /cvsroot/freevo/freevo/skins/dischi1
In directory sc8-pr-cvs1:/tmp/cvs-serv10619

Modified Files:
        area.py blue1_big.xml blue_round2.xml skin_dischi1.py 
        xml_skin.py 
Log Message:
Added audio player. The info area is empty right now, but this skin
can player audio files


Index: area.py
===================================================================
RCS file: /cvsroot/freevo/freevo/skins/dischi1/area.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** area.py     5 Mar 2003 20:08:17 -0000       1.14
--- area.py     5 Mar 2003 21:57:02 -0000       1.15
***************
*** 28,31 ****
--- 28,35 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.15  2003/03/05 21:57:02  dischi
+ # Added audio player. The info area is empty right now, but this skin
+ # can player audio files
+ #
  # Revision 1.14  2003/03/05 20:08:17  dischi
  # More speed enhancements. It's now faster than the keyboard control :-)
***************
*** 116,120 ****
  import xml_skin
  
- 
  # Create the OSD object
  osd = osd.get_singleton()
--- 120,123 ----
***************
*** 260,264 ****
  
  
!     def draw(self, settings, menuw):
          """
          this is the main draw function. This function draws the background,
--- 263,267 ----
  
  
!     def draw(self, settings, obj, widget_type='menu'):
          """
          this is the main draw function. This function draws the background,
***************
*** 266,274 ****
          for the different types of areas
          """
-         
-         menu = menuw.menustack[-1]
- 
-         self.menu = menu
  
          self.bg_objects = []
          self.content_objects = []
--- 269,282 ----
          for the different types of areas
          """
  
+         if widget_type == 'menu':
+             self.menuw = obj
+             self.menu  = obj.menustack[-1]
+             self.item  = self.menu.selected
+             item_type  = self.menu.item_types
+         else:
+             item_type = None
+             self.item = obj
+             
          self.bg_objects = []
          self.content_objects = []
***************
*** 278,282 ****
          
          area = self.area_val
! 
          if area:
              visible = area.visible
--- 286,290 ----
          
          area = self.area_val
!         self.settings = settings
          if area:
              visible = area.visible
***************
*** 284,289 ****
              visible = FALSE
              
!         self.redraw = self.init_vars(settings, menu.item_types)
! 
          if area and area != self.area_val:
              old_area = area
--- 292,297 ----
              visible = FALSE
              
!         self.redraw = self.init_vars(settings, item_type, widget_type)
!             
          if area and area != self.area_val:
              old_area = area
***************
*** 309,318 ****
          if not self.redraw:
              # no update needed: return
!             if not self.update_content_needed(settings, menuw):
                  self.content_objects = self.last_content_objects
                  return
  
          self.mode = 1 # content
!         self.update_content(settings, menuw)
  
          bg_rect = [ osd.width, osd.height, 0, 0 ]
--- 317,326 ----
          if not self.redraw:
              # no update needed: return
!             if not self.update_content_needed():
                  self.content_objects = self.last_content_objects
                  return
  
          self.mode = 1 # content
!         self.update_content()
  
          bg_rect = [ osd.width, osd.height, 0, 0 ]
***************
*** 432,448 ****
  
  
!     def init_vars(self, settings, display_type):
          """
          check which layout is used and set variables for the object
          """
          redraw = self.redraw
!         
!         if settings.menu.has_key(display_type):
!             area = settings.menu[display_type][0]
          else:
!             area = settings.menu['default'][0]
  
!         area = eval('area.%s' % self.area_name)
!         
          if (not self.area_val) or area != self.area_val:
              self.area_val = area
--- 440,463 ----
  
  
!     def init_vars(self, settings, display_type, widget_type = 'menu'):
          """
          check which layout is used and set variables for the object
          """
          redraw = self.redraw
! 
!         if widget_type == 'player':
!             area = settings.player
          else:
!             if settings.menu.has_key(display_type):
!                 area = settings.menu[display_type][0]
!             else:
!                 area = settings.menu['default'][0]
  
!         try:
!             area = eval('area.%s' % self.area_name)
!         except AttributeError:
!             area = xml_skin.XML_area()
!             area.visible = FALSE
!             
          if (not self.area_val) or area != self.area_val:
              self.area_val = area

Index: blue1_big.xml
===================================================================
RCS file: /cvsroot/freevo/freevo/skins/dischi1/blue1_big.xml,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** blue1_big.xml       2 Mar 2003 21:34:38 -0000       1.7
--- blue1_big.xml       5 Mar 2003 21:57:07 -0000       1.8
***************
*** 114,117 ****
--- 114,119 ----
  
  
+     <!-- ********************************************** -->
+     <!-- POPUP DEFINITIONS -->
  
      <popup type="default" layout="popup"/>
***************
*** 130,134 ****
--- 132,172 ----
        </content>
      </layout>
+ 
+     <!-- ********************************************** -->
+     <!-- AUDIO PLAYER DEFINITIONS -->
      
+     <player>
+       <screen layout="player screen" visible="yes">
+       <area x="0" y="0" width="800" height="600"/>
+       </screen>
+       <title visible="no"/>
+       <view layout="player view" visible="yes">
+       <area x="460" y="200" width="390" height="330"/> 
+       </view>
+       <info layout="player info" visible="yes">
+       <area x="-50" y="80" width="550" height="300"/> 
+       </info>
+     </player>
+ 
+     <layout label="player screen">
+       <background>
+       <image filename="../images/aubin_bg2" x="0" y="0" label="background"/>
+       </background>
+     </layout>
+ 
+     <layout label="player view">
+       <background>
+       <rectangle size="0" bgcolor="0x80000000" radius="10" width="max"/>
+       </background>
+       <content width="max-50" type="text" spacing="10"/>
+     </layout>
+ 
+     <layout label="player info">
+       <background>
+       <rectangle size="0" bgcolor="0x80000000" radius="10" width="max"/>
+       </background>
+       <content x="50" type="text" spacing="10"/>
+     </layout>
+ 
    </skin>
  </freevo>

Index: blue_round2.xml
===================================================================
RCS file: /cvsroot/freevo/freevo/skins/dischi1/blue_round2.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** blue_round2.xml     2 Mar 2003 19:35:06 -0000       1.3
--- blue_round2.xml     5 Mar 2003 21:57:11 -0000       1.4
***************
*** 169,172 ****
--- 169,181 ----
      </font>
  
+     <!-- ********************************************** -->
+     <!-- AUDIO PLAYER DEFINITIONS -->
+ 
+     <layout label="player screen">
+       <background>
+       <image filename="../images/aubin/blurr.jpg" x="0" y="0" label="background"/>
+       </background>
+     </layout>
+ 
    </skin>
  </freevo>

Index: skin_dischi1.py
===================================================================
RCS file: /cvsroot/freevo/freevo/skins/dischi1/skin_dischi1.py,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -d -r1.31 -r1.32
*** skin_dischi1.py     5 Mar 2003 20:08:18 -0000       1.31
--- skin_dischi1.py     5 Mar 2003 21:57:11 -0000       1.32
***************
*** 10,13 ****
--- 10,17 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.32  2003/03/05 21:57:11  dischi
+ # Added audio player. The info area is empty right now, but this skin
+ # can player audio files
+ #
  # Revision 1.31  2003/03/05 20:08:18  dischi
  # More speed enhancements. It's now faster than the keyboard control :-)
***************
*** 148,151 ****
--- 152,156 ----
  from listing_area import Listing_Area
  from view_area import View_Area
+ from info_area import Info_Area
  
  
***************
*** 157,161 ****
          Skin_Area.__init__(self, 'screen', screen)
  
!     def update_content_needed(self, settings, menuw):
          """
          this area needs never a content update
--- 162,166 ----
          Skin_Area.__init__(self, 'screen', screen)
  
!     def update_content_needed(self):
          """
          this area needs never a content update
***************
*** 163,167 ****
          return FALSE
  
!     def update_content(self, settings, menuw):
          """
          there is no content in this area
--- 168,172 ----
          return FALSE
  
!     def update_content(self):
          """
          there is no content in this area
***************
*** 180,189 ****
  
          
!     def update_content_needed(self, settings, menuw):
          """
          check if the content needs an update
          """
!         menu = menuw.menustack[-1]
! 
          layout    = self.layout
          area      = self.area_val
--- 185,193 ----
  
          
!     def update_content_needed(self):
          """
          check if the content needs an update
          """
!         menu      = self.menu
          layout    = self.layout
          area      = self.area_val
***************
*** 198,207 ****
  
  
!     def update_content(self, settings, menuw):
          """
          update the content
          """
!         menu = menuw.menustack[-1]
! 
          layout    = self.layout
          area      = self.area_val
--- 202,210 ----
  
  
!     def update_content(self):
          """
          update the content
          """
!         menu      = self.menu
          layout    = self.layout
          area      = self.area_val
***************
*** 215,223 ****
          self.text = text
  
!         if not settings.font.has_key(content.font):
              print '*** font <%s> not found' % content.font
              return
  
!         self.write_text(text, settings.font[content.font], content, mode='hard')
  
  
--- 218,226 ----
          self.text = text
  
!         if not self.settings.font.has_key(content.font):
              print '*** font <%s> not found' % content.font
              return
  
!         self.write_text(text, self.settings.font[content.font], content, mode='hard')
  
  
***************
*** 237,241 ****
          self.force_redraw = TRUE
          self.screen = Screen()
!         self.area_names = ( 'screen', 'title', 'listing', 'view')
          for a in self.area_names:
              setattr(self, '%s_area' % a, eval('%s%s_Area(self, self.screen)' % \
--- 240,244 ----
          self.force_redraw = TRUE
          self.screen = Screen()
!         self.area_names = ( 'screen', 'title', 'listing', 'view', 'info')
          for a in self.area_names:
              setattr(self, '%s_area' % a, eval('%s%s_Area(self, self.screen)' % \
***************
*** 457,461 ****
--- 460,473 ----
  
      def DrawMP3(self, info):
+         self.screen.clear()
+ 
+         for a in self.area_names:
+             area = eval('self.%s_area' % a)
+             area.draw(self.settings, info, 'player')
+ 
+         self.screen.show(self.force_redraw)
+ 
          osd.update()
+ 
  
      # TV Guide:

Index: xml_skin.py
===================================================================
RCS file: /cvsroot/freevo/freevo/skins/dischi1/xml_skin.py,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** xml_skin.py 2 Mar 2003 21:48:34 -0000       1.18
--- xml_skin.py 5 Mar 2003 21:57:15 -0000       1.19
***************
*** 10,13 ****
--- 10,17 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.19  2003/03/05 21:57:15  dischi
+ # Added audio player. The info area is empty right now, but this skin
+ # can player audio files
+ #
  # Revision 1.18  2003/03/02 21:48:34  dischi
  # Support for skin changing in the main menu
***************
*** 427,430 ****
--- 431,450 ----
      
  # ======================================================================
+ 
+ 
+ class XML_player:
+     def __init__(self):
+         self.content = ( 'screen', 'title', 'view', 'info' )
+         for c in self.content:
+             setattr(self, c, XML_area())
+ 
+ 
+     def parse(self, node, scale, current_dir):
+         for subnode in node.children:
+             for c in self.content:
+                 if subnode.name == c:
+                     eval('self.%s.parse(subnode, scale, current_dir)' % c)
+ 
+ 
  # ======================================================================
  
***************
*** 443,446 ****
--- 463,468 ----
          self.icon_dir = ""
          self.popup = ''
+         self.player = XML_player()
+         
          
      def parse(self, freevo_type, scale, c_dir, copy_content):
***************
*** 481,484 ****
--- 503,510 ----
              if node.name == u'popup':
                  self.popup = attr_str(node, 'layout', self.popup)
+ 
+             if node.name == u'player':
+                 self.player.parse(node, scale, c_dir)
+ 
  
  




-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger 
for complex code. Debugging C/C++ programs can leave you feeling lost and 
disoriented. TotalView can help you find your way. Available on major UNIX 
and Linux platforms. Try it free. www.etnus.com
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to