Fork MediaPortal on GitHub
MediaPortal Windows Media Center

Site navigation


Last Edit

Page last modified 20:38, 24 May 2011 by wonkyd
MediaPortal Wiki > MediaPortal 1 > Contribute > Skins > Skin Related Changes > 1.1.0 to 1.2.0 > TV Guide

TV Guide

Was this page helpful?
    Table of contents
    1. 1. Purpose
    2. 2. Description of change

    Purpose

    The following enhancements are now supported in mytvguide.xml

    Added:

    • ability to control position of program text inside TV guide buttons
    • shadow text to the program button text template controls
    • ability to continuously scroll channels from top to bottom, and bottom to top of guide
    • some new properties (ChannelName, ChannelNumber, DurationMins)
    • tileFill attribute to the guide buttons
    •  possibility to use a default TV channel logo if no TV channel logo exists
    • possibility to include an HD (high definition) icon after the program name in the tv guide

    Description of change

    Added ability to control position of program text inside TV guide buttons. You'll need to add posX and posY to controls 24, 26 (title) and 23, 30 (genre) as below example. These values have been added to the template so that the skinner may adjust the position of the program title text in the program button.

    Note: Skinners are required to add these attributes to these controls to have the guide text positioned properly.

    >    <control>
          <description>template for program title light area</description>
          <type>label</type>
          <id>24</id>
          <visible>no</visible>
          <label>-</label>
          <font>font14</font>
          <textcolor>ccffffff</textcolor>
          <posX>10</posX>
          <posY>6</posY>
        </control>

    Added shadow text to the program button text template controls (24, 26, 23, 30; title and genre)

    >      <shadowAngle>45</shadowAngle>
          <shadowDistance>1</shadowDistance>
          <shadowColor>FF000000</shadowColor>

    The program guide now loops continuously from the last program to the first program and visa-versa. This behavior is more common on commercial guides and eases usability difficulties by not having to manage special cases at the top and bottom of the guide. This feature is implemented as follows:

    Added capability to remove the spin controls for time and day (controls 8 and 6). To remove these controls set the x position of the control to be less than zero. When the controls x position is less than zero they will not be rendered and the guide behavior changes such that when the first channel is selected (channel column, first row in guide) navigating up will cause the guide to wrap to the bottom channel smoothly in a continuous loop.

    If the spin controls are rendered (the controls x position is positive) then to navigate to the spin controls for adjusting the guide size simply move up from the channel button (first column in guide) in the first row. Moving up from a program button (columns 2..n) in the first row will scroll the guide to the previous channel (including wrapping at the top and bottom as appropriate).

    >    <control>
          <description>time interval spin control</description>
          <type>spincontrol</type>
          <id>8</id>
          <!-- Setting the position of the control off screen will effectively make the control invisible -->
          <posX>-100</posX>
          <posY>-100</posY>
          ...
        </control>

    Added property #TV.Guide.ChannelName; the currently selected channel name.

    Added property #TV.Guide.ChannelNumber; the currently selected channel number.

    Added property #TV.Guide.DurationMins; displays the selected program duration in minutes only.

    Added ability to control program button image rendering; tileFill yes/no. The following control may be added to the xml to control this behavior. Tile fill allows for the specified texture to fill in the button as a tile rather than to be stretched. This feature works very well in the TV guide becuase the program button widths are dynamically computed based on program duration. As an example; you may use this feature to fill program buttons that are marked for recording with a diagonal pattern; if the diagonal pattern is specified correctly it will seamlessly fill the entire width of the button regardless of its width.

    >    <control>
          <description>template for program running button</description>
          <type>button3part</type>
          <id>35</id>
          <textureFocusedLeft tileFill="no">tvguide_button_selected_left.png</textureFocusedLeft>
          <textureNonFocusedLeft tileFill="no">tvguide_button_left.png</textureNonFocusedLeft>
          <textureFocusedMid tileFill="no">tvguide_button_selected_middle.png</textureFocusedMid>
          <textureNonFocusedMid tileFill="no">tvguide_button_middle.png</textureNonFocusedMid>
          <textureFocusedRight tileFill="no">tvguide_button_selected_right.png</textureFocusedRight>
          <textureNonFocusedRight tileFill="no">tvguide_button_right.png</textureNonFocusedRight>
          <textureIcon>-</textureIcon>
        </control>
        <control>
          <description>template for program not running button</description>
          <type>button3part</type>
          <id>36</id>
          <textureFocusedLeft tileFill="no">tvguide_button_selected_left.png</textureFocusedLeft>
          <textureNonFocusedLeft tileFill="no">tvguide_button_light_left.png</textureNonFocusedLeft>
          <textureFocusedMid tileFill="no">tvguide_button_selected_middle.png</textureFocusedMid>
          <textureNonFocusedMid tileFill="no">tvguide_button_light_middle.png</textureNonFocusedMid>
          <textureFocusedRight tileFill="no">tvguide_button_selected_right.png</textureFocusedRight>
          <textureNonFocusedRight tileFill="no">tvguide_button_light_right.png</textureNonFocusedRight>
          <textureIcon>-</textureIcon>
        </control>
        <control>
          <description>template for program notify button</description>
          <type>button3part</type>
          <id>37</id>
          <textureFocusedLeft tileFill="no">tvguide_notifyButton_Focus_left.png</textureFocusedLeft>
          <textureNonFocusedLeft tileFill="no">tvguide_notifyButton_noFocus_left.png</textureNonFocusedLeft>
          <textureFocusedMid tileFill="no">tvguide_notifyButton_Focus_middle.png</textureFocusedMid>
          <textureNonFocusedMid tileFill="no">tvguide_notifyButton_noFocus_middle.png</textureNonFocusedMid>
          <textureFocusedRight tileFill="no">tvguide_notifyButton_Focus_right.png</textureFocusedRight>
          <textureNonFocusedRight tileFill="no">tvguide_notifyButton_noFocus_right.png</textureNonFocusedRight>
          <textureIcon>-</textureIcon>
        </control>
        <control>
          <description>template for program record button</description>
          <type>button3part</type>
          <id>38</id>
          <textureFocusedLeft tileFill="no">tvguide_recButton_Focus_left.png</textureFocusedLeft>
          <textureNonFocusedLeft tileFill="no">tvguide_recButton_noFocus_left.png</textureNonFocusedLeft>
          <textureFocusedMid tileFill="yes">tvguide_recButton_Focus_middle.png</textureFocusedMid>
          <textureNonFocusedMid tileFill="yes">tvguide_recButton_noFocus_middle.png</textureNonFocusedMid>
          <textureFocusedRight tileFill="no">tvguide_recButton_Focus_right.png</textureFocusedRight>
          <textureNonFocusedRight tileFill="no">tvguide_recButton_Focus_right.png</textureNonFocusedRight>
          <textureIcon>-</textureIcon>
        </control>

    For TV channel logos; added default.(png|gif|jpg) to use if no channel logo found, if default.(png|gif|jpg) is not present then the legacy default image is used (defaultVideoBig.png).

    You can now add a "high definition" program icon to the tv guide program button. The icon is introduced to the program button (a button3part) using the new button3part attribute set for "icon2" (see button3part enhancements in this guide). You can get the HD icon to display by completeing the following:

    • Create an icon named tvguide_hd_program.png and place into your skins media directory.
    • Specify it in <textureIcon2> of control template id 36 as follows:
    >    <control>
          <description>template for program not on now button</description>
          <type>button3part</type>
          <id>36</id>
          <textureFocusedLeft tileFill="no">tvguide_button_selected_left.png</textureFocusedLeft>
          <textureNonFocusedLeft tileFill="no">tvguide_button_light_left.png</textureNonFocusedLeft>
          <textureFocusedMid tileFill="no">tvguide_button_selected_middle.png</textureFocusedMid>
          <textureNonFocusedMid tileFill="no">tvguide_button_light_middle.png</textureNonFocusedMid>
          <textureFocusedRight tileFill="no">tvguide_button_selected_right.png</textureFocusedRight>
          <textureNonFocusedRight tileFill="no">tvguide_button_light_right.png</textureNonFocusedRight>
          <!-- This icon is not used in this template -->
          <textureIcon>-</textureIcon>
          <!-- This icon is used for hd program decoration -->
          <textureIcon2>tvguide_hd_program.png</textureIcon2>
        </control>

    The tv guide determines that a program is in HD if a specified text string exists in the program description text as stored in the TV database. The default string to search for is "(HDTV)" (this is what schedules direct outputs as of this writing). To override this string simply edit MediaPortal.xml and create or set the new "mytv" variable "hdtvProgramText" to the desired search string (if you like the default you do not have to create/edit this entry in the MediaPortal.xml file).




    Running the latest version?

    V1.8.0 - released July 2014
    Releasenews | Download
    Changelog
     | Requirements
    HTPC
    Team-MediaPortal
     
    About
    Contact |  Press
    Partners