Solved Is there really no way to return Episode name with ListItem?
#1
ListItem.Episode returns the episode number, and ListItem.EpisodeName only works with PVR

ListItem.Label works for what I'm trying to do but I don't like the 1X01 (Season 1, Episode 01) it returns.
I'd much prefer it to not show that part at all or at least turn it into S1E01
Any creative workarounds possible in Kodi 14.2?
Reply
#2
ListItem.Title should work.
Reply
#3
Wiki says
Quote:Shows the title of the currently selected song or movie in a container
Thought it wouldn't work for Episode names, but just tried it and it does. Thank you.
That was surprisingly simple.
Reply
#4
This will return the episode name:
<label>$INFO[ListItem.Title]</label>

This will return the TV Show title:
<label>$INFO[ListItem.TVShowTitle]</label>

This will return S1E1:
<label>$INFO[ListItem.Season,S]$INFO[ListItem.Episode,E]</label>

To get the S1E1 in shape to S01E01 or S10E13 for example:
<variable name="SeasonEpisode">
<value condition="IntegerGreaterThan(ListItem.Season,9) + IntegerGreaterThan(ListItem.Episode,9)">$INFO[ListItem.Season,S]$INFO[ListItem.Episode,E]</value>
<value condition="!IntegerGreaterThan(ListItem.Season,9) + IntegerGreaterThan(ListItem.Episode,9)">$INFO[ListItem.Season,S0]$INFO[ListItem.Episode,E]</value>
<value condition="IntegerGreaterThan(ListItem.Season,9) + !IntegerGreaterThan(ListItem.Episode,9)">$INFO[ListItem.Season,S]$INFO[ListItem.Episode,E0]</value>
<value condition="!IntegerGreaterThan(ListItem.Season,9) + !IntegerGreaterThan(ListItem.Episode,9)">$INFO[ListItem.Season,S0]$INFO[ListItem.Episode,E0]</value>
</variable>

<label>$VAR[SeasonEpisode]</label>

Edit:
BigNoid was faster ^^
Main: Lancool II Mesh  - Ryzen 9 5900x - MSI x570 Unify - Zotac RTX 3080 AMP HOLO - 32GB Trident Z Neo 3600 CL16 -  EVO 960 M.2 250GB / EVO 940 250GB / MX100 512GB /  Crucial P1 2TB / WD Blue 3D Nand 2TB 
Sound: Saxx AS30 DSP - Beyer Dynamic Custom One Pro 
TV: Nvidia Shield 2019 Pro- Adalight 114x LEDs - Sony 65XG9505 - Kodi / Emby - Yamaha RX-V683 - Heco Victa 700/101/251a + Dynavoice Magic FX-4
Server: i3 Skylake - 8GB - OMV4 - 22TB Storage
Reply
#5
Thumbs Up 
(2016-01-13, 23:07)sualfred Wrote: Edit:
BigNoid was faster ^^
Yours is still very helpful, especially the part about creating a variable for S1E01
Reply
#6
@Teamkodi 
I know you never enjoy digging out old threads, but it fits right in here and i think its better than opening a new thread

@sualfred
Works like a charm.
Is there a way to include this spelling with Specials (Season 0)
Now its "S00E0S1", can the code be edited to "S00E01" or "S00S01"?
(I never got a Season with counter over 99, but Specials with counter over 99 for e.g. Doctor Who, maybe its possible to include also this case)

I tried 3 hours to edit your code without positive success.
That would be nice
Reply
#7
@"chrissix" 

Code:

<variable name="SeasonEpisode">
<value condition="Integer.IsEqual(ListItem.Season,0) + Integer.IsGreater(ListItem.Episode,9)">Special $INFO[ListItem.Episode,E]</value>
<value condition="Integer.IsEqual(ListItem.Season,0) + !Integer.IsGreater(ListItem.Episode,9)">Special $INFO[ListItem.Episode,E0]</value>
<value condition="Integer.IsGreater(ListItem.Season,9) + Integer.IsGreater(ListItem.Episode,9)">$INFO[ListItem.Season,S]$INFO[ListItem.Episode,E]</value> 
<value condition="!Integer.IsGreater(ListItem.Season,9) + Integer.IsGreater(ListItem.Episode,9)">$INFO[ListItem.Season,S0]$INFO[ListItem.Episode,E]</value>
<value condition="Integer.IsGreater(ListItem.Season,9) + !Integer.IsGreater(ListItem.Episode,9)">$INFO[ListItem.Season,S]$INFO[ListItem.Episode,E0]</value>
<value condition="!Integer.IsGreater(ListItem.Season,9) + !Integer.IsGreater(ListItem.Episode,9)">$INFO[ListItem.Season,S0]$INFO[ListItem.Episode,E0]</value>
</variable>
Main: Lancool II Mesh  - Ryzen 9 5900x - MSI x570 Unify - Zotac RTX 3080 AMP HOLO - 32GB Trident Z Neo 3600 CL16 -  EVO 960 M.2 250GB / EVO 940 250GB / MX100 512GB /  Crucial P1 2TB / WD Blue 3D Nand 2TB 
Sound: Saxx AS30 DSP - Beyer Dynamic Custom One Pro 
TV: Nvidia Shield 2019 Pro- Adalight 114x LEDs - Sony 65XG9505 - Kodi / Emby - Yamaha RX-V683 - Heco Victa 700/101/251a + Dynavoice Magic FX-4
Server: i3 Skylake - 8GB - OMV4 - 22TB Storage
Reply
#8
@sualfred 

Unfortunately, that does not work either. I've come to the point that the Kodi internal spelling differs for normal seasons and specials and therefore it does not work.
With the following code it works like a charm, unfortunately it is a bit much code, but there are no alternatives. Since I'm a Doctor Who fan I need such a high specials counter.

Code:
    <variable name="SeasonEpisode">
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S1)">S00E01</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S2)">S00E02</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S3)">S00E03</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S4)">S00E04</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S5)">S00E05</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S6)">S00E06</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S7)">S00E07</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S8)">S00E08</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S9)">S00E09</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S10)">S00E10</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S11)">S00E11</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S12)">S00E12</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S13)">S00E13</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S14)">S00E14</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S15)">S00E15</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S16)">S00E16</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S17)">S00E17</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S18)">S00E18</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S19)">S00E19</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S20)">S00E20</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S21)">S00E21</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S22)">S00E22</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S23)">S00E23</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S24)">S00E24</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S25)">S00E25</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S26)">S00E26</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S27)">S00E27</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S28)">S00E28</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S29)">S00E29</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S30)">S00E30</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S31)">S00E31</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S32)">S00E32</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S33)">S00E33</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S34)">S00E34</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S35)">S00E35</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S36)">S00E36</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S37)">S00E37</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S38)">S00E38</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S39)">S00E39</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S40)">S00E40</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S41)">S00E41</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S42)">S00E42</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S43)">S00E43</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S44)">S00E44</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S45)">S00E45</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S46)">S00E46</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S47)">S00E47</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S48)">S00E48</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S49)">S00E49</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S50)">S00E50</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S51)">S00E51</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S52)">S00E52</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S53)">S00E53</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S54)">S00E54</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S55)">S00E55</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S56)">S00E56</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S57)">S00E57</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S58)">S00E58</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S59)">S00E59</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S60)">S00E60</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S61)">S00E61</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S62)">S00E62</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S63)">S00E63</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S64)">S00E64</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S65)">S00E65</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S66)">S00E66</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S67)">S00E67</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S68)">S00E68</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S69)">S00E69</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S70)">S00E70</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S71)">S00E71</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S72)">S00E72</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S73)">S00E73</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S74)">S00E74</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S75)">S00E75</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S76)">S00E76</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S77)">S00E77</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S78)">S00E78</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S79)">S00E79</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S80)">S00E80</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S81)">S00E81</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S82)">S00E82</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S83)">S00E83</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S84)">S00E84</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S85)">S00E85</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S86)">S00E86</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S87)">S00E87</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S88)">S00E88</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S89)">S00E89</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S90)">S00E90</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S91)">S00E91</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S92)">S00E92</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S93)">S00E93</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S94)">S00E94</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S95)">S00E95</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S96)">S00E96</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S97)">S00E97</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S98)">S00E98</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S99)">S00E99</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S100)">S00E100</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S101)">S00E101</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S102)">S00E102</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S103)">S00E103</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S104)">S00E104</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S105)">S00E105</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S106)">S00E106</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S107)">S00E107</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S108)">S00E108</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S109)">S00E109</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S110)">S00E110</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S111)">S00E111</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S112)">S00E112</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S113)">S00E113</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S114)">S00E114</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S115)">S00E115</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S116)">S00E116</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S117)">S00E117</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S118)">S00E118</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S119)">S00E119</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S120)">S00E120</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S121)">S00E121</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S122)">S00E122</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S123)">S00E123</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S124)">S00E124</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S125)">S00E125</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S126)">S00E126</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S127)">S00E127</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S128)">S00E128</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S129)">S00E129</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S130)">S00E130</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S131)">S00E131</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S132)">S00E132</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S133)">S00E133</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S134)">S00E134</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S135)">S00E135</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S136)">S00E136</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S137)">S00E137</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S138)">S00E138</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S139)">S00E139</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S140)">S00E140</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S141)">S00E141</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S142)">S00E142</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S143)">S00E143</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S144)">S00E144</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S145)">S00E145</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S146)">S00E146</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S147)">S00E147</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S148)">S00E148</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S149)">S00E149</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S150)">S00E150</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S151)">S00E151</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S152)">S00E152</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S153)">S00E153</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S154)">S00E154</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S155)">S00E155</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S156)">S00E156</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S157)">S00E157</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S158)">S00E158</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S159)">S00E159</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S160)">S00E160</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S161)">S00E161</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S162)">S00E162</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S163)">S00E163</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S164)">S00E164</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S165)">S00E165</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S166)">S00E166</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S167)">S00E167</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S168)">S00E168</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S169)">S00E169</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S170)">S00E170</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S171)">S00E171</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S172)">S00E172</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S173)">S00E173</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S174)">S00E174</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S175)">S00E175</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S176)">S00E176</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S177)">S00E177</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S178)">S00E178</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S179)">S00E179</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S180)">S00E180</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S181)">S00E181</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S182)">S00E182</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S183)">S00E183</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S184)">S00E184</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S185)">S00E185</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S186)">S00E186</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S187)">S00E187</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S188)">S00E188</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S189)">S00E189</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S190)">S00E190</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S191)">S00E191</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S192)">S00E192</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S193)">S00E193</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S194)">S00E194</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S195)">S00E195</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S196)">S00E196</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S197)">S00E197</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S198)">S00E198</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S199)">S00E199</value>
        <value condition="Integer.IsEqual(ListItem.Season,0) + String.IsEqual(ListItem.Episode,S200)">S00E200</value>
        <value condition="Integer.IsGreater(ListItem.Season,9) + Integer.IsGreater(ListItem.Episode,9)">$INFO[ListItem.Season,S]$INFO[ListItem.Episode,E]</value> 
        <value condition="!Integer.IsGreater(ListItem.Season,9) + Integer.IsGreater(ListItem.Episode,9)">$INFO[ListItem.Season,S0]$INFO[ListItem.Episode,E]</value>
        <value condition="Integer.IsGreater(ListItem.Season,9) + !Integer.IsGreater(ListItem.Episode,9)">$INFO[ListItem.Season,S]$INFO[ListItem.Episode,E0]</value>
        <value condition="!Integer.IsGreater(ListItem.Season,9) + !Integer.IsGreater(ListItem.Episode,9)">$INFO[ListItem.Season,S0]$INFO[ListItem.Episode,E0]</value>        
    </variable>
Reply
#9
chrissix,

thanks for this mod!
Reply
#10
I don't have any specials and I never saw that ListItem.Episode contains a letter like "S".  I thought it's always a number?
Main: Lancool II Mesh  - Ryzen 9 5900x - MSI x570 Unify - Zotac RTX 3080 AMP HOLO - 32GB Trident Z Neo 3600 CL16 -  EVO 960 M.2 250GB / EVO 940 250GB / MX100 512GB /  Crucial P1 2TB / WD Blue 3D Nand 2TB 
Sound: Saxx AS30 DSP - Beyer Dynamic Custom One Pro 
TV: Nvidia Shield 2019 Pro- Adalight 114x LEDs - Sony 65XG9505 - Kodi / Emby - Yamaha RX-V683 - Heco Victa 700/101/251a + Dynavoice Magic FX-4
Server: i3 Skylake - 8GB - OMV4 - 22TB Storage
Reply
#11
(2018-09-12, 08:38)sualfred Wrote: I don't have any specials and I never saw that ListItem.Episode contains a letter like "S".  I thought it's always a number?
 Yepp. Specials return  S[n] if using $INFO[ListItem.Episode].

And @"chrissix" maybe this is am more smaller solution for you ?
I simply use 3 var for label them

xml:

<variable name="seasonwithspecials">
        <!--<value condition="Integer.IsLess(ListItem.Season,1) + !String.IsEmpty(ListItem.Episode)">$LOCALIZE[20381] $VAR[EpisodeLabel]</value>-->
        <value condition="Integer.IsLess(ListItem.Season,1) + !String.IsEmpty(ListItem.Episode)">$LOCALIZE[20381] $INFO[ListItem.Episode]</value>
        <value condition="!Integer.IsLess(ListItem.Season,1) + !String.IsEmpty(ListItem.Episode)">$VAR[SeasonLabel,S,:]$VAR[EpisodeLabel,E,]</value>
    </variable>


<variable name="EpisodeLabel">
        <value condition="!Integer.IsGreater(ListItem.Episode,9) + !String.IsEmpty(ListItem.Episode)">$INFO[ListItem.Episode,0]</value>
        <value condition="Integer.IsGreater(ListItem.Episode,9) + !String.IsEmpty(ListItem.Episode)">$INFO[ListItem.Episode]</value>
 </variable>
 <variable name="SeasonLabel">
        <value condition="!Integer.IsGreater(ListItem.Season,9) + !String.IsEmpty(ListItem.Season)">$INFO[ListItem.Season,0]</value>
        <value condition="Integer.IsGreater(ListItem.Season,9) + !String.IsEmpty(ListItem.Season)">$INFO[ListItem.Season]</value>
  </variable>

Edit: my fault, noticed lately that if using $INFO[ListItem.Episode] on specials cant devide/remove the S from the Number. Also there isnt a label for ListItem(NumEpisode)
Skins |  Titan M O D   •   S W A N (WIP)
Reply
#12
@mardukL 

I tried the code, it is good and also much shorter.
Unfortunately, it's also not possible without exception to allow the spelling SXXEXX. (including specials)
Reply
#13
(2018-09-12, 19:46)chrissix Wrote: @mardukL 

I tried the code, it is good and also much shorter.
Unfortunately, it's also not possible without exception to allow the spelling SXXEXX. (including specials)
 yeahh.sorry. but now another task ;-)


Seems the 'S' from the ListItem.Episode label is an Locaziled String, but could not find a built in. For that special case.
Maybe someone can help, to find it.

I tried to strip the letter for that special case, wich is working on other strings/custom text labels, but it fails here (i also put a test code with a simple text label)

So, numlistitemepisode shows that its working, but numlistitemepisode2 failed, thats why i think that the 'S' is an language string, but not 100% sure.



1. Skinhelper.Service addon is needed
2. add this to MyVideoNav.xml
xml:

    <onload>RunScript(script.skin.helper.service,action=stripstring,splitchar=S,string=S1,output=numlistitemepisode,index=1)</onload> <!-- STRIP S TEST -->
    <onload>RunScript(script.skin.helper.service,action=stripstring,splitchar=S,string=$INFO[ListItem.Episode],output=numlistitemepisode2,index=1)</onload>
    
3. add this Labels ,to your variable, wich you like to use
  
xml:
 $INFO[Window(Home).Property(numlistitemepisode)]$INFO[Window(Home).Property(numlistitemepisode2)]
    
    
Sorce for the split
Skins |  Titan M O D   •   S W A N (WIP)
Reply

Logout Mark Read Team Forum Stats Members Help
Is there really no way to return Episode name with ListItem?1