home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
MediaPortal 1 Skins
Control 34 in the TV and radio guides
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="CyberSimian" data-source="post: 1301243" data-attributes="member: 141969"><p>This thread is intended for skin authors, plus those advanced users who have learnt skin programming and have customised the skins that they use.</p><p></p><p>When there is a large number of channels in the EPG, it is often simpler to enter on the remote control or keyboard the number of the channel required, rather than pressing repeatedly the PAGE_UP or PAGE_DOWN buttons. But wait a moment... where is the visual feedback showing you the buttons that you are pressing?</p><p></p><p>Well, there <em>is</em> visual feedback, but it is inconspicuous and overlays the leftmost time label at the top of the grid. The first screen shot below shows the EPG before pressing numeric digits, while the second screen shot shows the EPG after pressing "55" and before the timeout expires ("55" highlighted in red):</p><p></p><p>[ATTACH]215472[/ATTACH] [ATTACH]215473[/ATTACH]</p><p></p><p>I have checked the "Amped", "Ares", "DefaultWideHD", and "Titan" skins, plus my own "Clarity" skin, and they all display the channel digits on top of the leftmost time label. This leads me to suspect that none of the authors of those skins knew about control 34 when they were designing those skins. The C# source code even has this comment:</p><p></p><p>// Check for new standalone label control for keyed in channel numbers.</p><p></p><p>which suggests that control 34 was a late addition to the TV and radio guides.</p><p></p><p>Using control 34 has some restrictions, due to the nature of the TV and radio EPGs. These panels are undoubtedly the most complex panels in MP. In fact, they are so complex that they cannot be handled entirely by the skin engine. Instead, the skin engine processes the simple parts, while the TV plugin itself handles the complex parts.</p><p></p><p>From experiments, I have concluded that the EPG panels are rendered in the following order:</p><p></p><p>(1) The skin engine scans the xml file and renders the <em>images and textures</em> in the simple parts of the panels. These are such things as the panel background, the red recording dot, and other graphics (according to the skin design).</p><p></p><p>(2) The TV plugin then scans the xml file and renders the <em>images and textures</em> in the complex parts of the panels. These are the parts that reside within the guide grid, plus the genre-table colour samples.</p><p></p><p>(3) The TV plugin then scans the xml file again and renders the <em>text</em> in the complex parts of the panels. These are the channel names, programme names, time labels, spin button labels, genre-table labels.</p><p></p><p>(4) The skin engine then scans the xml file again and renders the <em>text</em> in the simple parts of the panels. These are such things as the panel title, the current date and time (typically shown in the top right corner), and the detailed info about the programme that has the focus.</p><p></p><p>So layer (4) is the topmost visible layer, while layer (1) is the bottommost layer and underlays all of the other layers. The effect of this is that you cannot place any <em>graphics</em> on top of the guide grid, because the guide grid is layer (2), while your graphics will be layer (1). You can however place <em>text</em> on top of the guide grid, because your text will be in layer (4).</p><p></p><p>Control 34 is handled by the TV plugin, and so resides in layer (3). The control is hidden except when digits are being entered. Fortunately, other controls can test control 34 for visibility, and this allows the visibility of other elements (text or graphics) to be linked to the visibility of control 34.</p><p></p><p>For my "Clarity" skin I tried three different locations for control 34, all locations being in the simple parts of the panel. It is necessary to suppress whatever text resides in that location, as control 34 does not obey the rules for an action group (so you cannot superimpose control 34 plus associated text and graphics on top of whatever normally resides at that location). Here is my working "proof of concept":</p><p></p><p>[ATTACH]215474[/ATTACH] [ATTACH]215475[/ATTACH]</p><p></p><p>Here is the xml that handles the keyed channel number:</p><p></p><p>[code]<control Style="CwBox3"></p><p> <description>Box and background for channel-number pop-up</description></p><p> <type>image</type></p><p> <posX>#cw.guide.popup.ground.x</posX></p><p> <posY>#cw.guide.popup.ground.y</posY></p><p> <width>192</width></p><p> <height>96</height></p><p> <visible>Control.IsVisible(34)</visible></p><p></control></p><p></p><p><control></p><p> <description>Broadcast icon for channel-number pop-up</description></p><p> <type>image</type></p><p> <posX>#cw.guide.popup.icon.x</posX></p><p> <posY>#cw.guide.popup.icon.y</posY></p><p> <width>300</width></p><p> <height>60</height></p><p> <texture>transmitter.png</texture></p><p> <keepaspectratio>yes</keepaspectratio></p><p> <colordiffuse>ffffffff</colordiffuse></p><p> <visible>Control.IsVisible(34)</visible></p><p></control></p><p></p><p><control></p><p> <description>Keyed channel number for channel-number pop-up</description></p><p> <type>label</type></p><p> <id>34</id></p><p> <posX>#cw.guide.popup.text.x</posX></p><p> <posY>#cw.guide.popup.text.y</posY></p><p> <width>225</width></p><p> <height>81</height></p><p> <align>center</align></p><p> <font>font20</font></p><p> <textcolor>ffffffff</textcolor></p><p></control>[/code]</p><p></p><p>-- from CyberSimian in the UK</p></blockquote><p></p>
[QUOTE="CyberSimian, post: 1301243, member: 141969"] This thread is intended for skin authors, plus those advanced users who have learnt skin programming and have customised the skins that they use. When there is a large number of channels in the EPG, it is often simpler to enter on the remote control or keyboard the number of the channel required, rather than pressing repeatedly the PAGE_UP or PAGE_DOWN buttons. But wait a moment... where is the visual feedback showing you the buttons that you are pressing? Well, there [i]is[/i] visual feedback, but it is inconspicuous and overlays the leftmost time label at the top of the grid. The first screen shot below shows the EPG before pressing numeric digits, while the second screen shot shows the EPG after pressing "55" and before the timeout expires ("55" highlighted in red): [ATTACH]215472[/ATTACH] [ATTACH]215473[/ATTACH] I have checked the "Amped", "Ares", "DefaultWideHD", and "Titan" skins, plus my own "Clarity" skin, and they all display the channel digits on top of the leftmost time label. This leads me to suspect that none of the authors of those skins knew about control 34 when they were designing those skins. The C# source code even has this comment: // Check for new standalone label control for keyed in channel numbers. which suggests that control 34 was a late addition to the TV and radio guides. Using control 34 has some restrictions, due to the nature of the TV and radio EPGs. These panels are undoubtedly the most complex panels in MP. In fact, they are so complex that they cannot be handled entirely by the skin engine. Instead, the skin engine processes the simple parts, while the TV plugin itself handles the complex parts. From experiments, I have concluded that the EPG panels are rendered in the following order: (1) The skin engine scans the xml file and renders the [i]images and textures[/i] in the simple parts of the panels. These are such things as the panel background, the red recording dot, and other graphics (according to the skin design). (2) The TV plugin then scans the xml file and renders the [i]images and textures[/i] in the complex parts of the panels. These are the parts that reside within the guide grid, plus the genre-table colour samples. (3) The TV plugin then scans the xml file again and renders the [i]text[/i] in the complex parts of the panels. These are the channel names, programme names, time labels, spin button labels, genre-table labels. (4) The skin engine then scans the xml file again and renders the [i]text[/i] in the simple parts of the panels. These are such things as the panel title, the current date and time (typically shown in the top right corner), and the detailed info about the programme that has the focus. So layer (4) is the topmost visible layer, while layer (1) is the bottommost layer and underlays all of the other layers. The effect of this is that you cannot place any [i]graphics[/i] on top of the guide grid, because the guide grid is layer (2), while your graphics will be layer (1). You can however place [i]text[/i] on top of the guide grid, because your text will be in layer (4). Control 34 is handled by the TV plugin, and so resides in layer (3). The control is hidden except when digits are being entered. Fortunately, other controls can test control 34 for visibility, and this allows the visibility of other elements (text or graphics) to be linked to the visibility of control 34. For my "Clarity" skin I tried three different locations for control 34, all locations being in the simple parts of the panel. It is necessary to suppress whatever text resides in that location, as control 34 does not obey the rules for an action group (so you cannot superimpose control 34 plus associated text and graphics on top of whatever normally resides at that location). Here is my working "proof of concept": [ATTACH]215474[/ATTACH] [ATTACH]215475[/ATTACH] Here is the xml that handles the keyed channel number: [code]<control Style="CwBox3"> <description>Box and background for channel-number pop-up</description> <type>image</type> <posX>#cw.guide.popup.ground.x</posX> <posY>#cw.guide.popup.ground.y</posY> <width>192</width> <height>96</height> <visible>Control.IsVisible(34)</visible> </control> <control> <description>Broadcast icon for channel-number pop-up</description> <type>image</type> <posX>#cw.guide.popup.icon.x</posX> <posY>#cw.guide.popup.icon.y</posY> <width>300</width> <height>60</height> <texture>transmitter.png</texture> <keepaspectratio>yes</keepaspectratio> <colordiffuse>ffffffff</colordiffuse> <visible>Control.IsVisible(34)</visible> </control> <control> <description>Keyed channel number for channel-number pop-up</description> <type>label</type> <id>34</id> <posX>#cw.guide.popup.text.x</posX> <posY>#cw.guide.popup.text.y</posY> <width>225</width> <height>81</height> <align>center</align> <font>font20</font> <textcolor>ffffffff</textcolor> </control>[/code] -- from CyberSimian in the UK [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
MediaPortal 1 Skins
Control 34 in the TV and radio guides
Contact us
RSS
Top
Bottom