diff options
104 files changed, 603 insertions, 1616 deletions
diff --git a/addons/skin.confluence/720p/DialogAddonInfo.xml b/addons/skin.confluence/720p/DialogAddonInfo.xml index fc13b34685..741a2e0728 100644 --- a/addons/skin.confluence/720p/DialogAddonInfo.xml +++ b/addons/skin.confluence/720p/DialogAddonInfo.xml @@ -12,52 +12,15 @@ <control type="group"> <include>VisibleFadeEffect</include> <visible>!Window.isVisible(AddonSettings) + !Window.IsActive(TextViewer)</visible> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>920</width> - <height>639</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>840</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>840</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[24003]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>830</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>3</onleft> - <onright>3</onright> - <onup>3</onup> - <ondown>3</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="920" /> + <param name="DialogBackgroundHeight" value="639" /> + <param name="DialogHeaderWidth" value="840" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[24003]" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="830" /> + <param name="CloseButtonNav" value="3" /> + </include> <control type="image"> <left>30</left> <top>70</top> diff --git a/addons/skin.confluence/720p/DialogAddonSettings.xml b/addons/skin.confluence/720p/DialogAddonSettings.xml index 0b734b05b5..f3bb63f4ea 100644 --- a/addons/skin.confluence/720p/DialogAddonSettings.xml +++ b/addons/skin.confluence/720p/DialogAddonSettings.xml @@ -8,62 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>800</width> - <height>600</height> - <texture border="40">DialogBack.png</texture> - <visible>![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)]</visible> - </control> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>800</width> - <height>600</height> - <texture border="40">DialogBack2.png</texture> - <visible>Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)</visible> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>720</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="20"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>720</width> - <height>30</height> - <font>font13_title</font> - <label>-</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>710</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>3</onleft> - <onright>3</onright> - <onup>3</onup> - <ondown>3</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="800" /> + <param name="DialogBackgroundHeight" value="600" /> + <param name="DialogHeaderWidth" value="720" /> + <param name="DialogHeaderLabel" value="-" /> + <param name="DialogHeaderId" value="20" /> + <param name="CloseButtonLeft" value="710" /> + <param name="CloseButtonNav" value="3" /> + </include> <control type="grouplist" id="9"> <description>button area</description> <left>45</left> diff --git a/addons/skin.confluence/720p/DialogContentSettings.xml b/addons/skin.confluence/720p/DialogContentSettings.xml index c19ad7ec11..a0b1959121 100644 --- a/addons/skin.confluence/720p/DialogContentSettings.xml +++ b/addons/skin.confluence/720p/DialogContentSettings.xml @@ -10,52 +10,15 @@ <controls> <control type="group"> <animation effect="fade" start="100" end="0" time="150" condition="Window.IsActive(AddonSettings)">Conditional</animation> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>800</width> - <height>680</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>720</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="1"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>720</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[20333]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>710</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="800" /> + <param name="DialogBackgroundHeight" value="680" /> + <param name="DialogHeaderWidth" value="720" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[20333]" /> + <param name="DialogHeaderId" value="1" /> + <param name="CloseButtonLeft" value="710" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="label"> <description>Content Picker Header</description> <left>30</left> diff --git a/addons/skin.confluence/720p/DialogGamepad.xml b/addons/skin.confluence/720p/DialogGamepad.xml index 57eec3118d..17599fcc55 100644 --- a/addons/skin.confluence/720p/DialogGamepad.xml +++ b/addons/skin.confluence/720p/DialogGamepad.xml @@ -8,51 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <left>0</left> - <top>0</top> - <width>610</width> - <height>230</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>530</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="1"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>530</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[13406]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>520</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="610" /> + <param name="DialogBackgroundHeight" value="230" /> + <param name="DialogHeaderWidth" value="530" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[13406]" /> + <param name="DialogHeaderId" value="1" /> + <param name="CloseButtonLeft" value="520" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="label" id="2"> <description>dialog line 1</description> <left>30</left> diff --git a/addons/skin.confluence/720p/DialogKaraokeSongSelectorLarge.xml b/addons/skin.confluence/720p/DialogKaraokeSongSelectorLarge.xml index 9356bb900c..b112293a09 100644 --- a/addons/skin.confluence/720p/DialogKaraokeSongSelectorLarge.xml +++ b/addons/skin.confluence/720p/DialogKaraokeSongSelectorLarge.xml @@ -8,51 +8,15 @@ </coordinates> <controls> <control type="group"> - <control type="image"> - <left>0</left> - <top>0</top> - <width>450</width> - <height>170</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>370</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="1"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>370</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[31321]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>360</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="450" /> + <param name="DialogBackgroundHeight" value="170" /> + <param name="DialogHeaderWidth" value="370" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[31321]" /> + <param name="DialogHeaderId" value="1" /> + <param name="CloseButtonLeft" value="360" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="label" id="401"> <description>Song Number Label</description> <left>30</left> diff --git a/addons/skin.confluence/720p/DialogKeyboard.xml b/addons/skin.confluence/720p/DialogKeyboard.xml index 04e7d874e9..860cffe694 100644 --- a/addons/skin.confluence/720p/DialogKeyboard.xml +++ b/addons/skin.confluence/720p/DialogKeyboard.xml @@ -11,50 +11,15 @@ <control type="group"> <include>VisibleFadeEffect</include> <visible>!Window.IsVisible(numericinput)</visible> - <control type="image"> - <left>0</left> - <top>0</top> - <width>860</width> - <height>430</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>780</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="311"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>820</width> - <height>30</height> - <font>font13_title</font> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>770</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>3</onleft> - <onright>3</onright> - <onup>3</onup> - <ondown>3</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="860" /> + <param name="DialogBackgroundHeight" value="430" /> + <param name="DialogHeaderWidth" value="780" /> + <param name="DialogHeaderLabel" value="" /> + <param name="DialogHeaderId" value="311" /> + <param name="CloseButtonLeft" value="770" /> + <param name="CloseButtonNav" value="3" /> + </include> <control type="image"> <left>50</left> <top>60</top> diff --git a/addons/skin.confluence/720p/DialogMediaFilter.xml b/addons/skin.confluence/720p/DialogMediaFilter.xml index 7e803bce3c..9dd8b03e03 100644 --- a/addons/skin.confluence/720p/DialogMediaFilter.xml +++ b/addons/skin.confluence/720p/DialogMediaFilter.xml @@ -8,52 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>800</width> - <height>500</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>720</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="2"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>720</width> - <height>30</height> - <font>font13_title</font> - <label>587</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>710</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="800" /> + <param name="DialogBackgroundHeight" value="500" /> + <param name="DialogHeaderWidth" value="720" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[587]" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="710" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="grouplist" id="5"> <description>control area</description> <left>30</left> diff --git a/addons/skin.confluence/720p/DialogMediaSource.xml b/addons/skin.confluence/720p/DialogMediaSource.xml index 93ff4e1d0d..ede609966f 100644 --- a/addons/skin.confluence/720p/DialogMediaSource.xml +++ b/addons/skin.confluence/720p/DialogMediaSource.xml @@ -8,52 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>800</width> - <height>500</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>720</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="2"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>720</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[13406]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>710</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="800" /> + <param name="DialogBackgroundHeight" value="500" /> + <param name="DialogHeaderWidth" value="720" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[13406]" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="710" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="label"> <description>path label</description> <left>20</left> diff --git a/addons/skin.confluence/720p/DialogNetworkSetup.xml b/addons/skin.confluence/720p/DialogNetworkSetup.xml index 69e6445fc5..0c0887ef87 100644 --- a/addons/skin.confluence/720p/DialogNetworkSetup.xml +++ b/addons/skin.confluence/720p/DialogNetworkSetup.xml @@ -8,52 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>800</width> - <height>440</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>720</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="2"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>720</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[1007]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>710</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="800" /> + <param name="DialogBackgroundHeight" value="440" /> + <param name="DialogHeaderWidth" value="720" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[1007]" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="710" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="spincontrolex" id="10"> <description>Protocol SpinControl</description> <left>30</left> diff --git a/addons/skin.confluence/720p/DialogOK.xml b/addons/skin.confluence/720p/DialogOK.xml index 6a23e3783f..556e44a8d6 100644 --- a/addons/skin.confluence/720p/DialogOK.xml +++ b/addons/skin.confluence/720p/DialogOK.xml @@ -8,51 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <left>0</left> - <top>0</top> - <width>610</width> - <height>240</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>530</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="1"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>530</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[13406]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>520</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="610" /> + <param name="DialogBackgroundHeight" value="240" /> + <param name="DialogHeaderWidth" value="530" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[13406]" /> + <param name="DialogHeaderId" value="1" /> + <param name="CloseButtonLeft" value="520" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="textbox" id="9"> <description>text</description> <left>30</left> diff --git a/addons/skin.confluence/720p/DialogPVRChannelManager.xml b/addons/skin.confluence/720p/DialogPVRChannelManager.xml index e9f6034f69..3bdbf9f424 100644 --- a/addons/skin.confluence/720p/DialogPVRChannelManager.xml +++ b/addons/skin.confluence/720p/DialogPVRChannelManager.xml @@ -9,66 +9,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <left>0</left> - <top>0</top> - <width>1120</width> - <height>570</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>1020</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>1020</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[19199] - $LOCALIZE[19023]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - <visible>IsEmpty(Window.Property(IsRadio))</visible> - </control> - <control type="label"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>1020</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[19199] - $LOCALIZE[19024]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - <visible>!IsEmpty(Window.Property(IsRadio))</visible> - </control> - <control type="button"> - <description>Close Window button</description> - <left>1030</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="1120" /> + <param name="DialogBackgroundHeight" value="570" /> + <param name="DialogHeaderWidth" value="1020" /> + <param name="DialogHeaderLabel" value="$VAR[PVRChannelMgrHeader]" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="1030" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="group"> <left>20</left> <top>70</top> diff --git a/addons/skin.confluence/720p/DialogPVRGuideInfo.xml b/addons/skin.confluence/720p/DialogPVRGuideInfo.xml index 2224cbf426..bca02a0e5d 100644 --- a/addons/skin.confluence/720p/DialogPVRGuideInfo.xml +++ b/addons/skin.confluence/720p/DialogPVRGuideInfo.xml @@ -10,62 +10,15 @@ <include>dialogeffect</include> <controls> <control type="group"> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>790</width> - <height>660</height> - <texture border="40">DialogBack2.png</texture> - <visible>Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)</visible> - </control> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>790</width> - <height>660</height> - <texture border="40">DialogBack.png</texture> - <visible>![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)]</visible> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>710</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>710</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[19047]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>700</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="790" /> + <param name="DialogBackgroundHeight" value="660" /> + <param name="DialogHeaderWidth" value="710" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[19047]" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="700" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="label"> <description>Title label</description> <left>40</left> diff --git a/addons/skin.confluence/720p/DialogPVRGuideSearch.xml b/addons/skin.confluence/720p/DialogPVRGuideSearch.xml index 02bb14f4a9..4f7c647aa9 100644 --- a/addons/skin.confluence/720p/DialogPVRGuideSearch.xml +++ b/addons/skin.confluence/720p/DialogPVRGuideSearch.xml @@ -8,52 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>865</width> - <height>605</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>785</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>785</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[19142]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>775</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>3</onleft> - <onright>3</onright> - <onup>3</onup> - <ondown>3</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="865" /> + <param name="DialogBackgroundHeight" value="605" /> + <param name="DialogHeaderWidth" value="785" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[19142]" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="775" /> + <param name="CloseButtonNav" value="3" /> + </include> <control type="label"> <description>Search string</description> <left>30</left> diff --git a/addons/skin.confluence/720p/DialogPVRRecordingInfo.xml b/addons/skin.confluence/720p/DialogPVRRecordingInfo.xml index f17228b518..01578697c9 100644 --- a/addons/skin.confluence/720p/DialogPVRRecordingInfo.xml +++ b/addons/skin.confluence/720p/DialogPVRRecordingInfo.xml @@ -8,62 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>730</width> - <height>660</height> - <texture border="40">DialogBack2.png</texture> - <visible>Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)</visible> - </control> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>730</width> - <height>660</height> - <texture border="40">DialogBack.png</texture> - <visible>![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)]</visible> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>650</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>650</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[19053]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>640</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="730" /> + <param name="DialogBackgroundHeight" value="660" /> + <param name="DialogHeaderWidth" value="650" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[19053]" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="640" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="label"> <description>Title label</description> <left>40</left> diff --git a/addons/skin.confluence/720p/DialogPVRTimerSettings.xml b/addons/skin.confluence/720p/DialogPVRTimerSettings.xml index 3898ca6826..ecee142b05 100644 --- a/addons/skin.confluence/720p/DialogPVRTimerSettings.xml +++ b/addons/skin.confluence/720p/DialogPVRTimerSettings.xml @@ -8,52 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>730</width> - <height>660</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>650</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>650</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[19065]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>640</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="730" /> + <param name="DialogBackgroundHeight" value="660" /> + <param name="DialogHeaderWidth" value="650" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[19065]" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="640" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="grouplist" id="5"> <description>control area</description> <left>30</left> diff --git a/addons/skin.confluence/720p/DialogPeripheralManager.xml b/addons/skin.confluence/720p/DialogPeripheralManager.xml index a2b7d5ac44..ddb9ed4a54 100644 --- a/addons/skin.confluence/720p/DialogPeripheralManager.xml +++ b/addons/skin.confluence/720p/DialogPeripheralManager.xml @@ -11,62 +11,15 @@ <control type="group"> <visible>!Window.IsVisible(PeripheralSettings)</visible> <include>VisibleFadeEffect</include> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>610</width> - <height>650</height> - <texture border="40">DialogBack.png</texture> - <visible>![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)]</visible> - </control> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>610</width> - <height>650</height> - <texture border="40">DialogBack2.png</texture> - <visible>Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)</visible> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>530</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="1"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>530</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[35000]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>520</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="610" /> + <param name="DialogBackgroundHeight" value="650" /> + <param name="DialogHeaderWidth" value="530" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[35000]" /> + <param name="DialogHeaderId" value="1" /> + <param name="CloseButtonLeft" value="520" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="list" id="20"> <left>20</left> <top>65</top> diff --git a/addons/skin.confluence/720p/DialogPeripheralSettings.xml b/addons/skin.confluence/720p/DialogPeripheralSettings.xml index 9d5c41f039..8942ec7d33 100644 --- a/addons/skin.confluence/720p/DialogPeripheralSettings.xml +++ b/addons/skin.confluence/720p/DialogPeripheralSettings.xml @@ -8,51 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>700</width> - <height>570</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>620</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>620</width> - <height>30</height> - <font>font13_title</font> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>610</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>5</onleft> - <onright>5</onright> - <onup>5</onup> - <ondown>5</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="700" /> + <param name="DialogBackgroundHeight" value="570" /> + <param name="DialogHeaderWidth" value="620" /> + <param name="DialogHeaderLabel" value="" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="610" /> + <param name="CloseButtonNav" value="5" /> + </include> <control type="grouplist" id="5"> <animation effect="slide" start="0,0" end="5,0" time="0" condition="!Control.IsVisible(60)">Conditional</animation> <description>control area</description> diff --git a/addons/skin.confluence/720p/DialogProgress.xml b/addons/skin.confluence/720p/DialogProgress.xml index 81d5c934d9..146df69f1c 100644 --- a/addons/skin.confluence/720p/DialogProgress.xml +++ b/addons/skin.confluence/720p/DialogProgress.xml @@ -8,21 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <left>0</left> - <top>0</top> - <width>610</width> - <height>240</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>530</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="610" /> + <param name="DialogBackgroundHeight" value="240" /> + <param name="DialogHeaderWidth" value="530" /> + <param name="DialogHeaderLabel" value="$INFO[Control.GetLabel(1)] $INFO[System.Progressbar,- ,%]" /> + <param name="DialogHeaderId" value="0" /> + <param name="CloseButtonLeft" value="520" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="label" id="1"> <description>fake heading label</description> <left>0</left> @@ -32,36 +26,6 @@ <font>-</font> <visible>false</visible> </control> - <control type="label"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>530</width> - <height>30</height> - <font>font13_title</font> - <label>$INFO[Control.GetLabel(1)] $INFO[System.Progressbar,- ,%]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>520</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> <control type="textbox" id="9"> <description>text</description> <left>30</left> diff --git a/addons/skin.confluence/720p/DialogSongInfo.xml b/addons/skin.confluence/720p/DialogSongInfo.xml index b8fe9385b4..a0c7802d15 100644 --- a/addons/skin.confluence/720p/DialogSongInfo.xml +++ b/addons/skin.confluence/720p/DialogSongInfo.xml @@ -11,52 +11,15 @@ <control type="group"> <include>VisibleFadeEffect</include> <visible>!Window.IsVisible(MusicInformation)</visible> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>910</width> - <height>510</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>830</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>830</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[658]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>820</left> - <top>14</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>3</onleft> - <onright>3</onright> - <onup>3</onup> - <ondown>3</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="910" /> + <param name="DialogBackgroundHeight" value="510" /> + <param name="DialogHeaderWidth" value="830" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[658]" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="820" /> + <param name="CloseButtonNav" value="3" /> + </include> <control type="label"> <description>Song Title value</description> <left>40</left> diff --git a/addons/skin.confluence/720p/DialogYesNo.xml b/addons/skin.confluence/720p/DialogYesNo.xml index cc94a45132..63f2959fbf 100644 --- a/addons/skin.confluence/720p/DialogYesNo.xml +++ b/addons/skin.confluence/720p/DialogYesNo.xml @@ -8,51 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <left>0</left> - <top>0</top> - <width>610</width> - <height>240</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>530</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="1"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>530</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[13406]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>520</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="610" /> + <param name="DialogBackgroundHeight" value="240" /> + <param name="DialogHeaderWidth" value="530" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[13406]" /> + <param name="DialogHeaderId" value="1" /> + <param name="CloseButtonLeft" value="520" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="textbox" id="9"> <description>text</description> <left>30</left> diff --git a/addons/skin.confluence/720p/LockSettings.xml b/addons/skin.confluence/720p/LockSettings.xml index b857fb076e..1b47191ebf 100644 --- a/addons/skin.confluence/720p/LockSettings.xml +++ b/addons/skin.confluence/720p/LockSettings.xml @@ -8,52 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>700</width> - <height>570</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>620</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="2"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>620</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[20043]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>610</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>5</onleft> - <onright>5</onright> - <onup>5</onup> - <ondown>5</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="700" /> + <param name="DialogBackgroundHeight" value="570" /> + <param name="DialogHeaderWidth" value="620" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[20043]" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="610" /> + <param name="CloseButtonNav" value="5" /> + </include> <control type="grouplist" id="5"> <description>control area</description> <left>30</left> diff --git a/addons/skin.confluence/720p/ProfileSettings.xml b/addons/skin.confluence/720p/ProfileSettings.xml index 0bd1a8ae42..f8277c7399 100644 --- a/addons/skin.confluence/720p/ProfileSettings.xml +++ b/addons/skin.confluence/720p/ProfileSettings.xml @@ -7,52 +7,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>700</width> - <height>570</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>620</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="2"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>620</width> - <height>30</height> - <font>font13_title</font> - <label>-</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>610</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>1</onleft> - <onright>1</onright> - <onup>1</onup> - <ondown>1</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="700" /> + <param name="DialogBackgroundHeight" value="570" /> + <param name="DialogHeaderWidth" value="620" /> + <param name="DialogHeaderLabel" value="-" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="610" /> + <param name="CloseButtonNav" value="1" /> + </include> <control type="image" id="101"> <description>profile image</description> <left>30</left> diff --git a/addons/skin.confluence/720p/SmartPlaylistEditor.xml b/addons/skin.confluence/720p/SmartPlaylistEditor.xml index b9a14d1afe..761cc5ed1b 100644 --- a/addons/skin.confluence/720p/SmartPlaylistEditor.xml +++ b/addons/skin.confluence/720p/SmartPlaylistEditor.xml @@ -12,51 +12,15 @@ <control type="group"> <visible>!Window.IsVisible(smartplaylistrule)</visible> <include>VisibleFadeEffect</include> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>800</width> - <height>675</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>720</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="2"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>720</width> - <height>30</height> - <font>font13_title</font> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>710</left> - <top>9</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>22</onleft> - <onright>22</onright> - <onup>22</onup> - <ondown>22</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="800" /> + <param name="DialogBackgroundHeight" value="675" /> + <param name="DialogHeaderWidth" value="720" /> + <param name="DialogHeaderLabel" value="-" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="710" /> + <param name="CloseButtonNav" value="22" /> + </include> <control type="spincontrolex" id="22"> <description>Set Playlist type</description> <left>30</left> diff --git a/addons/skin.confluence/720p/SmartPlaylistRule.xml b/addons/skin.confluence/720p/SmartPlaylistRule.xml index a8cb251052..2ec5c86c72 100644 --- a/addons/skin.confluence/720p/SmartPlaylistRule.xml +++ b/addons/skin.confluence/720p/SmartPlaylistRule.xml @@ -9,52 +9,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>800</width> - <height>280</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>720</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>720</width> - <height>30</height> - <font>font13_title</font> - <label>$LOCALIZE[21421]</label> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>710</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>9001</onleft> - <onright>9001</onright> - <onup>9001</onup> - <ondown>9001</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="800" /> + <param name="DialogBackgroundHeight" value="280" /> + <param name="DialogHeaderWidth" value="720" /> + <param name="DialogHeaderLabel" value="$LOCALIZE[21421]" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="710" /> + <param name="CloseButtonNav" value="9001" /> + </include> <control type="label"> <description>Rule match label</description> <left>40</left> diff --git a/addons/skin.confluence/720p/includes.xml b/addons/skin.confluence/720p/includes.xml index 46d50a40b2..902fa4da24 100644 --- a/addons/skin.confluence/720p/includes.xml +++ b/addons/skin.confluence/720p/includes.xml @@ -68,6 +68,58 @@ <value condition="Player.Forwarding">$LOCALIZE[31044]</value> <value condition="Player.Rewinding">$LOCALIZE[31045]</value> </variable> + <variable name="PVRChannelMgrHeader"> + <value condition="!IsEmpty(Window.Property(IsRadio))">$LOCALIZE[19199] - $LOCALIZE[19024]</value> + <value>$LOCALIZE[19199] - $LOCALIZE[19023]</value> + </variable> + <include name="DialogBackgroundCommons"> + <control type="image"> + <description>background image</description> + <left>0</left> + <top>0</top> + <width>$PARAM[DialogBackgroundWidth]</width> + <height>$PARAM[DialogBackgroundHeight]</height> + <texture border="40">$VAR[SelectBack]</texture> + </control> + <control type="image"> + <description>Dialog Header image</description> + <left>40</left> + <top>16</top> + <width>$PARAM[DialogHeaderWidth]</width> + <height>40</height> + <texture>dialogheader.png</texture> + </control> + <control type="label" id="$PARAM[DialogHeaderId]"> + <description>header label</description> + <left>40</left> + <top>20</top> + <width>$PARAM[DialogHeaderWidth]</width> + <height>30</height> + <font>font13_title</font> + <label>$PARAM[DialogHeaderLabel]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>selected</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="button"> + <description>Close Window button</description> + <left>$PARAM[CloseButtonLeft]</left> + <top>15</top> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>$PARAM[CloseButtonNav]</onleft> + <onright>$PARAM[CloseButtonNav]</onright> + <onup>$PARAM[CloseButtonNav]</onup> + <ondown>$PARAM[CloseButtonNav]</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + </include> <include name="BehindDialogFadeOut"> <control type="image"> <left>0</left> diff --git a/addons/skin.confluence/720p/script-RSS_Editor-rssEditor.xml b/addons/skin.confluence/720p/script-RSS_Editor-rssEditor.xml index 5050196d2f..010a3e7483 100644 --- a/addons/skin.confluence/720p/script-RSS_Editor-rssEditor.xml +++ b/addons/skin.confluence/720p/script-RSS_Editor-rssEditor.xml @@ -8,51 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>800</width> - <height>420</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>720</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="2"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>720</width> - <height>30</height> - <font>font13_title</font> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>710</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="800" /> + <param name="DialogBackgroundHeight" value="420" /> + <param name="DialogHeaderWidth" value="720" /> + <param name="DialogHeaderLabel" value="-" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="710" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="label" id="3"> <description>List label</description> <left>20</left> diff --git a/addons/skin.confluence/720p/script-RSS_Editor-setEditor.xml b/addons/skin.confluence/720p/script-RSS_Editor-setEditor.xml index 5050196d2f..010a3e7483 100644 --- a/addons/skin.confluence/720p/script-RSS_Editor-setEditor.xml +++ b/addons/skin.confluence/720p/script-RSS_Editor-setEditor.xml @@ -8,51 +8,15 @@ </coordinates> <include>dialogeffect</include> <controls> - <control type="image"> - <description>background image</description> - <left>0</left> - <top>0</top> - <width>800</width> - <height>420</height> - <texture border="40">DialogBack.png</texture> - </control> - <control type="image"> - <description>Dialog Header image</description> - <left>40</left> - <top>16</top> - <width>720</width> - <height>40</height> - <texture>dialogheader.png</texture> - </control> - <control type="label" id="2"> - <description>header label</description> - <left>40</left> - <top>20</top> - <width>720</width> - <height>30</height> - <font>font13_title</font> - <align>center</align> - <aligny>center</aligny> - <textcolor>selected</textcolor> - <shadowcolor>black</shadowcolor> - </control> - <control type="button"> - <description>Close Window button</description> - <left>710</left> - <top>15</top> - <width>64</width> - <height>32</height> - <label>-</label> - <font>-</font> - <onclick>PreviousMenu</onclick> - <texturefocus>DialogCloseButton-focus.png</texturefocus> - <texturenofocus>DialogCloseButton.png</texturenofocus> - <onleft>10</onleft> - <onright>10</onright> - <onup>10</onup> - <ondown>10</ondown> - <visible>system.getbool(input.enablemouse)</visible> - </control> + <include name="DialogBackgroundCommons"> + <param name="DialogBackgroundWidth" value="800" /> + <param name="DialogBackgroundHeight" value="420" /> + <param name="DialogHeaderWidth" value="720" /> + <param name="DialogHeaderLabel" value="-" /> + <param name="DialogHeaderId" value="2" /> + <param name="CloseButtonLeft" value="710" /> + <param name="CloseButtonNav" value="10" /> + </include> <control type="label" id="3"> <description>List label</description> <left>20</left> diff --git a/addons/skin.confluence/media/flagging/audio/pcm.png b/addons/skin.confluence/media/flagging/audio/pcm.png Binary files differnew file mode 100644 index 0000000000..752a9a44b9 --- /dev/null +++ b/addons/skin.confluence/media/flagging/audio/pcm.png diff --git a/addons/skin.confluence/media/flagging/audio/pcm_s16le.png b/addons/skin.confluence/media/flagging/audio/pcm_s16le.png Binary files differnew file mode 100644 index 0000000000..752a9a44b9 --- /dev/null +++ b/addons/skin.confluence/media/flagging/audio/pcm_s16le.png diff --git a/addons/skin.confluence/media/flagging/audio/pcm_s24le.png b/addons/skin.confluence/media/flagging/audio/pcm_s24le.png Binary files differnew file mode 100644 index 0000000000..752a9a44b9 --- /dev/null +++ b/addons/skin.confluence/media/flagging/audio/pcm_s24le.png diff --git a/addons/skin.confluence/sounds/sounds.xml b/addons/skin.confluence/sounds/sounds.xml index 68b97652c0..b774c5186c 100644 --- a/addons/skin.confluence/sounds/sounds.xml +++ b/addons/skin.confluence/sounds/sounds.xml @@ -66,6 +66,10 @@ <name>screenshot</name> <file>shutter.wav</file> </action> + <action> + <name>error</name> + <file>notify.wav</file> + </action> </actions> <windows> diff --git a/docs/README.ubuntu b/docs/README.ubuntu index e221f93bc7..abf33fa954 100644 --- a/docs/README.ubuntu +++ b/docs/README.ubuntu @@ -47,13 +47,21 @@ Two methods exist to install the required Ubuntu packages: You can get all build dependencies used for building the packages on the PPA -Add the unstable and build-depends PPAs: -.0 $ sudo apt-get install python-software-properties software-properties-common -.1 $ sudo add-apt-repository ppa:team-xbmc/xbmc-nightly -.2 $ sudo add-apt-repository ppa:team-xbmc/xbmc-ppa-build-depends -.3 $ sudo apt-get update +Add the unstable PPA: + +For <= 12.04 lts: + $ sudo apt-get install python-software-properties + $ sudo add-apt-repository ppa:team-xbmc/xbmc-nightly + +For >= 14.04 lts: + $ sudo apt-get install software-properties-common + $ sudo add-apt-repository -s ppa:team-xbmc/xbmc-nightly + +Add build-depends PPA: + $ sudo add-apt-repository ppa:team-xbmc/xbmc-ppa-build-depends Here is the magic command to get the build dependencies (used to compile the version on the PPA). + $ sudo apt-get update $ sudo apt-get build-dep kodi Optional: If you do not want Kodi to be installed via PPA, you can removed the PPAs again: diff --git a/tools/buildsteps/android/make-native-depends b/tools/buildsteps/android/make-native-depends index f67ced0eef..c327180f6d 100644 --- a/tools/buildsteps/android/make-native-depends +++ b/tools/buildsteps/android/make-native-depends @@ -2,7 +2,7 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} XBMC_PLATFORM_DIR=android . $WORKSPACE/tools/buildsteps/defaultenv -if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] +if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] && [ "$BINARY_ADDONS_CLEAN_NATIVETOOLS" != "0" ] then git clean -xffd $WORKSPACE/tools/depends/native cd $WORKSPACE/tools/depends/native;make -j $BUILDTHREADS && tagSuccessFulBuild $WORKSPACE/tools/depends diff --git a/tools/buildsteps/android/prepare-xbmc b/tools/buildsteps/android/prepare-xbmc index b6402ee3c9..bccdcb0453 100644 --- a/tools/buildsteps/android/prepare-xbmc +++ b/tools/buildsteps/android/prepare-xbmc @@ -11,4 +11,7 @@ fi git submodule update --init $WORKSPACE/addons/skin.re-touched #build binary addons before building xbmc... +#make sure that binary_addons don't clean the native tools +#here (e.x. on release builds where pathChanged always returns 1 +BINARY_ADDONS_CLEAN_NATIVETOOLS="0" . $WORKSPACE/tools/buildsteps/$XBMC_PLATFORM_DIR/make-binary-addons diff --git a/tools/buildsteps/androidx86/make-native-depends b/tools/buildsteps/androidx86/make-native-depends index 549ad2becb..33cc579322 100644 --- a/tools/buildsteps/androidx86/make-native-depends +++ b/tools/buildsteps/androidx86/make-native-depends @@ -2,7 +2,7 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} XBMC_PLATFORM_DIR=android . $WORKSPACE/tools/buildsteps/defaultenv -if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] +if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] && [ "$BINARY_ADDONS_CLEAN_NATIVETOOLS" != "0" ] then git clean -xffd $WORKSPACE/tools/depends/native cd $WORKSPACE/tools/depends/native;make -j $BUILDTHREADS && tagSuccessFulBuild $WORKSPACE/tools/depends diff --git a/tools/buildsteps/androidx86/prepare-xbmc b/tools/buildsteps/androidx86/prepare-xbmc index b6402ee3c9..bccdcb0453 100644 --- a/tools/buildsteps/androidx86/prepare-xbmc +++ b/tools/buildsteps/androidx86/prepare-xbmc @@ -11,4 +11,7 @@ fi git submodule update --init $WORKSPACE/addons/skin.re-touched #build binary addons before building xbmc... +#make sure that binary_addons don't clean the native tools +#here (e.x. on release builds where pathChanged always returns 1 +BINARY_ADDONS_CLEAN_NATIVETOOLS="0" . $WORKSPACE/tools/buildsteps/$XBMC_PLATFORM_DIR/make-binary-addons diff --git a/tools/buildsteps/atv2/make-native-depends b/tools/buildsteps/atv2/make-native-depends index 416c14f3cb..fea566c3a7 100755 --- a/tools/buildsteps/atv2/make-native-depends +++ b/tools/buildsteps/atv2/make-native-depends @@ -2,7 +2,7 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} XBMC_PLATFORM_DIR=atv2 . $WORKSPACE/tools/buildsteps/defaultenv -if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] +if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] && [ "$BINARY_ADDONS_CLEAN_NATIVETOOLS" != "0" ] then git clean -xffd $WORKSPACE/tools/depends/native cd $WORKSPACE/tools/depends/native;make -j $BUILDTHREADS && tagSuccessFulBuild $WORKSPACE/tools/depends diff --git a/tools/buildsteps/atv2/prepare-xbmc b/tools/buildsteps/atv2/prepare-xbmc index b24df067fd..b20fc6613e 100755 --- a/tools/buildsteps/atv2/prepare-xbmc +++ b/tools/buildsteps/atv2/prepare-xbmc @@ -4,4 +4,7 @@ XBMC_PLATFORM_DIR=atv2 #build binary addons before building xbmc... +#make sure that binary_addons don't clean the native tools +#here (e.x. on release builds where pathChanged always returns 1 +BINARY_ADDONS_CLEAN_NATIVETOOLS="0" . $WORKSPACE/tools/buildsteps/$XBMC_PLATFORM_DIR/make-binary-addons diff --git a/tools/buildsteps/ios/make-native-depends b/tools/buildsteps/ios/make-native-depends index 36ebea8bb3..3211bf7065 100755 --- a/tools/buildsteps/ios/make-native-depends +++ b/tools/buildsteps/ios/make-native-depends @@ -2,7 +2,7 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} XBMC_PLATFORM_DIR=ios . $WORKSPACE/tools/buildsteps/defaultenv -if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] +if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] && [ "$BINARY_ADDONS_CLEAN_NATIVETOOLS" != "0" ] then git clean -xffd $WORKSPACE/tools/depends/native cd $WORKSPACE/tools/depends/native;make -j $BUILDTHREADS && tagSuccessFulBuild $WORKSPACE/tools/depends diff --git a/tools/buildsteps/ios/prepare-xbmc b/tools/buildsteps/ios/prepare-xbmc index 9497ceab6b..0d96ee12ec 100755 --- a/tools/buildsteps/ios/prepare-xbmc +++ b/tools/buildsteps/ios/prepare-xbmc @@ -11,4 +11,7 @@ fi git submodule update --init $WORKSPACE/addons/skin.re-touched #build binary addons before building xbmc... +#make sure that binary_addons don't clean the native tools +#here (e.x. on release builds where pathChanged always returns 1 +BINARY_ADDONS_CLEAN_NATIVETOOLS="0" . $WORKSPACE/tools/buildsteps/$XBMC_PLATFORM_DIR/make-binary-addons diff --git a/tools/buildsteps/linux32/make-native-depends b/tools/buildsteps/linux32/make-native-depends index 1f21d53375..9afd70b1ab 100755 --- a/tools/buildsteps/linux32/make-native-depends +++ b/tools/buildsteps/linux32/make-native-depends @@ -2,7 +2,7 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} XBMC_PLATFORM_DIR=linux32 . $WORKSPACE/tools/buildsteps/defaultenv -if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] +if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] && [ "$BINARY_ADDONS_CLEAN_NATIVETOOLS" != "0" ] then git clean -xffd $WORKSPACE/tools/depends/native cd $WORKSPACE/tools/depends/native;make -j $BUILDTHREADS && tagSuccessFulBuild $WORKSPACE/tools/depends diff --git a/tools/buildsteps/linux32/prepare-xbmc b/tools/buildsteps/linux32/prepare-xbmc index 0fbd21ee35..f22988a5ee 100755 --- a/tools/buildsteps/linux32/prepare-xbmc +++ b/tools/buildsteps/linux32/prepare-xbmc @@ -3,4 +3,7 @@ XBMC_PLATFORM_DIR=linux32 . $WORKSPACE/tools/buildsteps/defaultenv #build binary addons before building xbmc... +#make sure that binary_addons don't clean the native tools +#here (e.x. on release builds where pathChanged always returns 1 +BINARY_ADDONS_CLEAN_NATIVETOOLS="0" . $WORKSPACE/tools/buildsteps/$XBMC_PLATFORM_DIR/make-binary-addons diff --git a/tools/buildsteps/linux64/make-native-depends b/tools/buildsteps/linux64/make-native-depends index c05850f7f3..82abef5c52 100755 --- a/tools/buildsteps/linux64/make-native-depends +++ b/tools/buildsteps/linux64/make-native-depends @@ -2,7 +2,7 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} XBMC_PLATFORM_DIR=linux64 . $WORKSPACE/tools/buildsteps/defaultenv -if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] +if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] && [ "$BINARY_ADDONS_CLEAN_NATIVETOOLS" != "0" ] then git clean -xffd $WORKSPACE/tools/depends/native cd $WORKSPACE/tools/depends/native;make -j $BUILDTHREADS && tagSuccessFulBuild $WORKSPACE/tools/depends diff --git a/tools/buildsteps/linux64/prepare-xbmc b/tools/buildsteps/linux64/prepare-xbmc index 6d6db0fcb2..71f0a12206 100755 --- a/tools/buildsteps/linux64/prepare-xbmc +++ b/tools/buildsteps/linux64/prepare-xbmc @@ -3,4 +3,7 @@ XBMC_PLATFORM_DIR=linux64 . $WORKSPACE/tools/buildsteps/defaultenv #build binary addons before building xbmc... +#make sure that binary_addons don't clean the native tools +#here (e.x. on release builds where pathChanged always returns 1 +BINARY_ADDONS_CLEAN_NATIVETOOLS="0" . $WORKSPACE/tools/buildsteps/$XBMC_PLATFORM_DIR/make-binary-addons diff --git a/tools/buildsteps/osx32/make-native-depends b/tools/buildsteps/osx32/make-native-depends index 6bdbc6665e..7c0a3f4487 100755 --- a/tools/buildsteps/osx32/make-native-depends +++ b/tools/buildsteps/osx32/make-native-depends @@ -2,7 +2,7 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} XBMC_PLATFORM_DIR=osx32 . $WORKSPACE/tools/buildsteps/defaultenv -if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] +if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] && [ "$BINARY_ADDONS_CLEAN_NATIVETOOLS" != "0" ] then git clean -xffd $WORKSPACE/tools/depends/native cd $WORKSPACE/tools/depends/native;make -j $BUILDTHREADS && tagSuccessFulBuild $WORKSPACE/tools/depends diff --git a/tools/buildsteps/osx32/prepare-xbmc b/tools/buildsteps/osx32/prepare-xbmc index 59431ddb17..eb1f30bbff 100755 --- a/tools/buildsteps/osx32/prepare-xbmc +++ b/tools/buildsteps/osx32/prepare-xbmc @@ -3,4 +3,7 @@ XBMC_PLATFORM_DIR=osx32 . $WORKSPACE/tools/buildsteps/defaultenv #build binary addons before building xbmc... +#make sure that binary_addons don't clean the native tools +#here (e.x. on release builds where pathChanged always returns 1 +BINARY_ADDONS_CLEAN_NATIVETOOLS="0" . $WORKSPACE/tools/buildsteps/$XBMC_PLATFORM_DIR/make-binary-addons diff --git a/tools/buildsteps/osx64/make-native-depends b/tools/buildsteps/osx64/make-native-depends index d74c80ee26..b5ef52600c 100755 --- a/tools/buildsteps/osx64/make-native-depends +++ b/tools/buildsteps/osx64/make-native-depends @@ -2,7 +2,7 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} XBMC_PLATFORM_DIR=osx64 . $WORKSPACE/tools/buildsteps/defaultenv -if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] +if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] && [ "$BINARY_ADDONS_CLEAN_NATIVETOOLS" != "0" ] then git clean -xffd $WORKSPACE/tools/depends/native cd $WORKSPACE/tools/depends/native;make -j $BUILDTHREADS && tagSuccessFulBuild $WORKSPACE/tools/depends diff --git a/tools/buildsteps/osx64/prepare-xbmc b/tools/buildsteps/osx64/prepare-xbmc index 2c30e4924c..5ed09fa4b1 100755 --- a/tools/buildsteps/osx64/prepare-xbmc +++ b/tools/buildsteps/osx64/prepare-xbmc @@ -3,4 +3,7 @@ XBMC_PLATFORM_DIR=osx64 . $WORKSPACE/tools/buildsteps/defaultenv #build binary addons before building xbmc... +#make sure that binary_addons don't clean the native tools +#here (e.x. on release builds where pathChanged always returns 1 +BINARY_ADDONS_CLEAN_NATIVETOOLS="0" . $WORKSPACE/tools/buildsteps/$XBMC_PLATFORM_DIR/make-binary-addons diff --git a/tools/buildsteps/rbpi/make-native-depends b/tools/buildsteps/rbpi/make-native-depends index 5f6d64c452..d4d9e7dbe1 100755 --- a/tools/buildsteps/rbpi/make-native-depends +++ b/tools/buildsteps/rbpi/make-native-depends @@ -2,7 +2,7 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )} XBMC_PLATFORM_DIR=rbpi . $WORKSPACE/tools/buildsteps/defaultenv -if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] +if [ "$(pathChanged $WORKSPACE/tools/depends)" == "1" ] && [ "$BINARY_ADDONS_CLEAN_NATIVETOOLS" != "0" ] then git clean -xffd $WORKSPACE/tools/depends/native cd $WORKSPACE/tools/depends/native;make -j $BUILDTHREADS && tagSuccessFulBuild $WORKSPACE/tools/depends diff --git a/tools/buildsteps/rbpi/prepare-xbmc b/tools/buildsteps/rbpi/prepare-xbmc index 468c7ed5cb..15bd09542d 100755 --- a/tools/buildsteps/rbpi/prepare-xbmc +++ b/tools/buildsteps/rbpi/prepare-xbmc @@ -6,4 +6,7 @@ cd $WORKSPACE JSON_BUILDER=$XBMC_DEPENDS_ROOT/i686-linux-gnu-native/bin/JsonSchemaBuilder ./bootstrap #build binary addons before building xbmc... +#make sure that binary_addons don't clean the native tools +#here (e.x. on release builds where pathChanged always returns 1 +BINARY_ADDONS_CLEAN_NATIVETOOLS="0" . $WORKSPACE/tools/buildsteps/$XBMC_PLATFORM_DIR/make-binary-addons diff --git a/tools/buildsteps/win32/run-tests.bat b/tools/buildsteps/win32/run-tests.bat new file mode 100644 index 0000000000..1db6a50f2c --- /dev/null +++ b/tools/buildsteps/win32/run-tests.bat @@ -0,0 +1,99 @@ +@ECHO OFF +SETLOCAL ENABLEDELAYEDEXPANSION +REM setup all paths +SET cur_dir=%WORKSPACE%\project\Win32BuildSetup +cd %cur_dir% +SET base_dir=%cur_dir%\..\.. +SET builddeps_dir=%cur_dir%\..\..\project\BuildDependencies +SET bin_dir=%builddeps_dir%\bin +SET msys_bin_dir=%builddeps_dir%\msys\bin +REM read the version values from version.txt +FOR /f %%i IN ('%msys_bin_dir%\awk.exe "/APP_NAME/ {print $2}" %base_dir%\version.txt') DO SET APP_NAME=%%i +FOR /f %%i IN ('%msys_bin_dir%\awk.exe "/COMPANY_NAME/ {print $2}" %base_dir%\version.txt') DO SET COMPANY=%%i +FOR /f %%i IN ('%msys_bin_dir%\awk.exe "/WEBSITE/ {print $2}" %base_dir%\version.txt') DO SET WEBSITE=%%i + +CLS +COLOR 1B +TITLE %APP_NAME% testsuite Build-/Runscript + +rem ------------------------------------------------------------- +rem CONFIG START +SET exitcode=0 +SET useshell=sh +SET BRANCH=na +SET buildconfig=Debug Testsuite +set WORKSPACE=%CD%\..\.. + + + REM look for MSBuild.exe delivered with Visual Studio 2013 + FOR /F "tokens=2,* delims= " %%A IN ('REG QUERY HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\12.0 /v MSBuildToolsRoot') DO SET MSBUILDROOT=%%B + SET NET="%MSBUILDROOT%12.0\bin\MSBuild.exe" + + IF EXIST "!NET!" ( + set msbuildemitsolution=1 + set OPTS_EXE="..\VS2010Express\XBMC for Windows.sln" /t:Build /p:Configuration="%buildconfig%" /property:VCTargetsPath="%MSBUILDROOT%Microsoft.Cpp\v4.0\V120" /m + set CLEAN_EXE="..\VS2010Express\XBMC for Windows.sln" /t:Clean /p:Configuration="%buildconfig%" /property:VCTargetsPath="%MSBUILDROOT%Microsoft.Cpp\v4.0\V120" + ) + + IF NOT EXIST %NET% ( + set DIETEXT=MSBuild was not found. + goto DIE + ) + + set EXE= "..\VS2010Express\XBMC\%buildconfig%\%APP_NAME%-test.exe" + set PDB= "..\VS2010Express\XBMC\%buildconfig%\%APP_NAME%.pdb" + + :: sets the BRANCH env var + call getbranch.bat + + rem CONFIG END + rem ------------------------------------------------------------- + +echo Building %buildconfig% +IF EXIST buildlog.html del buildlog.html /q + +ECHO Compiling testsuite... +%NET% %OPTS_EXE% + +IF %errorlevel%==1 ( + set DIETEXT="%APP_NAME%-test.EXE failed to build! See %CD%\..\vs2010express\XBMC\%buildconfig%\objs\XBMC.log" + type "%CD%\..\vs2010express\XBMC\%buildconfig%\objs\XBMC.log" + goto DIE +) +ECHO Done building! +ECHO ------------------------------------------------------------ + +:RUNTESTSUITE +ECHO Running testsuite... + cd %WORKSPACE%\project\vs2010express\ + set KODI_HOME=%WORKSPACE% + set PATH=%WORKSPACE%\project\Win32BuildSetup\dependencies;%PATH% + rem exclude TestWebServer tests for now as those last 120 secs per test + rem not for some reason (maybe timeout?!? firewall?!? whatever...) + %EXE% --gtest_output=xml:%WORKSPACE%\gtestresults.xml --gtest_filter=-TestWebServer.* + + rem Adapt gtest xml output to be conform with junit xml + rem this basically looks for lines which have "notrun" in the <testcase /> tag + rem and adds a <skipped/> subtag into it. For example: + rem <testcase name="IsStarted" status="notrun" time="0" classname="TestWebServer"/> + rem becomes + rem <testcase name="IsStarted" status="notrun" time="0" classname="TestWebServer"><skipped/></testcase> + %msys_bin_dir%\sed.exe "s/<testcase\(.*\)\"notrun\"\(.*\)\/>$/<testcase\1\"notrun\"\2><skipped\/><\/testcase>/" %WORKSPACE%\gtestresults.xml > %WORKSPACE%\gtestresults-skipped.xml + del %WORKSPACE%\gtestresults.xml + move %WORKSPACE%\gtestresults-skipped.xml %WORKSPACE%\gtestresults.xml +ECHO Done running testsuite! +ECHO ------------------------------------------------------------ +GOTO END + +:DIE + ECHO ------------------------------------------------------------ + ECHO !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!- + ECHO ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR + ECHO !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!- + set DIETEXT=ERROR: %DIETEXT% + echo %DIETEXT% + SET exitcode=1 + ECHO ------------------------------------------------------------ + +:END + EXIT /B %exitcode%
\ No newline at end of file diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp index 93edcb07e9..69b1cd789c 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -3886,7 +3886,7 @@ bool CApplication::OnMessage(CGUIMessage& message) { if (!m_itemCurrentFile->HasMusicInfoTag() || !m_itemCurrentFile->GetMusicInfoTag()->Loaded()) { - IMusicInfoTagLoader* tagloader = CMusicInfoTagLoaderFactory::CreateLoader(m_itemCurrentFile->GetPath()); + IMusicInfoTagLoader* tagloader = CMusicInfoTagLoaderFactory::CreateLoader(*m_itemCurrentFile); tagloader->Load(m_itemCurrentFile->GetPath(),*m_itemCurrentFile->GetMusicInfoTag()); delete tagloader; } diff --git a/xbmc/CueDocument.cpp b/xbmc/CueDocument.cpp index dcf6ba8637..747497fb01 100644 --- a/xbmc/CueDocument.cpp +++ b/xbmc/CueDocument.cpp @@ -131,7 +131,6 @@ public: { // Read the next line. line.clear(); - bool stop = false; while (m_pos < m_data.size()) { // Remove the white space at the beginning of the line. diff --git a/xbmc/DllPaths_generated.h.in b/xbmc/DllPaths_generated.h.in index 453af0ee8d..c92a8bd1ec 100644 --- a/xbmc/DllPaths_generated.h.in +++ b/xbmc/DllPaths_generated.h.in @@ -46,10 +46,6 @@ #define DLL_PATH_LIBDVDNAV "special://xbmcbin/system/players/dvdplayer/libdvdnav-@ARCH@.so" #define DLL_PATH_LIBMPEG2 "@MPEG2_SONAME@" -/* cdrip */ -#define DLL_PATH_OGG "@OGG_SONAME@" -#define DLL_PATH_VORBIS "@VORBIS_SONAME@" - /* libbluray */ #define DLL_PATH_LIBBLURAY "@BLURAY_SONAME@" diff --git a/xbmc/DllPaths_generated_android.h.in b/xbmc/DllPaths_generated_android.h.in index 6270b85da1..4369a7093c 100644 --- a/xbmc/DllPaths_generated_android.h.in +++ b/xbmc/DllPaths_generated_android.h.in @@ -43,28 +43,6 @@ #define DLL_PATH_LIBCURL "@CURL_SONAME@" #endif -/* paplayer */ -#define DLL_PATH_AAC_CODEC "libAACCodec-@ARCH@.so" -#define DLL_PATH_ADPCM_CODEC "libadpcm-@ARCH@.so" -#define DLL_PATH_ADPLUG_CODEC "libadplug-@ARCH@.so" -#define DLL_PATH_APE_CODEC "libMACDll-@ARCH@.so" -#define DLL_PATH_ASAP_CODEC "libxbmc_asap-@ARCH@.so" -#define DLL_PATH_DCA_CODEC "libdcacodec-@ARCH@.so" -#define DLL_PATH_GYM_CODEC "libgensapu-@ARCH@.so" -#define DLL_PATH_MID_CODEC "libtimidity-@ARCH@.so" -#define DLL_PATH_MODULE_CODEC "libdumb-@ARCH@.so" -#define DLL_PATH_MPC_CODEC "libmpcdec-@ARCH@.so" -#define DLL_PATH_NSF_CODEC "libnosefart-@ARCH@.so" -#define DLL_PATH_SID_CODEC "libsidplay2-@ARCH@.so" -#define DLL_PATH_SPC_CODEC "libSNESAPU-@ARCH@.so" -#define DLL_PATH_VGM_CODEC "libvgmstream-@ARCH@.so" -#define DLL_PATH_WAVPACK_CODEC "@WAVPACK_SONAME@" -#define DLL_PATH_YM_CODEC "libstsoundlibrary-@ARCH@.so" - -#define DLL_PATH_FLAC_CODEC "@FLAC_SONAME@" -#define DLL_PATH_MODPLUG_CODEC "@MODPLUG_SONAME@" -#define DLL_PATH_OGG_CODEC "@VORBISFILE_SONAME@" - /* dvdplayer */ #define DLL_PATH_LIBASS "@ASS_SONAME@" #define DLL_PATH_LIBDVDNAV "libdvdnav-@ARCH@.so" diff --git a/xbmc/FileItem.cpp b/xbmc/FileItem.cpp index 773ac20851..34a699ae25 100644 --- a/xbmc/FileItem.cpp +++ b/xbmc/FileItem.cpp @@ -3025,7 +3025,7 @@ bool CFileItem::LoadMusicTag() // load tag from file CLog::Log(LOGDEBUG, "%s: loading tag information for file: %s", __FUNCTION__, m_strPath.c_str()); CMusicInfoTagLoaderFactory factory; - unique_ptr<IMusicInfoTagLoader> pLoader (factory.CreateLoader(m_strPath)); + unique_ptr<IMusicInfoTagLoader> pLoader (factory.CreateLoader(*this)); if (pLoader.get() != NULL) { if (pLoader->Load(m_strPath, *GetMusicInfoTag())) diff --git a/xbmc/URL.cpp b/xbmc/URL.cpp index e7eab6fd62..1f78c4cf59 100644 --- a/xbmc/URL.cpp +++ b/xbmc/URL.cpp @@ -333,9 +333,9 @@ void CURL::SetFileName(const std::string& strFileName) { m_strFileName = strFileName; - int slash = m_strFileName.find_last_of(GetDirectorySeparator()); - int period = m_strFileName.find_last_of('.'); - if(period != -1 && (slash == -1 || period > slash)) + size_t slash = m_strFileName.find_last_of(GetDirectorySeparator()); + size_t period = m_strFileName.find_last_of('.'); + if(period != std::string::npos && (slash == std::string::npos || period > slash)) m_strFileType = m_strFileName.substr(period+1); else m_strFileType = ""; diff --git a/xbmc/cdrip/CDDARipper.cpp b/xbmc/cdrip/CDDARipper.cpp index a48448204c..38df47adc7 100644 --- a/xbmc/cdrip/CDDARipper.cpp +++ b/xbmc/cdrip/CDDARipper.cpp @@ -116,7 +116,7 @@ bool CCDDARipper::RipCD() { CFileItemPtr pItem = vecItems[i]; CMusicInfoTagLoaderFactory factory; - unique_ptr<IMusicInfoTagLoader> pLoader (factory.CreateLoader(pItem->GetPath())); + unique_ptr<IMusicInfoTagLoader> pLoader (factory.CreateLoader(*pItem)); if (NULL != pLoader.get()) { pLoader->Load(pItem->GetPath(), *pItem->GetMusicInfoTag()); // get tag from file diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp index be05c2ee0e..3af0b9c6da 100644 --- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp +++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp @@ -476,7 +476,7 @@ int CDVDInputStreamNavigator::ProcessBlock(uint8_t* dest_buffer, int* read) { uint64_t* times = NULL; uint64_t duration; - unsigned int entries = m_dll.dvdnav_describe_title_chapters(m_dvdnav, m_iTitle, ×, &duration); + int entries = static_cast<int>(m_dll.dvdnav_describe_title_chapters(m_dvdnav, m_iTitle, ×, &duration)); if (entries != m_iPartCount) CLog::Log(LOGDEBUG, "%s - Number of chapters/positions differ: Chapters %d, positions %d\n", __FUNCTION__, m_iPartCount, entries); diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp index 46c402dc9b..f99c86556f 100644 --- a/xbmc/cores/dvdplayer/DVDPlayer.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp @@ -834,7 +834,7 @@ bool CDVDPlayer::OpenDemuxStream() int64_t len = m_pInputStream->GetLength(); int64_t tim = m_pDemuxer->GetStreamLength(); if(len > 0 && tim > 0) - m_pInputStream->SetReadRate((unsigned int) (g_advancedSettings.m_readBufferFactor * len * 1000 / tim)); + m_pInputStream->SetReadRate((unsigned int) (len * 1000 / tim)); return true; } @@ -1680,7 +1680,10 @@ bool CDVDPlayer::GetCachingTimes(double& level, double& delay, double& offset) delay = cache_left - play_left; if (full && (currate < maxrate) ) + { + CLog::Log(LOGDEBUG, "Readrate %u is too low with %u required", currate, maxrate); level = -1.0; /* buffer is full & our read rate is too low */ + } else level = (cached + queued) / (cache_need + queued); diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp index 0c486b1e71..15e6f73a3d 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp +++ b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp @@ -650,7 +650,7 @@ void CDVDPlayerAudio::HandleSyncError(double duration) double threshold1 = DVD_MSEC_TO_TIME(100); double threshold2 = DVD_MSEC_TO_TIME(50); - // adjust threasholds + // adjust thresholds // some codecs like flac have a very large frame length if (threshold1 < 1.5 * duration) threshold1 = 1.5 * duration; @@ -662,19 +662,23 @@ void CDVDPlayerAudio::HandleSyncError(double duration) if (fabs(error) > threshold1) { m_syncclock = true; - m_errors.Flush(); + m_errors.Flush(500); m_integral = 0.0; return; } else if (m_syncclock && fabs(error) < threshold2) { m_syncclock = false; - m_errors.Flush(); + // we are about to get stable, increase interval + m_errors.Flush(1000); m_integral = 0.0; } - //check if measured error for 2 seconds - if (m_errors.Get(m_error)) + // check if measured error for 2 seconds + // when moving from big erros and we are still above threshold2, calculate errors every + // 500ms in order to get first resample ratio early. If we don't adjust rr early, error + // may get above threshold1 again. Too small values for interval result in worse average errors + if (m_errors.Get(m_error, m_syncclock ? 500 : 2000)) { if (m_synctype == SYNC_DISCON) { diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.h b/xbmc/cores/dvdplayer/DVDPlayerAudio.h index 5db89f6683..d58c45cc71 100644 --- a/xbmc/cores/dvdplayer/DVDPlayerAudio.h +++ b/xbmc/cores/dvdplayer/DVDPlayerAudio.h @@ -69,11 +69,11 @@ public: m_count++; } - void Flush() + void Flush(int interval = 2000) { m_buffer = 0.0f; m_count = 0; - m_timer.Set(2000); + m_timer.Set(interval); } double Get() @@ -84,12 +84,12 @@ public: return 0.0; } - bool Get(double& error) + bool Get(double& error, int interval = 2000) { if(m_timer.IsTimePast()) { error = Get(); - Flush(); + Flush(interval); return true; } else diff --git a/xbmc/cores/paplayer/CodecFactory.cpp b/xbmc/cores/paplayer/CodecFactory.cpp index b2924a7fd4..a05669b838 100644 --- a/xbmc/cores/paplayer/CodecFactory.cpp +++ b/xbmc/cores/paplayer/CodecFactory.cpp @@ -112,9 +112,6 @@ ICodec* CodecFactory::CreateCodecDemux(const std::string& strFile, const std::st return dvdcodec; } else - { - DVDPlayerCodec *dvdcodec = new DVDPlayerCodec(); - return dvdcodec; - } + return CreateCodec(urlFile.GetFileType()); } diff --git a/xbmc/filesystem/CurlFile.cpp b/xbmc/filesystem/CurlFile.cpp index 70d7b8d859..ca8f5c5fc3 100644 --- a/xbmc/filesystem/CurlFile.cpp +++ b/xbmc/filesystem/CurlFile.cpp @@ -875,7 +875,7 @@ bool CCurlFile::Download(const std::string& strURL, const std::string& strFileNa if (pdwSize != NULL) *pdwSize = written > 0 ? written : 0; - return written == strData.size(); + return written == static_cast<ssize_t>(strData.size()); } // Detect whether we are "online" or not! Very simple and dirty! diff --git a/xbmc/filesystem/FileCache.cpp b/xbmc/filesystem/FileCache.cpp index 2152fefced..e3fd1f2712 100644 --- a/xbmc/filesystem/FileCache.cpp +++ b/xbmc/filesystem/FileCache.cpp @@ -277,13 +277,13 @@ void CFileCache::Process() while (m_writeRate) { - if (m_writePos - m_readPos < m_writeRate) + if (m_writePos - m_readPos < m_writeRate * g_advancedSettings.m_readBufferFactor) { limiter.Reset(m_writePos); break; } - if (limiter.Rate(m_writePos) < m_writeRate) + if (limiter.Rate(m_writePos) < m_writeRate * g_advancedSettings.m_readBufferFactor) break; if (m_seekEvent.WaitMSec(100)) diff --git a/xbmc/filesystem/HTTPFile.cpp b/xbmc/filesystem/HTTPFile.cpp index 8711f3e7e4..8759791825 100644 --- a/xbmc/filesystem/HTTPFile.cpp +++ b/xbmc/filesystem/HTTPFile.cpp @@ -47,7 +47,7 @@ ssize_t CHTTPFile::Write(const void* lpBuf, size_t uiBufSize) return -1; std::string myPostData((char*) lpBuf); - if ((int64_t)myPostData.length() != uiBufSize) + if (myPostData.length() != uiBufSize) return -1; // If we get here, we (most likely) satisfied the pre-conditions that we used OpenForWrite and passed a string as postdata diff --git a/xbmc/filesystem/ISOFile.cpp b/xbmc/filesystem/ISOFile.cpp index 1ca560d31b..c75c810ba5 100644 --- a/xbmc/filesystem/ISOFile.cpp +++ b/xbmc/filesystem/ISOFile.cpp @@ -85,7 +85,9 @@ ssize_t CISOFile::Read(void *lpBuf, size_t uiBufSize) if (m_cache.getMaxReadSize() ) { long lBytes2Read = m_cache.getMaxReadSize(); - if (lBytes2Read > uiBufSize) lBytes2Read = (long)uiBufSize; + if (lBytes2Read > static_cast<long>(uiBufSize)) + lBytes2Read = static_cast<long>(uiBufSize); + m_cache.ReadData(pData, lBytes2Read ); uiBufSize -= lBytes2Read ; pData += lBytes2Read; diff --git a/xbmc/filesystem/RarFile.cpp b/xbmc/filesystem/RarFile.cpp index d88a724638..5c01e182a3 100644 --- a/xbmc/filesystem/RarFile.cpp +++ b/xbmc/filesystem/RarFile.cpp @@ -302,7 +302,7 @@ ssize_t CRarFile::Read(void *lpBuf, size_t uiBufSize) int64_t uicBufSize = uiBufSize; if (m_iDataInBuffer > 0) { - int64_t iCopy = uiBufSize<m_iDataInBuffer?uiBufSize:m_iDataInBuffer; + int64_t iCopy = (uiBufSize < static_cast<size_t>(m_iDataInBuffer)) ? uiBufSize : m_iDataInBuffer; memcpy(lpBuf,m_szStartOfBuffer,size_t(iCopy)); m_szStartOfBuffer += iCopy; m_iDataInBuffer -= int(iCopy); diff --git a/xbmc/filesystem/ZipFile.cpp b/xbmc/filesystem/ZipFile.cpp index 614b20fa5e..8bddfab659 100644 --- a/xbmc/filesystem/ZipFile.cpp +++ b/xbmc/filesystem/ZipFile.cpp @@ -305,7 +305,7 @@ ssize_t CZipFile::Read(void* lpBuf, size_t uiBufSize) { uLong iDecompressed = 0; uLong prevOut = m_ZStream.total_out; - while (((int)iDecompressed < uiBufSize) && ((m_iZipFilePos < mZipItem.csize) || (m_bFlush))) + while ((static_cast<size_t>(iDecompressed) < uiBufSize) && ((m_iZipFilePos < mZipItem.csize) || (m_bFlush))) { m_ZStream.next_out = (Bytef*)(lpBuf)+iDecompressed; m_ZStream.avail_out = static_cast<uInt>(uiBufSize-iDecompressed); diff --git a/xbmc/filesystem/test/TestFile.cpp b/xbmc/filesystem/test/TestFile.cpp index d106c8a444..35137c957b 100644 --- a/xbmc/filesystem/test/TestFile.cpp +++ b/xbmc/filesystem/test/TestFile.cpp @@ -21,6 +21,7 @@ #include "filesystem/File.h" #include "test/TestUtils.h" +#include <string> #include <errno.h> #include "gtest/gtest.h" @@ -52,11 +53,11 @@ TEST(TestFile, Read) file.Flush(); currentPos = firstBuf.length(); EXPECT_EQ(currentPos, file.GetPosition()); - EXPECT_TRUE(memcmp(firstBuf.c_str(), buf, firstBuf.length()) == 0); - EXPECT_TRUE(file.Read(buf, secondBuf.length())); + EXPECT_EQ(0, memcmp(firstBuf.c_str(), buf, firstBuf.length())); + EXPECT_EQ(secondBuf.length(), file.Read(buf, secondBuf.length())); currentPos += secondBuf.length(); EXPECT_EQ(currentPos, file.GetPosition()); - EXPECT_TRUE(memcmp(secondBuf.c_str(), buf, secondBuf.length()) == 0); + EXPECT_EQ(0, memcmp(secondBuf.c_str(), buf, secondBuf.length())); currentPos = 100 + addPerLine * 3; EXPECT_EQ(currentPos, file.Seek(currentPos)); EXPECT_EQ(currentPos, file.GetPosition()); @@ -64,7 +65,7 @@ TEST(TestFile, Read) file.Flush(); currentPos += thirdBuf.length(); EXPECT_EQ(currentPos, file.GetPosition()); - EXPECT_TRUE(memcmp(thirdBuf.c_str(), buf, thirdBuf.length()) == 0); + EXPECT_EQ(0, memcmp(thirdBuf.c_str(), buf, thirdBuf.length())); currentPos += 100 + addPerLine * 1; EXPECT_EQ(currentPos, file.Seek(100 + addPerLine * 1, SEEK_CUR)); EXPECT_EQ(currentPos, file.GetPosition()); @@ -72,7 +73,7 @@ TEST(TestFile, Read) file.Flush(); currentPos += fourthBuf.length(); EXPECT_EQ(currentPos, file.GetPosition()); - EXPECT_TRUE(memcmp(fourthBuf.c_str(), buf, fourthBuf.length()) == 0); + EXPECT_EQ(0, memcmp(fourthBuf.c_str(), buf, fourthBuf.length())); currentPos = realSize - fifthBuf.length(); EXPECT_EQ(currentPos, file.Seek(-(int64_t)fifthBuf.length(), SEEK_END)); EXPECT_EQ(currentPos, file.GetPosition()); @@ -80,7 +81,7 @@ TEST(TestFile, Read) file.Flush(); currentPos += fifthBuf.length(); EXPECT_EQ(currentPos, file.GetPosition()); - EXPECT_TRUE(memcmp(fifthBuf.c_str(), buf, fifthBuf.length()) == 0); + EXPECT_EQ(0, memcmp(fifthBuf.c_str(), buf, fifthBuf.length())); currentPos += 100; EXPECT_EQ(currentPos, file.Seek(100, SEEK_CUR)); EXPECT_EQ(currentPos, file.GetPosition()); @@ -90,7 +91,7 @@ TEST(TestFile, Read) file.Flush(); currentPos += firstBuf.length(); EXPECT_EQ(currentPos, file.GetPosition()); - EXPECT_TRUE(memcmp(firstBuf.c_str(), buf, firstBuf.length()) == 0); + EXPECT_EQ(0, memcmp(firstBuf.c_str(), buf, firstBuf.length())); EXPECT_EQ(0, file.Seek(0, SEEK_SET)); EXPECT_EQ(-1, file.Seek(-100, SEEK_SET)); file.Close(); @@ -103,7 +104,7 @@ TEST(TestFile, Write) char buf[30]; memset(&buf, 0, sizeof(buf)); - ASSERT_TRUE((file = XBMC_CREATETEMPFILE("")) != NULL); + ASSERT_NE(nullptr, file = XBMC_CREATETEMPFILE("")); file->Close(); ASSERT_TRUE(file->OpenForWrite(XBMC_TEMPFILEPATH(file), true)); EXPECT_EQ((int)sizeof(str), file->Write(str, sizeof(str))); @@ -118,7 +119,7 @@ TEST(TestFile, Write) EXPECT_EQ(sizeof(str), file->Read(buf, sizeof(buf))); file->Flush(); EXPECT_EQ((int64_t)sizeof(str), file->GetPosition()); - EXPECT_TRUE(!memcmp(str, buf, sizeof(str))); + EXPECT_EQ(0, memcmp(str, buf, sizeof(str))); file->Close(); EXPECT_TRUE(XBMC_DELETETEMPFILE(file)); } @@ -127,7 +128,7 @@ TEST(TestFile, Exists) { XFILE::CFile *file; - ASSERT_TRUE((file = XBMC_CREATETEMPFILE("")) != NULL); + ASSERT_NE(nullptr, file = XBMC_CREATETEMPFILE("")); file->Close(); EXPECT_TRUE(XFILE::CFile::Exists(XBMC_TEMPFILEPATH(file))); EXPECT_FALSE(XFILE::CFile::Exists("")); @@ -139,10 +140,10 @@ TEST(TestFile, Stat) XFILE::CFile *file; struct __stat64 buffer; - ASSERT_TRUE((file = XBMC_CREATETEMPFILE("")) != NULL); + ASSERT_NE(nullptr, file = XBMC_CREATETEMPFILE("")); EXPECT_EQ(0, file->Stat(&buffer)); file->Close(); - EXPECT_TRUE(buffer.st_mode | _S_IFREG); + EXPECT_NE(0, buffer.st_mode | _S_IFREG); EXPECT_EQ(-1, XFILE::CFile::Stat("", &buffer)); EXPECT_EQ(ENOENT, errno); EXPECT_TRUE(XBMC_DELETETEMPFILE(file)); @@ -153,7 +154,7 @@ TEST(TestFile, Delete) XFILE::CFile *file; std::string path; - ASSERT_TRUE((file = XBMC_CREATETEMPFILE("")) != NULL); + ASSERT_NE(nullptr, file = XBMC_CREATETEMPFILE("")); file->Close(); path = XBMC_TEMPFILEPATH(file); EXPECT_TRUE(XFILE::CFile::Exists(path)); @@ -166,10 +167,10 @@ TEST(TestFile, Rename) XFILE::CFile *file; std::string path1, path2; - ASSERT_TRUE((file = XBMC_CREATETEMPFILE("")) != NULL); + ASSERT_NE(nullptr, file = XBMC_CREATETEMPFILE("")); file->Close(); path1 = XBMC_TEMPFILEPATH(file); - ASSERT_TRUE((file = XBMC_CREATETEMPFILE("")) != NULL); + ASSERT_NE(nullptr, file = XBMC_CREATETEMPFILE("")); file->Close(); path2 = XBMC_TEMPFILEPATH(file); EXPECT_TRUE(XFILE::CFile::Delete(path1)); @@ -186,10 +187,10 @@ TEST(TestFile, Copy) XFILE::CFile *file; std::string path1, path2; - ASSERT_TRUE((file = XBMC_CREATETEMPFILE("")) != NULL); + ASSERT_NE(nullptr, file = XBMC_CREATETEMPFILE("")); file->Close(); path1 = XBMC_TEMPFILEPATH(file); - ASSERT_TRUE((file = XBMC_CREATETEMPFILE("")) != NULL); + ASSERT_NE(nullptr, file = XBMC_CREATETEMPFILE("")); file->Close(); path2 = XBMC_TEMPFILEPATH(file); EXPECT_TRUE(XFILE::CFile::Delete(path1)); @@ -206,7 +207,7 @@ TEST(TestFile, SetHidden) { XFILE::CFile *file; - ASSERT_TRUE((file = XBMC_CREATETEMPFILE("")) != NULL); + ASSERT_NE(nullptr, file = XBMC_CREATETEMPFILE("")); file->Close(); EXPECT_TRUE(XFILE::CFile::Exists(XBMC_TEMPFILEPATH(file))); bool result = XFILE::CFile::SetHidden(XBMC_TEMPFILEPATH(file), true); diff --git a/xbmc/filesystem/udf25.cpp b/xbmc/filesystem/udf25.cpp index c5f7b268ba..1fde79a707 100644 --- a/xbmc/filesystem/udf25.cpp +++ b/xbmc/filesystem/udf25.cpp @@ -593,7 +593,7 @@ int udf25::ReadAt( int64_t pos, size_t len, unsigned char *data ) return -1; ssize_t ret = m_fp->Read(data, len); - if ( ret < len) + if (static_cast<size_t>(ret) < len) { CLog::Log(LOGERROR, "udf25::ReadFile - less data than requested available!" ); return (int)ret; diff --git a/xbmc/guilib/GUIFontTTF.cpp b/xbmc/guilib/GUIFontTTF.cpp index e30367de6d..9537692468 100644 --- a/xbmc/guilib/GUIFontTTF.cpp +++ b/xbmc/guilib/GUIFontTTF.cpp @@ -697,7 +697,7 @@ bool CGUIFontTTFBase::CacheCharacter(wchar_t letter, uint32_t style, Character * m_posX += -bitGlyph->left; // check we have enough room for the character - if (m_posX + bitGlyph->left + bitmap.width > (int)m_textureWidth) + if (m_posX + bitGlyph->left + bitmap.width > m_textureWidth) { // no space - gotta drop to the next line (which means creating a new texture and copying it across) m_posX = 0; m_posY += GetTextureLineHeight(); diff --git a/xbmc/guilib/JpegIO.cpp b/xbmc/guilib/JpegIO.cpp index 07ea70ef9a..e27bb07583 100644 --- a/xbmc/guilib/JpegIO.cpp +++ b/xbmc/guilib/JpegIO.cpp @@ -525,7 +525,7 @@ bool CJpegIO::CreateThumbnailFromSurface(unsigned char* buffer, unsigned int wid delete [] rgbbuf; XFILE::CFile file; - const bool ret = file.OpenForWrite(destFile, true) && file.Write(result, outBufSize) == outBufSize; + const bool ret = file.OpenForWrite(destFile, true) && file.Write(result, outBufSize) == static_cast<ssize_t>(outBufSize); free(result); return ret; diff --git a/xbmc/input/ButtonTranslator.cpp b/xbmc/input/ButtonTranslator.cpp index 19ae65e0f8..521d76b4af 100644 --- a/xbmc/input/ButtonTranslator.cpp +++ b/xbmc/input/ButtonTranslator.cpp @@ -273,7 +273,8 @@ static const ActionMapping actions[] = {"swipeup" , ACTION_GESTURE_SWIPE_UP}, {"swipedown" , ACTION_GESTURE_SWIPE_DOWN}, - // Do nothing action + // Do nothing / error action + { "error" , ACTION_ERROR}, { "noop" , ACTION_NOOP} }; diff --git a/xbmc/input/Key.h b/xbmc/input/Key.h index dbe10c9c5b..1b28d93467 100644 --- a/xbmc/input/Key.h +++ b/xbmc/input/Key.h @@ -381,7 +381,8 @@ // The NOOP action can be specified to disable an input event. This is // useful in user keyboard.xml etc to disable actions specified in the -// system mappings. +// system mappings. ERROR action is used to play an error sound +#define ACTION_ERROR 998 #define ACTION_NOOP 999 #define ICON_TYPE_NONE 101 diff --git a/xbmc/interfaces/Builtins.cpp b/xbmc/interfaces/Builtins.cpp index 6da94920d3..ddb898326c 100644 --- a/xbmc/interfaces/Builtins.cpp +++ b/xbmc/interfaces/Builtins.cpp @@ -34,6 +34,7 @@ #include "guilib/GUIKeyboardFactory.h" #include "input/Key.h" #include "guilib/StereoscopicsManager.h" +#include "guilib/GUIAudioManager.h" #include "dialogs/GUIDialogKaiToast.h" #include "dialogs/GUIDialogNumeric.h" #include "dialogs/GUIDialogProgress.h" @@ -294,6 +295,22 @@ void CBuiltins::GetHelp(std::string &help) } } +bool CBuiltins::ActivateWindow(int iWindowID, const std::vector<std::string>& params /* = {} */, bool swappingWindows /* = false */) +{ + // don't activate a window if there are active modal dialogs + if (g_windowManager.HasModalDialog() && !g_windowManager.GetWindow(iWindowID)->IsDialog()) + { + CLog::Log(LOG_LEVEL_DEBUG, "Activate of window '%i' refused because there are active modal dialogs", iWindowID); + g_audioManager.PlayActionSound(CAction(ACTION_ERROR)); + return false; + } + + // disable the screensaver + g_application.WakeUpScreenSaverAndDPMS(); + g_windowManager.ActivateWindow(iWindowID, params, swappingWindows); + return true; +} + int CBuiltins::Execute(const std::string& execString) { // Deprecated. Get the text after the "XBMC." @@ -442,9 +459,7 @@ int CBuiltins::Execute(const std::string& execString) // activate window only if window and path differ from the current active window if (iWindow != g_windowManager.GetActiveWindow() || !bIsSameStartFolder) { - // disable the screensaver - g_application.WakeUpScreenSaverAndDPMS(); - g_windowManager.ActivateWindow(iWindow, params, execute != "activatewindow"); + return ActivateWindow(iWindow, params, execute != "activatewindow"); } } else @@ -470,10 +485,8 @@ int CBuiltins::Execute(const std::string& execString) { if (iWindow != g_windowManager.GetActiveWindow()) { - // disable the screensaver - g_application.WakeUpScreenSaverAndDPMS(); - vector<string> dummy; - g_windowManager.ActivateWindow(iWindow, dummy, execute != "activatewindowandfocus"); + if (!ActivateWindow(iWindow, {}, execute != "activatewindowandfocus")) + return false; unsigned int iPtr = 1; while (params.size() > iPtr + 1) @@ -1485,7 +1498,10 @@ int CBuiltins::Execute(const std::string& execString) g_application.getNetwork().NetworkMessage(CNetwork::SERVICES_DOWN,1); CProfilesManager::Get().LoadMasterProfileForLogin(); g_passwordManager.bMasterUser = false; - g_windowManager.ActivateWindow(WINDOW_LOGIN_SCREEN); + + if (!ActivateWindow(WINDOW_LOGIN_SCREEN)) + return false; + if (!CNetworkServices::Get().StartEventServer()) // event server could be needed in some situations CGUIDialogKaiToast::QueueNotification(CGUIDialogKaiToast::Warning, g_localizeStrings.Get(33102), g_localizeStrings.Get(33100)); } diff --git a/xbmc/interfaces/Builtins.h b/xbmc/interfaces/Builtins.h index 9488c02f63..855b385b7d 100644 --- a/xbmc/interfaces/Builtins.h +++ b/xbmc/interfaces/Builtins.h @@ -21,6 +21,7 @@ */ #include <string> +#include <vector> class CBuiltins { @@ -29,5 +30,8 @@ public: static bool IsSystemPowerdownCommand(const std::string& execString); static void GetHelp(std::string &help); static int Execute(const std::string& execString); + +private: + static bool ActivateWindow(int iWindowID, const std::vector<std::string>& params = {}, bool swappingWindows = false); }; diff --git a/xbmc/music/MusicDatabase.cpp b/xbmc/music/MusicDatabase.cpp index d3198b5d74..8497507e90 100644 --- a/xbmc/music/MusicDatabase.cpp +++ b/xbmc/music/MusicDatabase.cpp @@ -5192,7 +5192,7 @@ void CMusicDatabase::ExportKaraokeInfo(const std::string & outFile, bool asHTML) outdoc = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></meta></head>\n" "<body>\n<table>\n"; - if (file.Write(outdoc.c_str(), outdoc.size()) != outdoc.size()) + if (file.Write(outdoc.c_str(), outdoc.size()) != static_cast<ssize_t>(outdoc.size())) return; // error } @@ -5206,7 +5206,7 @@ void CMusicDatabase::ExportKaraokeInfo(const std::string & outFile, bool asHTML) else outdoc = songnum + '\t' + StringUtils::Join(song.artist, g_advancedSettings.m_musicItemSeparator) + '\t' + song.strTitle + '\t' + song.strFileName + "\r\n"; - if (file.Write(outdoc.c_str(), outdoc.size()) != outdoc.size()) + if (file.Write(outdoc.c_str(), outdoc.size()) != static_cast<ssize_t>(outdoc.size())) return; // error if ((current % 50) == 0 && progress) @@ -5229,7 +5229,7 @@ void CMusicDatabase::ExportKaraokeInfo(const std::string & outFile, bool asHTML) if ( asHTML ) { outdoc = "</table>\n</body>\n</html>\n"; - if (file.Write(outdoc.c_str(), outdoc.size()) != outdoc.size()) + if (file.Write(outdoc.c_str(), outdoc.size()) != static_cast<ssize_t>(outdoc.size())) return; // error } diff --git a/xbmc/music/MusicInfoLoader.cpp b/xbmc/music/MusicInfoLoader.cpp index c0140f9f49..0888dee95d 100644 --- a/xbmc/music/MusicInfoLoader.cpp +++ b/xbmc/music/MusicInfoLoader.cpp @@ -111,7 +111,7 @@ bool CMusicInfoLoader::LoadAdditionalTagInfo(CFileItem* pItem) CLog::Log(LOGDEBUG, "Loading additional tag info for file %s", path.c_str()); // we load up the actual tag for this file - unique_ptr<IMusicInfoTagLoader> pLoader (CMusicInfoTagLoaderFactory::CreateLoader(path)); + unique_ptr<IMusicInfoTagLoader> pLoader (CMusicInfoTagLoaderFactory::CreateLoader(*pItem)); if (NULL != pLoader.get()) { CMusicInfoTag tag; @@ -197,7 +197,7 @@ bool CMusicInfoLoader::LoadItemLookup(CFileItem* pItem) { // Nothing found, load tag from file, // always try to load cddb info // get correct tag parser - unique_ptr<IMusicInfoTagLoader> pLoader (CMusicInfoTagLoaderFactory::CreateLoader(pItem->GetPath())); + unique_ptr<IMusicInfoTagLoader> pLoader (CMusicInfoTagLoaderFactory::CreateLoader(*pItem)); if (NULL != pLoader.get()) // get tag pLoader->Load(pItem->GetPath(), *pItem->GetMusicInfoTag()); diff --git a/xbmc/music/MusicThumbLoader.cpp b/xbmc/music/MusicThumbLoader.cpp index 91aa6e25e6..40b42573ce 100644 --- a/xbmc/music/MusicThumbLoader.cpp +++ b/xbmc/music/MusicThumbLoader.cpp @@ -239,7 +239,8 @@ bool CMusicThumbLoader::FillLibraryArt(CFileItem &item) bool CMusicThumbLoader::GetEmbeddedThumb(const std::string &path, EmbeddedArt &art) { - unique_ptr<IMusicInfoTagLoader> pLoader (CMusicInfoTagLoaderFactory::CreateLoader(path)); + CFileItem item(path, false); + unique_ptr<IMusicInfoTagLoader> pLoader (CMusicInfoTagLoaderFactory::CreateLoader(item)); CMusicInfoTag tag; if (NULL != pLoader.get()) pLoader->Load(path, tag, &art); diff --git a/xbmc/music/infoscanner/MusicInfoScanner.cpp b/xbmc/music/infoscanner/MusicInfoScanner.cpp index b7d5d8f61e..4b2eba531f 100644 --- a/xbmc/music/infoscanner/MusicInfoScanner.cpp +++ b/xbmc/music/infoscanner/MusicInfoScanner.cpp @@ -533,7 +533,7 @@ INFO_RET CMusicInfoScanner::ScanTags(const CFileItemList& items, CFileItemList& CMusicInfoTag& tag = *pItem->GetMusicInfoTag(); if (!tag.Loaded()) { - unique_ptr<IMusicInfoTagLoader> pLoader (CMusicInfoTagLoaderFactory::CreateLoader(pItem->GetPath())); + unique_ptr<IMusicInfoTagLoader> pLoader (CMusicInfoTagLoaderFactory::CreateLoader(*pItem)); if (NULL != pLoader.get()) pLoader->Load(pItem->GetPath(), tag); } diff --git a/xbmc/music/tags/MusicInfoTagLoaderFactory.cpp b/xbmc/music/tags/MusicInfoTagLoaderFactory.cpp index 6c5ef10f1d..6d657fc6ad 100644 --- a/xbmc/music/tags/MusicInfoTagLoaderFactory.cpp +++ b/xbmc/music/tags/MusicInfoTagLoaderFactory.cpp @@ -23,9 +23,6 @@ #include "TagLoaderTagLib.h" #include "MusicInfoTagLoaderCDDA.h" #include "MusicInfoTagLoaderShn.h" -#ifdef HAS_MOD_PLAYER -#include "cores/ModPlayer.h" -#endif #include "MusicInfoTagLoaderDatabase.h" #include "utils/StringUtils.h" #include "utils/URIUtils.h" @@ -44,17 +41,16 @@ CMusicInfoTagLoaderFactory::CMusicInfoTagLoaderFactory() CMusicInfoTagLoaderFactory::~CMusicInfoTagLoaderFactory() {} -IMusicInfoTagLoader* CMusicInfoTagLoaderFactory::CreateLoader(const std::string& strFileName) +IMusicInfoTagLoader* CMusicInfoTagLoaderFactory::CreateLoader(const CFileItem& item) { // dont try to read the tags for streams & shoutcast - CFileItem item(strFileName, false); if (item.IsInternetStream()) return NULL; if (item.IsMusicDb()) return new CMusicInfoTagLoaderDatabase(); - std::string strExtension = URIUtils::GetExtension(strFileName); + std::string strExtension = URIUtils::GetExtension(item.GetPath()); StringUtils::ToLower(strExtension); StringUtils::TrimLeft(strExtension, "."); @@ -85,7 +81,7 @@ IMusicInfoTagLoader* CMusicInfoTagLoaderFactory::CreateLoader(const std::string& strExtension == "ogg" || strExtension == "oga" || strExtension == "oggstream" || strExtension == "aif" || strExtension == "aiff" || strExtension == "wav" || - strExtension == "mod" || strExtension == "nsf" || strExtension == "nsfstream" || + strExtension == "mod" || strExtension == "s3m" || strExtension == "it" || strExtension == "xm" || strExtension == "wv") { diff --git a/xbmc/music/tags/MusicInfoTagLoaderFactory.h b/xbmc/music/tags/MusicInfoTagLoaderFactory.h index 39c5859301..cc8b0c97a9 100644 --- a/xbmc/music/tags/MusicInfoTagLoaderFactory.h +++ b/xbmc/music/tags/MusicInfoTagLoaderFactory.h @@ -21,6 +21,8 @@ #include "ImusicInfoTagLoader.h" +class CFileItem; // forward + namespace MUSIC_INFO { class CMusicInfoTagLoaderFactory @@ -29,7 +31,7 @@ namespace MUSIC_INFO CMusicInfoTagLoaderFactory(void); virtual ~CMusicInfoTagLoaderFactory(); - static IMusicInfoTagLoader* CreateLoader(const std::string& strFileName); + static IMusicInfoTagLoader* CreateLoader(const CFileItem& item); }; } diff --git a/xbmc/music/tags/MusicInfoTagLoaderSPC.cpp b/xbmc/music/tags/MusicInfoTagLoaderSPC.cpp deleted file mode 100644 index 50249e8d84..0000000000 --- a/xbmc/music/tags/MusicInfoTagLoaderSPC.cpp +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include <cstdlib> - -#include "MusicInfoTagLoaderSPC.h" -#include "snesapu/Types.h" -#include "MusicInfoTag.h" -#include "filesystem/File.h" -#include "utils/log.h" - -using namespace XFILE; -using namespace MUSIC_INFO; - -// copied from libspc, then modified. thanks :) -SPC_ID666 *SPC_get_id666FP (CFile& file) -{ - SPC_ID666 *id; - unsigned char playtime_str[4] = { 0, 0, 0, 0 }; - - id = (SPC_ID666 *)malloc(sizeof(*id)); - if (id == NULL) - return NULL; - - file.Seek(0x23,SEEK_SET); - char c; - if (file.Read(&c,1) != 1 || c == 27) - { - free(id); - return NULL; - } - - file.Seek(0x2E,SEEK_SET); - if (file.Read(id->songname, 32) != 32) - { - free(id); - return NULL; - } - id->songname[32] = '\0'; - - if (file.Read(id->gametitle, 32) != 32) - { - free(id); - return NULL; - } - id->gametitle[32] = '\0'; - - if (file.Read(id->dumper, 16) != 16) - { - free(id); - return NULL; - } - id->dumper[16] = '\0'; - - if (file.Read(id->comments, 32) != 32) - { - free(id); - return NULL; - } - id->comments[32] = '\0'; - - file.Seek(0xA9,SEEK_SET); - if (file.Read(playtime_str, 3) != 3) - { - free(id); - return NULL; - } - playtime_str[3] = '\0'; - id->playtime = atoi((char*)playtime_str); - - file.Seek(0xD1,SEEK_SET); - file.Read(&c,1); - switch (c) { - case 1: - id->emulator = SPC_EMULATOR_ZSNES; - break; - case 2: - id->emulator = SPC_EMULATOR_SNES9X; - break; - case 0: - default: - id->emulator = SPC_EMULATOR_UNKNOWN; - break; - } - - file.Seek(0xB0,SEEK_SET); - if (file.Read(id->author, 32) != 32) - { - free(id); - return NULL; - } - id->author[32] = '\0'; - - return id; -} - -CMusicInfoTagLoaderSPC::CMusicInfoTagLoaderSPC(void) -{ -} - -CMusicInfoTagLoaderSPC::~CMusicInfoTagLoaderSPC() -{ -} - -bool CMusicInfoTagLoaderSPC::Load(const std::string& strFileName, CMusicInfoTag& tag, EmbeddedArt *art) -{ - tag.SetLoaded(false); - - CFile file; - if (!file.Open(strFileName)) - { - CLog::Log(LOGERROR,"MusicInfoTagLoaderSPC: failed to open SPC %s",strFileName.c_str()); - return false; - } - - tag.SetURL(strFileName); - - tag.SetLoaded(false); - SPC_ID666* spc = SPC_get_id666FP(file); - if (!spc) - return false; - if( strcmp(spc->songname,"") ) - { - tag.SetTitle(spc->songname); - tag.SetLoaded(true); - } - - if( strcmp(spc->author,"") && tag.Loaded() ) - tag.SetArtist(spc->author); - - if (spc->playtime) - tag.SetDuration(spc->playtime); - else - tag.SetDuration(4*60); // 4 mins - - free(spc); - return tag.Loaded(); -} - diff --git a/xbmc/music/tags/MusicInfoTagLoaderSPC.h b/xbmc/music/tags/MusicInfoTagLoaderSPC.h deleted file mode 100644 index ac05370de4..0000000000 --- a/xbmc/music/tags/MusicInfoTagLoaderSPC.h +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ImusicInfoTagLoader.h" - -namespace MUSIC_INFO -{ - class CMusicInfoTagLoaderSPC: public IMusicInfoTagLoader - { - public: - CMusicInfoTagLoaderSPC(void); - virtual ~CMusicInfoTagLoaderSPC(); - - virtual bool Load(const std::string& strFileName, CMusicInfoTag& tag, EmbeddedArt *art = NULL); - }; -} - diff --git a/xbmc/music/tags/TagLibVFSStream.cpp b/xbmc/music/tags/TagLibVFSStream.cpp index 0daae77c17..0e0407952e 100644 --- a/xbmc/music/tags/TagLibVFSStream.cpp +++ b/xbmc/music/tags/TagLibVFSStream.cpp @@ -218,7 +218,7 @@ void TagLibVFSStream::removeBlock(TagLib::ulong start, TagLib::ulong length) clear(); seek(writePosition); - if (m_file.Write(buffer.data(), bytesRead) != bytesRead) + if (m_file.Write(buffer.data(), bytesRead) != static_cast<ssize_t>(bytesRead)) return; // error writePosition += bytesRead; } diff --git a/xbmc/playlists/PlayListM3U.cpp b/xbmc/playlists/PlayListM3U.cpp index dce2bad214..1f1b408ede 100644 --- a/xbmc/playlists/PlayListM3U.cpp +++ b/xbmc/playlists/PlayListM3U.cpp @@ -203,7 +203,7 @@ void CPlayListM3U::Save(const std::string& strFileName) const return; } std::string strLine = StringUtils::Format("%s\n",M3U_START_MARKER); - if (file.Write(strLine.c_str(), strLine.size()) != strLine.size()) + if (file.Write(strLine.c_str(), strLine.size()) != static_cast<ssize_t>(strLine.size())) return; // error for (int i = 0; i < (int)m_vecItems.size(); ++i) @@ -212,7 +212,7 @@ void CPlayListM3U::Save(const std::string& strFileName) const std::string strDescription=item->GetLabel(); g_charsetConverter.utf8ToStringCharset(strDescription); strLine = StringUtils::Format( "%s:%i,%s\n", M3U_INFO_MARKER, item->GetMusicInfoTag()->GetDuration() / 1000, strDescription.c_str() ); - if (file.Write(strLine.c_str(), strLine.size()) != strLine.size()) + if (file.Write(strLine.c_str(), strLine.size()) != static_cast<ssize_t>(strLine.size())) return; // error if (item->m_lStartOffset != 0 || item->m_lEndOffset != 0) { @@ -222,7 +222,7 @@ void CPlayListM3U::Save(const std::string& strFileName) const std::string strFileName = ResolveURL(item); g_charsetConverter.utf8ToStringCharset(strFileName); strLine = StringUtils::Format("%s\n",strFileName.c_str()); - if (file.Write(strLine.c_str(), strLine.size()) != strLine.size()) + if (file.Write(strLine.c_str(), strLine.size()) != static_cast<ssize_t>(strLine.size())) return; // error } file.Close(); diff --git a/xbmc/pvr/channels/PVRChannelGroup.cpp b/xbmc/pvr/channels/PVRChannelGroup.cpp index d01c48ec07..aeea9bf4e2 100644 --- a/xbmc/pvr/channels/PVRChannelGroup.cpp +++ b/xbmc/pvr/channels/PVRChannelGroup.cpp @@ -161,7 +161,7 @@ bool CPVRChannelGroup::Load(void) if (Size() - iChannelCount > 0) { CLog::Log(LOGDEBUG, "PVRChannelGroup - %s - %d channels added from clients to group '%s'", - __FUNCTION__, Size() - iChannelCount, m_strGroupName.c_str()); + __FUNCTION__, static_cast<int>(Size() - iChannelCount), m_strGroupName.c_str()); } SortAndRenumber(); diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp index f312a705c7..4598624b4a 100644 --- a/xbmc/settings/AdvancedSettings.cpp +++ b/xbmc/settings/AdvancedSettings.cpp @@ -356,7 +356,7 @@ void CAdvancedSettings::Initialize() m_networkBufferMode = 0; // Default (buffer all internet streams/filesystems) // the following setting determines the readRate of a player data // as multiply of the default data read rate - m_readBufferFactor = 1.0f; + m_readBufferFactor = 4.0f; m_addonPackageFolderSize = 200; m_jsonOutputCompact = true; diff --git a/xbmc/test/TestBasicEnvironment.cpp b/xbmc/test/TestBasicEnvironment.cpp index 18ca012945..eb04374fb1 100644 --- a/xbmc/test/TestBasicEnvironment.cpp +++ b/xbmc/test/TestBasicEnvironment.cpp @@ -35,8 +35,6 @@ void TestBasicEnvironment::SetUp() { - char *tmp; - std::string xbmcTempPath; XFILE::CFile *f; /* NOTE: The below is done to fix memleak warning about unitialized variable @@ -69,6 +67,7 @@ void TestBasicEnvironment::SetUp() * test suite run. */ #ifdef TARGET_WINDOWS + std::string xbmcTempPath; TCHAR lpTempPathBuffer[MAX_PATH]; if (!GetTempPath(MAX_PATH, lpTempPathBuffer)) SetUpError(); @@ -81,7 +80,7 @@ void TestBasicEnvironment::SetUp() CSpecialProtocol::SetTempPath(lpTempPathBuffer); #else char buf[MAX_PATH]; - (void)xbmcTempPath; + char *tmp; strcpy(buf, "/tmp/xbmctempdirXXXXXX"); if ((tmp = mkdtemp(buf)) == NULL) SetUpError(); diff --git a/xbmc/utils/ScraperUrl.cpp b/xbmc/utils/ScraperUrl.cpp index a9eafddc9c..1f280e1ff3 100644 --- a/xbmc/utils/ScraperUrl.cpp +++ b/xbmc/utils/ScraperUrl.cpp @@ -307,7 +307,7 @@ bool CScraperUrl::Get(const SUrlEntry& scrURL, std::string& strHTML, XFILE::CCur std::string strCachePath = URIUtils::AddFileToFolder(g_advancedSettings.m_cachePath, "scrapers/" + cacheContext + "/" + scrURL.m_cache); XFILE::CFile file; - if (!file.OpenForWrite(strCachePath, true) || file.Write(strHTML.data(), strHTML.size()) != strHTML.size()) + if (!file.OpenForWrite(strCachePath, true) || file.Write(strHTML.data(), strHTML.size()) != static_cast<ssize_t>(strHTML.size())) return false; } return true; diff --git a/xbmc/utils/XBMCTinyXML.cpp b/xbmc/utils/XBMCTinyXML.cpp index e7db9f132d..c9c7b49249 100644 --- a/xbmc/utils/XBMCTinyXML.cpp +++ b/xbmc/utils/XBMCTinyXML.cpp @@ -122,7 +122,7 @@ bool CXBMCTinyXML::SaveFile(const std::string& filename) const { TiXmlPrinter printer; Accept(&printer); - return file.Write(printer.CStr(), printer.Size()) == printer.Size(); + return file.Write(printer.CStr(), printer.Size()) == static_cast<ssize_t>(printer.Size()); } return false; } diff --git a/xbmc/utils/test/TestArchive.cpp b/xbmc/utils/test/TestArchive.cpp index fe9abe92f8..c564794ca3 100644 --- a/xbmc/utils/test/TestArchive.cpp +++ b/xbmc/utils/test/TestArchive.cpp @@ -42,7 +42,7 @@ protected: TEST_F(TestArchive, IsStoring) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); CArchive arstore(file, CArchive::store); EXPECT_TRUE(arstore.IsStoring()); EXPECT_FALSE(arstore.IsLoading()); @@ -51,7 +51,7 @@ TEST_F(TestArchive, IsStoring) TEST_F(TestArchive, IsLoading) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); CArchive arload(file, CArchive::load); EXPECT_TRUE(arload.IsLoading()); EXPECT_FALSE(arload.IsStoring()); @@ -60,14 +60,14 @@ TEST_F(TestArchive, IsLoading) TEST_F(TestArchive, FloatArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); float float_ref = 1, float_var = 0; CArchive arstore(file, CArchive::store); arstore << float_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> float_var; arload.Close(); @@ -77,14 +77,14 @@ TEST_F(TestArchive, FloatArchive) TEST_F(TestArchive, DoubleArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); double double_ref = 2, double_var = 0; CArchive arstore(file, CArchive::store); arstore << double_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> double_var; arload.Close(); @@ -94,14 +94,14 @@ TEST_F(TestArchive, DoubleArchive) TEST_F(TestArchive, IntegerArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); int int_ref = 3, int_var = 0; CArchive arstore(file, CArchive::store); arstore << int_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> int_var; arload.Close(); @@ -111,14 +111,14 @@ TEST_F(TestArchive, IntegerArchive) TEST_F(TestArchive, UnsignedIntegerArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); unsigned int unsigned_int_ref = 4, unsigned_int_var = 0; CArchive arstore(file, CArchive::store); arstore << unsigned_int_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> unsigned_int_var; arload.Close(); @@ -128,14 +128,14 @@ TEST_F(TestArchive, UnsignedIntegerArchive) TEST_F(TestArchive, Int64tArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); int64_t int64_t_ref = 5, int64_t_var = 0; CArchive arstore(file, CArchive::store); arstore << int64_t_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> int64_t_var; arload.Close(); @@ -145,14 +145,14 @@ TEST_F(TestArchive, Int64tArchive) TEST_F(TestArchive, UInt64tArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); uint64_t uint64_t_ref = 6, uint64_t_var = 0; CArchive arstore(file, CArchive::store); arstore << uint64_t_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> uint64_t_var; arload.Close(); @@ -162,14 +162,14 @@ TEST_F(TestArchive, UInt64tArchive) TEST_F(TestArchive, BoolArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); bool bool_ref = true, bool_var = false; CArchive arstore(file, CArchive::store); arstore << bool_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> bool_var; arload.Close(); @@ -179,14 +179,14 @@ TEST_F(TestArchive, BoolArchive) TEST_F(TestArchive, CharArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); char char_ref = 'A', char_var = '\0'; CArchive arstore(file, CArchive::store); arstore << char_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> char_var; arload.Close(); @@ -196,14 +196,14 @@ TEST_F(TestArchive, CharArchive) TEST_F(TestArchive, WStringArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); std::wstring wstring_ref = L"test wstring", wstring_var; CArchive arstore(file, CArchive::store); arstore << wstring_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> wstring_var; arload.Close(); @@ -213,14 +213,14 @@ TEST_F(TestArchive, WStringArchive) TEST_F(TestArchive, StringArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); std::string string_ref = "test string", string_var; CArchive arstore(file, CArchive::store); arstore << string_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> string_var; arload.Close(); @@ -230,7 +230,7 @@ TEST_F(TestArchive, StringArchive) TEST_F(TestArchive, SYSTEMTIMEArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); SYSTEMTIME SYSTEMTIME_ref = { 1, 2, 3, 4, 5, 6, 7, 8 }; SYSTEMTIME SYSTEMTIME_var = { 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -238,7 +238,7 @@ TEST_F(TestArchive, SYSTEMTIMEArchive) arstore << SYSTEMTIME_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> SYSTEMTIME_var; arload.Close(); @@ -248,14 +248,14 @@ TEST_F(TestArchive, SYSTEMTIMEArchive) TEST_F(TestArchive, CVariantArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); CVariant CVariant_ref((int)1), CVariant_var; CArchive arstore(file, CArchive::store); arstore << CVariant_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> CVariant_var; arload.Close(); @@ -266,14 +266,14 @@ TEST_F(TestArchive, CVariantArchive) TEST_F(TestArchive, CVariantArchiveString) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); CVariant CVariant_ref("teststring"), CVariant_var; CArchive arstore(file, CArchive::store); arstore << CVariant_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> CVariant_var; arload.Close(); @@ -284,7 +284,7 @@ TEST_F(TestArchive, CVariantArchiveString) TEST_F(TestArchive, StringVectorArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); std::vector<std::string> strArray_ref, strArray_var; strArray_ref.push_back("test strArray_ref 0"); strArray_ref.push_back("test strArray_ref 1"); @@ -295,7 +295,7 @@ TEST_F(TestArchive, StringVectorArchive) arstore << strArray_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> strArray_var; arload.Close(); @@ -308,7 +308,7 @@ TEST_F(TestArchive, StringVectorArchive) TEST_F(TestArchive, IntegerVectorArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); std::vector<int> iArray_ref, iArray_var; iArray_ref.push_back(0); iArray_ref.push_back(1); @@ -319,7 +319,7 @@ TEST_F(TestArchive, IntegerVectorArchive) arstore << iArray_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); arload >> iArray_var; arload.Close(); @@ -332,7 +332,7 @@ TEST_F(TestArchive, IntegerVectorArchive) TEST_F(TestArchive, MultiTypeArchive) { - ASSERT_TRUE(file); + ASSERT_NE(nullptr, file); float float_ref = 1, float_var = 0; double double_ref = 2, double_var = 0; int int_ref = 3, int_var = 0; @@ -376,7 +376,7 @@ TEST_F(TestArchive, MultiTypeArchive) arstore << iArray_ref; arstore.Close(); - ASSERT_TRUE((file->Seek(0, SEEK_SET) == 0)); + ASSERT_EQ(0, file->Seek(0, SEEK_SET)); CArchive arload(file, CArchive::load); EXPECT_TRUE(arload.IsLoading()); EXPECT_FALSE(arload.IsStoring()); diff --git a/xbmc/utils/test/TestAsyncFileCopy.cpp b/xbmc/utils/test/TestAsyncFileCopy.cpp index 62636d88d3..186c2dc15c 100644 --- a/xbmc/utils/test/TestAsyncFileCopy.cpp +++ b/xbmc/utils/test/TestAsyncFileCopy.cpp @@ -38,8 +38,8 @@ TEST(TestAsyncFileCopy, General) XFILE::CFile *f1, *f2; char vardata[sizeof(refdata)]; - ASSERT_TRUE((f1 = XBMC_CREATETEMPFILE(""))); - ASSERT_TRUE((f2 = XBMC_CREATETEMPFILE(".copy"))); + ASSERT_NE(nullptr, (f1 = XBMC_CREATETEMPFILE(""))); + ASSERT_NE(nullptr, (f2 = XBMC_CREATETEMPFILE(".copy"))); EXPECT_EQ((int)sizeof(refdata), f1->Write(refdata, sizeof(refdata))); f1->Close(); diff --git a/xbmc/utils/test/TestCharsetConverter.cpp b/xbmc/utils/test/TestCharsetConverter.cpp index f38b730c5d..bde00d3994 100644 --- a/xbmc/utils/test/TestCharsetConverter.cpp +++ b/xbmc/utils/test/TestCharsetConverter.cpp @@ -104,7 +104,7 @@ protected: CSettings::Get().AddString(sub, "subtitles.charset", 735, "DEFAULT", SPIN_CONTROL_TEXT); */ - + CSettings::Get().Initialize(); g_charsetConverter.reset(); g_charsetConverter.clear(); } diff --git a/xbmc/utils/test/TestFileOperationJob.cpp b/xbmc/utils/test/TestFileOperationJob.cpp index 9643bd92c7..4f487ceb46 100644 --- a/xbmc/utils/test/TestFileOperationJob.cpp +++ b/xbmc/utils/test/TestFileOperationJob.cpp @@ -34,7 +34,7 @@ TEST(TestFileOperationJob, ActionCopy) CFileItemList items; CFileOperationJob job; - ASSERT_TRUE((tmpfile = XBMC_CREATETEMPFILE(""))); + ASSERT_NE(nullptr, (tmpfile = XBMC_CREATETEMPFILE(""))); tmpfilepath = XBMC_TEMPFILEPATH(tmpfile); tmpfile->Close(); @@ -68,7 +68,7 @@ TEST(TestFileOperationJob, ActionMove) CFileItemList items; CFileOperationJob job; - ASSERT_TRUE((tmpfile = XBMC_CREATETEMPFILE(""))); + ASSERT_NE(nullptr, (tmpfile = XBMC_CREATETEMPFILE(""))); tmpfilepath = XBMC_TEMPFILEPATH(tmpfile); tmpfile->Close(); @@ -102,7 +102,7 @@ TEST(TestFileOperationJob, ActionDelete) CFileItemList items; CFileOperationJob job; - ASSERT_TRUE((tmpfile = XBMC_CREATETEMPFILE(""))); + ASSERT_NE(nullptr, (tmpfile = XBMC_CREATETEMPFILE(""))); tmpfilepath = XBMC_TEMPFILEPATH(tmpfile); tmpfile->Close(); @@ -152,7 +152,7 @@ TEST(TestFileOperationJob, ActionReplace) CFileItemList items; CFileOperationJob job; - ASSERT_TRUE((tmpfile = XBMC_CREATETEMPFILE(""))); + ASSERT_NE(nullptr, (tmpfile = XBMC_CREATETEMPFILE(""))); tmpfilepath = XBMC_TEMPFILEPATH(tmpfile); tmpfile->Close(); @@ -192,7 +192,7 @@ TEST(TestFileOperationJob, ActionCreateFolder) CFileItemList items; CFileOperationJob job; - ASSERT_TRUE((tmpfile = XBMC_CREATETEMPFILE(""))); + ASSERT_NE(nullptr, (tmpfile = XBMC_CREATETEMPFILE(""))); tmpfilepath = XBMC_TEMPFILEPATH(tmpfile); std::string tmpfiledirectory = @@ -228,7 +228,7 @@ TEST(TestFileOperationJob, ActionDeleteFolder) CFileItemList items; CFileOperationJob job; - ASSERT_TRUE((tmpfile = XBMC_CREATETEMPFILE(""))); + ASSERT_NE(nullptr, (tmpfile = XBMC_CREATETEMPFILE(""))); tmpfilepath = XBMC_TEMPFILEPATH(tmpfile); std::string tmpfiledirectory = @@ -268,7 +268,7 @@ TEST(TestFileOperationJob, GetFunctions) CFileItemList items; CFileOperationJob job; - ASSERT_TRUE((tmpfile = XBMC_CREATETEMPFILE(""))); + ASSERT_NE(nullptr, (tmpfile = XBMC_CREATETEMPFILE(""))); tmpfilepath = XBMC_TEMPFILEPATH(tmpfile); tmpfile->Close(); diff --git a/xbmc/utils/test/TestFileUtils.cpp b/xbmc/utils/test/TestFileUtils.cpp index 4e91b8f7ae..1932adb5cc 100644 --- a/xbmc/utils/test/TestFileUtils.cpp +++ b/xbmc/utils/test/TestFileUtils.cpp @@ -30,7 +30,7 @@ TEST(TestFileUtils, DeleteItem_CFileItemPtr) XFILE::CFile *tmpfile; std::string tmpfilepath; - ASSERT_TRUE((tmpfile = XBMC_CREATETEMPFILE(""))); + ASSERT_NE(nullptr, (tmpfile = XBMC_CREATETEMPFILE(""))); tmpfilepath = XBMC_TEMPFILEPATH(tmpfile); CFileItemPtr item(new CFileItem(tmpfilepath)); @@ -45,7 +45,7 @@ TEST(TestFileUtils, DeleteItemString) { XFILE::CFile *tmpfile; - ASSERT_TRUE((tmpfile = XBMC_CREATETEMPFILE(""))); + ASSERT_NE(nullptr, (tmpfile = XBMC_CREATETEMPFILE(""))); EXPECT_TRUE(CFileUtils::DeleteItem(XBMC_TEMPFILEPATH(tmpfile))); } diff --git a/xbmc/utils/test/TestHTMLUtil.cpp b/xbmc/utils/test/TestHTMLUtil.cpp index 5d728afa10..fdbec602a3 100644 --- a/xbmc/utils/test/TestHTMLUtil.cpp +++ b/xbmc/utils/test/TestHTMLUtil.cpp @@ -42,7 +42,7 @@ TEST(TestHTMLUtil, ConvertHTMLToW) { std::wstring inw, refstrw, varstrw; inw = L"å&€"; - refstrw = L"å&€"; + refstrw = L"\u00e5&\u20ac"; HTML::CHTMLUtil::ConvertHTMLToW(inw, varstrw); EXPECT_STREQ(refstrw.c_str(), varstrw.c_str()); } diff --git a/xbmc/utils/test/TestLabelFormatter.cpp b/xbmc/utils/test/TestLabelFormatter.cpp index d05d0238e1..383d26576f 100644 --- a/xbmc/utils/test/TestLabelFormatter.cpp +++ b/xbmc/utils/test/TestLabelFormatter.cpp @@ -57,7 +57,7 @@ TEST_F(TestLabelFormatter, FormatLabel) LABEL_MASKS labelMasks; CLabelFormatter formatter("", labelMasks.m_strLabel2File); - ASSERT_TRUE((tmpfile = XBMC_CREATETEMPFILE(""))); + ASSERT_NE(nullptr, (tmpfile = XBMC_CREATETEMPFILE(""))); tmpfilepath = XBMC_TEMPFILEPATH(tmpfile); CFileItemPtr item(new CFileItem(tmpfilepath)); @@ -77,7 +77,7 @@ TEST_F(TestLabelFormatter, FormatLabel2) LABEL_MASKS labelMasks; CLabelFormatter formatter("", labelMasks.m_strLabel2File); - ASSERT_TRUE((tmpfile = XBMC_CREATETEMPFILE(""))); + ASSERT_NE(nullptr, (tmpfile = XBMC_CREATETEMPFILE(""))); tmpfilepath = XBMC_TEMPFILEPATH(tmpfile); CFileItemPtr item(new CFileItem(tmpfilepath)); diff --git a/xbmc/utils/test/TestXBMCTinyXML.cpp b/xbmc/utils/test/TestXBMCTinyXML.cpp index 0072d1b4f3..b11aae6b43 100644 --- a/xbmc/utils/test/TestXBMCTinyXML.cpp +++ b/xbmc/utils/test/TestXBMCTinyXML.cpp @@ -53,7 +53,7 @@ TEST(TestXBMCTinyXML, ParseFromFileHandle) // scraper results with unescaped & CXBMCTinyXML doc; FILE *f = fopen(XBMC_REF_FILE_PATH("/xbmc/utils/test/CXBMCTinyXML-test.xml").c_str(), "r"); - ASSERT_TRUE(f); + ASSERT_NE(nullptr, f); doc.LoadFile(f); fclose(f); TiXmlNode *root = doc.RootElement(); diff --git a/xbmc/utils/test/Testfastmemcpy.cpp b/xbmc/utils/test/Testfastmemcpy.cpp index 3299f732d5..93a9bb090d 100644 --- a/xbmc/utils/test/Testfastmemcpy.cpp +++ b/xbmc/utils/test/Testfastmemcpy.cpp @@ -34,6 +34,6 @@ TEST(Testfastmemcpy, General) { char vardata[sizeof(refdata)]; memset(vardata, 0, sizeof(vardata)); - EXPECT_TRUE(fast_memcpy(vardata, refdata, sizeof(refdata))); - EXPECT_TRUE(!memcmp(refdata, vardata, sizeof(refdata))); + EXPECT_NE(nullptr, fast_memcpy(vardata, refdata, sizeof(refdata))); + EXPECT_EQ(0, memcmp(refdata, vardata, sizeof(refdata))); } diff --git a/xbmc/video/VideoThumbLoader.cpp b/xbmc/video/VideoThumbLoader.cpp index e01609d897..56c2957a3f 100644 --- a/xbmc/video/VideoThumbLoader.cpp +++ b/xbmc/video/VideoThumbLoader.cpp @@ -159,7 +159,7 @@ bool CThumbExtractor::DoWork() db.SetStreamDetailsForFileId(info->m_streamDetails, info->m_iFileId); // overwrite the runtime value if the one from streamdetails is available - if (info->m_iDbId > 0 && info->m_duration != info->GetDuration()) + if (info->m_iDbId > 0 && info->m_duration != static_cast<int>(info->GetDuration())) { info->m_duration = info->GetDuration(); diff --git a/xbmc/view/GUIViewState.cpp b/xbmc/view/GUIViewState.cpp index fbc81be19a..22a474626a 100644 --- a/xbmc/view/GUIViewState.cpp +++ b/xbmc/view/GUIViewState.cpp @@ -300,10 +300,6 @@ void CGUIViewState::AddSortMethod(SortDescription sortDescription, int buttonLab void CGUIViewState::SetCurrentSortMethod(int method) { SortBy sortBy = (SortBy)method; - SortAttribute sortAttributes = SortAttributeNone; - if (CSettings::Get().GetBool("filelists.ignorethewhensorting")) - sortAttributes = SortAttributeIgnoreArticle; - if (sortBy < SortByNone || sortBy > SortByRandom) return; // invalid diff --git a/xbmc/windows/GUIMediaWindow.cpp b/xbmc/windows/GUIMediaWindow.cpp index 9257a1072c..94a0a85b16 100644 --- a/xbmc/windows/GUIMediaWindow.cpp +++ b/xbmc/windows/GUIMediaWindow.cpp @@ -237,9 +237,6 @@ bool CGUIMediaWindow::OnMessage(CGUIMessage& message) m_iLastControl = GetFocusedControlID(); CGUIWindow::OnMessage(message); - // Close all open modal dialogs - g_windowManager.CloseModalDialogs(true); - // get rid of any active filtering if (m_canFilterAdvanced) { |