Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

To be supplied.

Guide colorization


TV guide colorization is new as of version 1.3.0 beta and later.

 


MediaPortal provides the ability to map EPG program genres to one of seven available MediaPortal genre names. The purpose of genre mapping is to limit the number of genres that users see in the TV guide so that programs may be colored by genre.  For example the EPG provider genres Action sports, Aerobics and Archery can all be mapped to the MediaPortal genre name Sports, then the Sports genre may be assigned a color for easy identification of Sports programs in the TV guide.  See TV Guide for more information.

The TV guide provides for end users and skinners to enable and manage the coloring of program entries according to program genre.

...

  • Uses SkinSettings.xml (which also support, for example, skin themes) - this xml file contains the critical information read by the TV guide.
  • The MediaPortal FontEngine provides a texture blending mode.  This mode offers the capability to blend two textures alpha components (this is different than diffuse color blending, which considers only one texture color and a specified diffuse color).  This texture blending mode is exposed in the Image and Button3Part controls to support TV Guide.  The capability is exposed to Image as an "overlay" parameter on the <texture> tag.  When <texture overlay="my-image"> is specified then the texture and the overlay texture are blended through their alpha channels.  When the main texture is a solid white image and a diffuse color is specified (e.g., Red) then the overlay texture is blended with a Red texture.  This is the core enabling for coloring programs on the TV Guide.

...


 


Steps to color TV guide program genres

...

  • tvguide_button_selected_left.png
  • tvguide_button_left.png
  • tvguide_button_selected_middle.png
  • tvguide_button_middle.png
  • tvguide_button_selected_right.png
  • tvguide_button_right.png

...


Code Block
languagexml
linenumberstrue
<control>
    <description>template for program on now button</description>
    <type>button3part</type>
    <id>35</id>
    <textureFocusedLeft overlay="tvguide_arrow_left_colorize_overlay.png">tvguide_arrow_left_colorize.png</textureFocusedLeft>
    <textureNonFocusedLeft overlay="tvguide_arrow_left_colorize_overlay.png">tvguide_arrow_left_colorize.png</textureNonFocusedLeft>
    <textureFocusedMid overlay="tvguide_button_middle_colorize_overlay.png">tvguide_button_middle_colorize.png</textureFocusedMid>
    <textureNonFocusedMid overlay="tvguide_button_middle_colorize_overlay.png">tvguide_button_middle_colorize.png</textureNonFocusedMid>
    <textureFocusedRight overlay="tvguide_arrow_right_colorize_overlay.png">tvguide_arrow_right_colorize.png</textureFocusedRight>
    <textureNonFocusedRight overlay="tvguide_arrow_right_colorize_overlay.png">tvguide_arrow_right_colorize.png</textureNonFocusedRight>
    <!-- This icon is used for the hd program indicator -->
    <textureIcon2>tvguide_hd_program_on_now.png</textureIcon2>
    <icon2Align>left</icon2Align>
    <icon2VAlign>middle</icon2VAlign>
    <icon2OffsetX>10</icon2OffsetX>
    <icon2OffsetY>1</icon2OffsetY>
    <icon2InlineLabel1>yes</icon2InlineLabel1>
</control>

<control>
    <description>template for program not on now button</description>
    <type>button3part</type>
    <id>36</id>
    <textureFocusedLeft overlay="tvguide_arrow_left_colorize_overlay.png">tvguide_arrow_left_colorize.png</textureFocusedLeft>
    <textureNonFocusedLeft overlay="tvguide_arrow_left_colorize_overlay.png">tvguide_arrow_left_colorize.png</textureNonFocusedLeft>
    <textureFocusedMid overlay="tvguide_button_middle_colorize_overlay.png">tvguide_button_middle_colorize.png</textureFocusedMid>
    <textureNonFocusedMid overlay="tvguide_button_middle_colorize_overlay.png">tvguide_button_middle_colorize.png</textureNonFocusedMid>
    <textureFocusedRight overlay="tvguide_arrow_right_colorize_overlay.png">tvguide_arrow_right_colorize.png</textureFocusedRight>
    <textureNonFocusedRight overlay="tvguide_arrow_right_colorize_overlay.png">tvguide_arrow_right_colorize.png</textureNonFocusedRight>
    <!-- This icon is used for the hd program indicator -->
    <textureIcon2>tvguide_hd_program_not_on_now.png</textureIcon2>
    <icon2Align>left</icon2Align>
    <icon2VAlign>middle</icon2VAlign>
    <icon2OffsetX>10</icon2OffsetX>
    <icon2OffsetY>1</icon2OffsetY>
    <icon2InlineLabel1>yes</icon2InlineLabel1>
</control>

<control>
    <description>template for program notify button</description>
    <type>button3part</type>
    <id>37</id>
    <textureFocusedLeft overlay="tvguide_arrow_left_colorize_overlay.png">tvguide_arrow_left_colorize.png</textureFocusedLeft>
    <textureNonFocusedLeft overlay="tvguide_arrow_left_colorize_overlay.png">tvguide_arrow_left_colorize.png</textureNonFocusedLeft>
    <textureFocusedMid overlay="tvguide_button_middle_colorize_overlay.png">tvguide_button_middle_colorize.png</textureFocusedMid>
    <textureNonFocusedMid overlay="tvguide_button_middle_colorize_overlay.png">tvguide_button_middle_colorize.png</textureNonFocusedMid>
    <textureFocusedRight overlay="tvguide_arrow_right_colorize_overlay.png">tvguide_arrow_right_colorize.png</textureFocusedRight>
    <textureNonFocusedRight overlay="tvguide_arrow_right_colorize_overlay.png">tvguide_arrow_right_colorize.png</textureNonFocusedRight>
    <!-- The textureIcon is used for the notify indicator; these attributes help position the icon -->
    <iconAlign>right</iconAlign>
    <iconVAlign>middle</iconVAlign>
    <iconOffsetX>10</iconOffsetX>
    <iconOffsetY>0</iconOffsetY>
    <iconInlineLabel1>no</iconInlineLabel1>
</control>

<control>
    <description>template for program record button</description>
    <type>button3part</type>
    <id>38</id>
    <textureFocusedLeft overlay="tvguide_arrow_left_colorize_overlay.png">tvguide_arrow_left_colorize.png</textureFocusedLeft>
    <textureNonFocusedLeft overlay="tvguide_arrow_left_colorize_overlay.png">tvguide_arrow_left_colorize.png</textureNonFocusedLeft>
    <textureFocusedMid overlay="tvguide_button_middle_colorize_overlay.png">tvguide_button_middle_colorize.png</textureFocusedMid>
    <textureNonFocusedMid overlay="tvguide_button_middle_colorize_overlay.png">tvguide_button_middle_colorize.png</textureNonFocusedMid>
    <textureFocusedRight overlay="tvguide_arrow_right_colorize_overlay.png">tvguide_arrow_right_colorize.png</textureFocusedRight>
    <textureNonFocusedRight overlay="tvguide_arrow_right_colorize_overlay.png">tvguide_arrow_right_colorize.png</textureNonFocusedRight>
    <!-- The textureIcon is used for the record indicator; these attributes help position the icon -->
    <iconAlign>right</iconAlign>
    <iconVAlign>middle</iconVAlign>
    <iconOffsetX>10</iconOffsetX>
    <iconOffsetY>0</iconOffsetY>
    <iconInlineLabel1>no</iconInlineLabel1>
</control>

<control>
    <description>template for program partial record button</description>
    <type>button3part</type>
    <id>39</id>
    <textureFocusedLeft overlay="tvguide_arrow_left_colorize_overlay.png">tvguide_arrow_left_colorize.png</textureFocusedLeft>
    <textureNonFocusedLeft overlay="tvguide_arrow_left_colorize_overlay.png">tvguide_arrow_left_colorize.png</textureNonFocusedLeft>
    <textureFocusedMid overlay="tvguide_button_middle_colorize_overlay.png">tvguide_button_middle_colorize.png</textureFocusedMid>
    <textureNonFocusedMid overlay="tvguide_button_middle_colorize_overlay.png">tvguide_button_middle_colorize.png</textureNonFocusedMid>
    <textureFocusedRight overlay="tvguide_arrow_right_colorize_overlay.png">tvguide_arrow_right_colorize.png</textureFocusedRight>
    <textureNonFocusedRight overlay="tvguide_arrow_right_colorize_overlay.png">tvguide_arrow_right_colorize.png</textureNonFocusedRight>
    <!-- The textureIcon is used for the partial record indicator; these attributes help position the icon -->
    <iconAlign>right</iconAlign>
    <iconVAlign>middle</iconVAlign>
    <iconOffsetX>10</iconOffsetX>
    <iconOffsetY>0</iconOffsetY>
    <iconInlineLabel1>no</iconInlineLabel1>
</control>

...