Advertisement
Guest User

Untitled

a guest
Jan 2nd, 2017
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 27.61 KB | None | 0 0
  1.  .../TV/Server/Plugins/WebEPG/WebEPG/MPCode/TVProgram.cs   | 11 +++++++++++
  2.  .../Mediaportal/TV/Server/Plugins/XmlTvImport/Importer.cs | 12 ++++++++++++
  3.  .../Mediaportal/TV/Server/SetupTv/Sections/TvSchedules.cs |  1 +
  4.  .../TVDatabase/Entities/Factories/ProgramFactory.cs       |  1 +
  5.  .../TVDatabase/Entities/Factories/RecordingFactory.cs     |  3 +++
  6.  .../Mediaportal/TV/Server/TVDatabase/Entities/Program.cs  | 15 +++++++++++++++
  7.  .../TV/Server/TVDatabase/Entities/Recording.cs            | 15 +++++++++++++++
  8.  .../TV/Server/TVDatabase/EntityModel/Model.MSSQL.ssdl     |  2 ++
  9.  .../TV/Server/TVDatabase/EntityModel/Model.MSSQLCE.ssdl   |  2 ++
  10.  .../TV/Server/TVDatabase/EntityModel/Model.SQLite.ssdl    |  2 ++
  11.  .../TV/Server/TVDatabase/EntityModel/Model.edmx           |  6 ++++++
  12.  .../TV/Server/TVDatabase/EntityModel/Model.edmx.sql       |  2 ++
  13.  .../Server/TVDatabase/EntityModel/Model_SQLite.edmx.sql   |  2 ++
  14.  .../TvLibrary.Interfaces/Implementations/EpgProgram.cs    |  2 ++
  15.  .../TvLibrary.Services/DiskManagement/MatroskaMetaInfo.cs |  8 ++++++++
  16.  .../DiskManagement/RecordingImporter.cs                   |  7 +++++++
  17.  TvEngine3/Mediaportal/TV/TvPlugin/EPG/GuideBase.cs        |  2 ++
  18.  mediaportal/Core/guilib/DownloadedImage.cs                | 10 ++++++++--
  19.  mediaportal/Core/guilib/GUITextureManager.cs              |  2 +-
  20.  19 files changed, 102 insertions(+), 3 deletions(-)
  21.  
  22. diff --git a/TvEngine3/Mediaportal/TV/Server/Plugins/WebEPG/WebEPG/MPCode/TVProgram.cs b/TvEngine3/Mediaportal/TV/Server/Plugins/WebEPG/WebEPG/MPCode/TVProgram.cs
  23. index 0f973bc..0f1a440 100644
  24. --- a/TvEngine3/Mediaportal/TV/Server/Plugins/WebEPG/WebEPG/MPCode/TVProgram.cs
  25. +++ b/TvEngine3/Mediaportal/TV/Server/Plugins/WebEPG/WebEPG/MPCode/TVProgram.cs
  26. @@ -46,6 +46,7 @@ namespace MediaPortal.Webepg.TV.Database
  27.      private string _strEpisodeFullDetails = string.Empty;
  28.      private string _strStarRating = string.Empty;
  29.      private string _strClassification = string.Empty;
  30. +    private string _strIcon = string.Empty;
  31.      private long _iStartTime = 0;
  32.      private long _iEndTime = 0;
  33.      private int _iID = 0;
  34. @@ -81,6 +82,7 @@ namespace MediaPortal.Webepg.TV.Database
  35.        prog._strEpisodePart = _strEpisodePart;
  36.        prog._strStarRating = _strStarRating;
  37.        prog._strClassification = _strClassification;
  38. +      prog._strIcon = _strIcon;
  39.        prog._strDuration = _strDuration;
  40.        prog._strTimeFromNow = _strTimeFromNow;
  41.        prog._strEpisodeFullDetails = _strEpisodeFullDetails;
  42. @@ -262,6 +264,15 @@ namespace MediaPortal.Webepg.TV.Database
  43.        get { return _strClassification; }
  44.        set { _strClassification = value; }
  45.      }
  46. +  
  47. +    /// <summary>
  48. +    /// Property to get/set the icon of this tv program (eg: http://www.example.com/program.jpg)
  49. +    /// </summary>
  50. +    public string Icon
  51. +    {
  52. +      get { return _strIcon; }
  53. +      set { _strIcon = value; }
  54. +    }
  55.  
  56.      /// <summary>
  57.      /// Property to get the duration of this tv program
  58. diff --git a/TvEngine3/Mediaportal/TV/Server/Plugins/XmlTvImport/Importer.cs b/TvEngine3/Mediaportal/TV/Server/Plugins/XmlTvImport/Importer.cs
  59. index be641ba..076da3c 100644
  60. --- a/TvEngine3/Mediaportal/TV/Server/Plugins/XmlTvImport/Importer.cs
  61. +++ b/TvEngine3/Mediaportal/TV/Server/Plugins/XmlTvImport/Importer.cs
  62. @@ -377,6 +377,7 @@ namespace Mediaportal.TV.Server.Plugins.XmlTvImport
  63.        bool? isPreviouslyShown = null;
  64.        List<string> subtitlesLanguages = new List<string>(10);
  65.        string classification = null;
  66. +      string icon = null;
  67.        int priorityClassification = -1;
  68.        decimal starRating = -1;
  69.        decimal starRatingMaximum = -1;
  70. @@ -566,6 +567,13 @@ namespace Mediaportal.TV.Server.Plugins.XmlTvImport
  71.                xmlProg.Skip();
  72.              }
  73.              break;
  74. +          case "icon":
  75. +            string iconSrc = TidyString(ConvertHtmlToAnsi(xmlProg.GetAttribute("src")));
  76. +            if (!string.IsNullOrEmpty(iconSrc))
  77. +            {
  78. +              icon = iconSrc;
  79. +            }
  80. +            break;
  81.            default:
  82.              // unknown/unsupported, skip entire node
  83.              xmlProg.Skip();
  84. @@ -633,6 +641,10 @@ namespace Mediaportal.TV.Server.Plugins.XmlTvImport
  85.          {
  86.            program.Classification = classification;
  87.          }
  88. +        if (!string.IsNullOrEmpty(icon))
  89. +        {
  90. +          program.Icon = icon;
  91. +        }
  92.          if (isHighDefinition.HasValue)
  93.          {
  94.            program.IsHighDefinition = isHighDefinition.Value;
  95. diff --git a/TvEngine3/Mediaportal/TV/Server/SetupTv/Sections/TvSchedules.cs b/TvEngine3/Mediaportal/TV/Server/SetupTv/Sections/TvSchedules.cs
  96. index ea26ff6..51be212 100644
  97. --- a/TvEngine3/Mediaportal/TV/Server/SetupTv/Sections/TvSchedules.cs
  98. +++ b/TvEngine3/Mediaportal/TV/Server/SetupTv/Sections/TvSchedules.cs
  99. @@ -347,6 +347,7 @@ namespace Mediaportal.TV.Server.SetupTV.Sections
  100.              }            
  101.              item.SubItems.Add(prg.OriginalAirDate.HasValue ? prg.OriginalAirDate.Value.ToString("HH:mm:ss", mmddFormat) : string.Empty);
  102.              item.SubItems.Add(prg.Classification ?? string.Empty);
  103. +            item.SubItems.Add(prg.Icon ?? string.Empty);
  104.              item.SubItems.Add(prg.StarRating.HasValue ? string.Format("{0}/{1}", prg.StarRating, prg.StarRatingMaximum) : string.Empty);
  105.              item.SubItems.Add(prg.EpisodeName ?? string.Empty);
  106.              item.SubItems.Add(prg.EpisodePartNumber.ToString());
  107. diff --git a/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Factories/ProgramFactory.cs b/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Factories/ProgramFactory.cs
  108. index dfe90dc..b8b5a87 100644
  109. --- a/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Factories/ProgramFactory.cs
  110. +++ b/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Factories/ProgramFactory.cs
  111. @@ -31,6 +31,7 @@ namespace Mediaportal.TV.Server.TVDatabase.Entities.Factories
  112.          IdProgramCategory = null,
  113.          Classification = null,
  114.          Advisories = (int)ContentAdvisory.None,
  115. +        Icon = null,
  116.          IsHighDefinition = null,
  117.          IsThreeDimensional = null,
  118.          AudioLanguages = null,
  119. diff --git a/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Factories/RecordingFactory.cs b/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Factories/RecordingFactory.cs
  120. index 3d765c6..f7c91ae 100644
  121. --- a/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Factories/RecordingFactory.cs
  122. +++ b/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Factories/RecordingFactory.cs
  123. @@ -47,6 +47,7 @@ namespace Mediaportal.TV.Server.TVDatabase.Entities.Factories
  124.          recording.IdProgramCategory = program.IdProgramCategory;
  125.          recording.Classification = program.Classification;
  126.          recording.Advisories = program.Advisories;
  127. +        recording.Icon = program.Icon;
  128.          recording.IsHighDefinition = program.IsHighDefinition;
  129.          recording.IsThreeDimensional = program.IsThreeDimensional;
  130.          recording.IsLive = program.IsLive;
  131. @@ -75,6 +76,7 @@ namespace Mediaportal.TV.Server.TVDatabase.Entities.Factories
  132.          recording.IdProgramCategory = null;
  133.          recording.Classification = null;
  134.          recording.Advisories = (int)ContentAdvisory.None;
  135. +        recording.Icon = null;
  136.          recording.IsHighDefinition = null;
  137.          recording.IsThreeDimensional = null;
  138.          recording.IsLive = null;
  139. @@ -108,6 +110,7 @@ namespace Mediaportal.TV.Server.TVDatabase.Entities.Factories
  140.          IdProgramCategory = null,
  141.          Classification = null,
  142.          Advisories = (int)ContentAdvisory.None,
  143. +        Icon = null,
  144.          IsHighDefinition = null,
  145.          IsThreeDimensional = null,
  146.          IsLive = null,
  147. diff --git a/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Program.cs b/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Program.cs
  148. index 0a1b5eb..d73abd9 100644
  149. --- a/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Program.cs
  150. +++ b/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Program.cs
  151. @@ -301,6 +301,21 @@ namespace Mediaportal.TV.Server.TVDatabase.Entities
  152.          private int _advisories;
  153.      
  154.          [DataMember]
  155. +        public string Icon
  156. +        {
  157. +            get { return _icon; }
  158. +            set
  159. +            {
  160. +                if (_icon != value)
  161. +                {
  162. +                    _icon = value;
  163. +                    OnPropertyChanged("Icon");
  164. +                }
  165. +            }
  166. +        }
  167. +        private string _icon;
  168. +    
  169. +        [DataMember]
  170.          public Nullable<bool> IsHighDefinition
  171.          {
  172.              get { return _isHighDefinition; }
  173. diff --git a/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Recording.cs b/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Recording.cs
  174. index e41a0af..021bbef 100644
  175. --- a/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Recording.cs
  176. +++ b/TvEngine3/Mediaportal/TV/Server/TVDatabase/Entities/Recording.cs
  177. @@ -315,6 +315,21 @@ namespace Mediaportal.TV.Server.TVDatabase.Entities
  178.              }
  179.          }
  180.          private int _advisories;
  181. +
  182. +        [DataMember]
  183. +        public string Icon
  184. +        {
  185. +            get { return _icon; }
  186. +            set
  187. +            {
  188. +                if (_icon != value)
  189. +                {
  190. +                    _icon = value;
  191. +                    OnPropertyChanged("Icon");
  192. +                }
  193. +            }
  194. +        }
  195. +        private string _icon;
  196.      
  197.          [DataMember]
  198.          public Nullable<bool> IsHighDefinition
  199. diff --git a/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.MSSQL.ssdl b/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.MSSQL.ssdl
  200. index ee41241..e91434a 100644
  201. --- a/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.MSSQL.ssdl
  202. +++ b/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.MSSQL.ssdl
  203. @@ -309,6 +309,7 @@
  204.      <Property Name="IdProgramCategory" Type="int" Nullable="true" />
  205.      <Property Name="Classification" Type="varchar" Nullable="true" MaxLength="200" />
  206.      <Property Name="Advisories" Type="int" Nullable="false" />
  207. +    <Property Name="Icon" Type="varchar" Nullable="true" MaxLength="200" />
  208.      <Property Name="IsHighDefinition" Type="bit" Nullable="true" />
  209.      <Property Name="IsThreeDimensional" Type="bit" Nullable="true" />
  210.      <Property Name="AudioLanguages" Type="varchar" Nullable="true" MaxLength="50" />
  211. @@ -363,6 +364,7 @@
  212.      <Property Name="IdProgramCategory" Type="int" Nullable="true" />
  213.      <Property Name="Classification" Type="varchar" Nullable="true" MaxLength="200" />
  214.      <Property Name="Advisories" Type="int" Nullable="false" />
  215. +    <Property Name="Icon" Type="varchar" Nullable="true" MaxLength="200" />
  216.      <Property Name="IsHighDefinition" Type="bit" Nullable="true" />
  217.      <Property Name="IsThreeDimensional" Type="bit" Nullable="true" />
  218.      <Property Name="IsLive" Type="bit" Nullable="true" />
  219. diff --git a/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.MSSQLCE.ssdl b/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.MSSQLCE.ssdl
  220. index ddbbd69..47ba43e 100644
  221. --- a/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.MSSQLCE.ssdl
  222. +++ b/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.MSSQLCE.ssdl
  223. @@ -309,6 +309,7 @@
  224.      <Property Name="IdProgramCategory" Type="int" Nullable="true" />
  225.      <Property Name="Classification" Type="nvarchar" Nullable="true" MaxLength="200" />
  226.      <Property Name="Advisories" Type="int" Nullable="false" />
  227. +    <Property Name="Icon" Type="nvarchar" Nullable="true" MaxLength="200" />
  228.      <Property Name="IsHighDefinition" Type="bit" Nullable="true" />
  229.      <Property Name="IsThreeDimensional" Type="bit" Nullable="true" />
  230.      <Property Name="AudioLanguages" Type="nvarchar" Nullable="true" MaxLength="50" />
  231. @@ -363,6 +364,7 @@
  232.      <Property Name="IdProgramCategory" Type="int" Nullable="true" />
  233.      <Property Name="Classification" Type="nvarchar" Nullable="true" MaxLength="200" />
  234.      <Property Name="Advisories" Type="int" Nullable="false" />
  235. +    <Property Name="Icon" Type="nvarchar" Nullable="true" MaxLength="200" />
  236.      <Property Name="IsHighDefinition" Type="bit" Nullable="true" />
  237.      <Property Name="IsThreeDimensional" Type="bit" Nullable="true" />
  238.      <Property Name="IsLive" Type="bit" Nullable="true" />
  239. diff --git a/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.SQLite.ssdl b/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.SQLite.ssdl
  240. index 966d815..3b4a4ef 100644
  241. --- a/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.SQLite.ssdl
  242. +++ b/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.SQLite.ssdl
  243. @@ -309,6 +309,7 @@
  244.      <Property Name="IdProgramCategory" Type="int" Nullable="true" />
  245.      <Property Name="Classification" Type="varchar" Nullable="true" MaxLength="200" />
  246.      <Property Name="Advisories" Type="int" Nullable="false" />
  247. +    <Property Name="Icon" Type="varchar" Nullable="true" MaxLength="200" />
  248.      <Property Name="IsHighDefinition" Type="bit" Nullable="true" />
  249.      <Property Name="IsThreeDimensional" Type="bit" Nullable="true" />
  250.      <Property Name="AudioLanguages" Type="varchar" Nullable="true" MaxLength="50" />
  251. @@ -363,6 +364,7 @@
  252.      <Property Name="IdProgramCategory" Type="int" Nullable="true" />
  253.      <Property Name="Classification" Type="varchar" Nullable="true" MaxLength="200" />
  254.      <Property Name="Advisories" Type="int" Nullable="false" />
  255. +    <Property Name="Icon" Type="varchar" Nullable="true" MaxLength="200" />
  256.      <Property Name="IsHighDefinition" Type="bit" Nullable="true" />
  257.      <Property Name="IsThreeDimensional" Type="bit" Nullable="true" />
  258.      <Property Name="IsLive" Type="bit" Nullable="true" />
  259. diff --git a/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.edmx b/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.edmx
  260. index c1c7019..5daba20 100644
  261. --- a/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.edmx
  262. +++ b/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.edmx
  263. @@ -314,6 +314,7 @@
  264.      <Property Name="IdProgramCategory" Type="int" Nullable="true" />
  265.      <Property Name="Classification" Type="varchar" Nullable="true" MaxLength="200" />
  266.      <Property Name="Advisories" Type="int" Nullable="false" />
  267. +    <Property Name="Icon" Type="varchar" Nullable="true" MaxLength="200" />
  268.      <Property Name="IsHighDefinition" Type="bool" Nullable="true" />
  269.      <Property Name="IsThreeDimensional" Type="bool" Nullable="true" />
  270.      <Property Name="AudioLanguages" Type="varchar" Nullable="true" MaxLength="50" />
  271. @@ -368,6 +369,7 @@
  272.      <Property Name="IdProgramCategory" Type="int" Nullable="true" />
  273.      <Property Name="Classification" Type="varchar" Nullable="true" MaxLength="200" />
  274.      <Property Name="Advisories" Type="int" Nullable="false" />
  275. +    <Property Name="Icon" Type="varchar" Nullable="true" MaxLength="200" />
  276.      <Property Name="IsHighDefinition" Type="bool" Nullable="true" />
  277.      <Property Name="IsThreeDimensional" Type="bool" Nullable="true" />
  278.      <Property Name="IsLive" Type="bool" Nullable="true" />
  279. @@ -1382,6 +1384,7 @@
  280.            <Property Type="Int32" Name="IdProgramCategory" Nullable="true" />
  281.            <Property Type="String" Name="Classification" Nullable="true" MaxLength="200" Unicode="false" FixedLength="false" />
  282.            <Property Type="Int32" Name="Advisories" Nullable="false" />
  283. +          <Property Type="String" Name="Icon" Nullable="true" MaxLength="200" Unicode="false" FixedLength="false" />
  284.            <Property Type="Boolean" Name="IsHighDefinition" Nullable="true" />
  285.            <Property Type="Boolean" Name="IsThreeDimensional" Nullable="true" />
  286.            <Property Type="String" Name="AudioLanguages" Nullable="true" MaxLength="50" Unicode="false" FixedLength="false" />
  287. @@ -1444,6 +1447,7 @@
  288.            <Property Type="Int32" Name="IdProgramCategory" Nullable="true" />
  289.            <Property Type="String" Name="Classification" Nullable="true" MaxLength="200" Unicode="false" FixedLength="false" />
  290.            <Property Type="Int32" Name="Advisories" Nullable="false" />
  291. +          <Property Type="String" Name="Icon" Nullable="true" MaxLength="200" Unicode="false" FixedLength="false" />
  292.            <Property Type="Boolean" Name="IsHighDefinition" Nullable="true" />
  293.            <Property Type="Boolean" Name="IsThreeDimensional" Nullable="true" />
  294.            <Property Type="Boolean" Name="IsLive" Nullable="true" />
  295. @@ -2303,6 +2307,7 @@
  296.            <ScalarProperty Name="IdProgramCategory" ColumnName="IdProgramCategory" />
  297.            <ScalarProperty Name="Classification" ColumnName="Classification" />
  298.            <ScalarProperty Name="Advisories" ColumnName="Advisories" />
  299. +          <ScalarProperty Name="Icon" ColumnName="Icon" />
  300.            <ScalarProperty Name="IsHighDefinition" ColumnName="IsHighDefinition" />
  301.            <ScalarProperty Name="IsThreeDimensional" ColumnName="IsThreeDimensional" />
  302.            <ScalarProperty Name="AudioLanguages" ColumnName="AudioLanguages" />
  303. @@ -2360,6 +2365,7 @@
  304.            <ScalarProperty Name="IdProgramCategory" ColumnName="IdProgramCategory" />
  305.            <ScalarProperty Name="Classification" ColumnName="Classification" />
  306.            <ScalarProperty Name="Advisories" ColumnName="Advisories" />
  307. +          <ScalarProperty Name="Icon" ColumnName="Icon" />
  308.            <ScalarProperty Name="IsHighDefinition" ColumnName="IsHighDefinition" />
  309.            <ScalarProperty Name="IsThreeDimensional" ColumnName="IsThreeDimensional" />
  310.            <ScalarProperty Name="IsLive" ColumnName="IsLive" />
  311. diff --git a/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.edmx.sql b/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.edmx.sql
  312. index b579186..9dd517a 100644
  313. --- a/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.edmx.sql
  314. +++ b/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model.edmx.sql
  315. @@ -254,6 +254,7 @@ CREATE TABLE `Programs`(
  316.     `IdProgramCategory` int,
  317.     `Classification` varchar (200),
  318.     `Advisories` int NOT NULL,
  319. +   `Icon` varchar (200),
  320.     `IsHighDefinition` bool,
  321.     `IsThreeDimensional` bool,
  322.     `AudioLanguages` varchar (50),
  323. @@ -314,6 +315,7 @@ CREATE TABLE `Recordings`(
  324.     `IdProgramCategory` int,
  325.     `Classification` varchar (200),
  326.     `Advisories` int NOT NULL,
  327. +   `Icon` varchar (200),
  328.     `IsHighDefinition` bool,
  329.     `IsThreeDimensional` bool,
  330.     `IsLive` bool,
  331. diff --git a/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model_SQLite.edmx.sql b/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model_SQLite.edmx.sql
  332. index 0db8dee..b6d41dc 100644
  333. --- a/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model_SQLite.edmx.sql
  334. +++ b/TvEngine3/Mediaportal/TV/Server/TVDatabase/EntityModel/Model_SQLite.edmx.sql
  335. @@ -296,6 +296,7 @@ CREATE TABLE "Programs"  (
  336.      "IdProgramCategory" int NULL,
  337.      "Classification" varchar(200) NULL COLLATE NOCASE,
  338.      "Advisories" int NOT NULL,
  339. +    "Icon" varchar(200) NULL COLLATE NOCASE,
  340.      "IsHighDefinition" bit NULL,
  341.      "IsThreeDimensional" bit NULL,
  342.      "AudioLanguages" varchar(50) NULL COLLATE NOCASE,
  343. @@ -380,6 +381,7 @@ CREATE TABLE "Recordings"  (
  344.      "IdProgramCategory" int NULL,
  345.      "Classification" varchar(200) NULL COLLATE NOCASE,
  346.      "Advisories" int NOT NULL,
  347. +    "Icon" varchar(200) NULL COLLATE NOCASE,
  348.      "IsHighDefinition" bit NULL,
  349.      "IsThreeDimensional" bit NULL,
  350.      "IsLive" bit NULL,
  351. diff --git a/TvEngine3/Mediaportal/TV/Server/TvLibrary.Interfaces/Implementations/EpgProgram.cs b/TvEngine3/Mediaportal/TV/Server/TvLibrary.Interfaces/Implementations/EpgProgram.cs
  352. index cf91d0a..6d3efd5 100644
  353. --- a/TvEngine3/Mediaportal/TV/Server/TvLibrary.Interfaces/Implementations/EpgProgram.cs
  354. +++ b/TvEngine3/Mediaportal/TV/Server/TvLibrary.Interfaces/Implementations/EpgProgram.cs
  355. @@ -42,6 +42,7 @@ namespace Mediaportal.TV.Server.TVLibrary.Interfaces.Implementations
  356.      public IList<string> Categories { get; set; }
  357.      public IDictionary<string, string> Classifications { get; set; }
  358.      public ContentAdvisory Advisories { get; set; }
  359. +    public string Icon { get; set; }
  360.      public bool? IsHighDefinition { get; set; }
  361.      public bool? IsThreeDimensional { get; set; }
  362.      public IList<string> AudioLanguages { get; set; }
  363. @@ -75,6 +76,7 @@ namespace Mediaportal.TV.Server.TVLibrary.Interfaces.Implementations
  364.        Categories = new List<string>();
  365.        Classifications = new Dictionary<string, string>();
  366.        Advisories = ContentAdvisory.None;
  367. +      Icon = null;
  368.        IsHighDefinition = null;
  369.        IsThreeDimensional = null;
  370.        AudioLanguages = new List<string>();
  371. diff --git a/TvEngine3/Mediaportal/TV/Server/TvLibrary.Services/DiskManagement/MatroskaMetaInfo.cs b/TvEngine3/Mediaportal/TV/Server/TvLibrary.Services/DiskManagement/MatroskaMetaInfo.cs
  372. index e3e2edb..21d9189 100644
  373. --- a/TvEngine3/Mediaportal/TV/Server/TvLibrary.Services/DiskManagement/MatroskaMetaInfo.cs
  374. +++ b/TvEngine3/Mediaportal/TV/Server/TvLibrary.Services/DiskManagement/MatroskaMetaInfo.cs
  375. @@ -52,6 +52,7 @@ namespace Mediaportal.TV.Server.TVLibrary.DiskManagement
  376.      public DateTime? OriginalAirDate = null;
  377.      public string Classification = null;
  378.      public ContentAdvisory Advisories = ContentAdvisory.None;
  379. +    public string Icon = null;
  380.      public bool? IsHighDefinition = null;
  381.      public bool? IsThreeDimensional = null;
  382.      public bool? IsLive = null;
  383. @@ -232,6 +233,12 @@ namespace Mediaportal.TV.Server.TVLibrary.DiskManagement
  384.                  info.Advisories = advisories;
  385.                }
  386.                break;
  387. +            case "ICON":
  388. +              if (!string.IsNullOrEmpty(tagValue))
  389. +              {
  390. +                info.Icon = tagValue;
  391. +              }
  392. +              break;
  393.              case "IS_HIGH_DEFINITION":
  394.                bool isHighDefinition;
  395.                if (bool.TryParse(tagValue, out isHighDefinition))
  396. @@ -341,6 +348,7 @@ namespace Mediaportal.TV.Server.TVLibrary.DiskManagement
  397.        tagNode.AppendChild(AddSimpleTag("GENRE", ProgramCategory ?? string.Empty, doc));
  398.        tagNode.AppendChild(AddSimpleTag("CLASSIFICATION", Classification ?? string.Empty, doc));
  399.        tagNode.AppendChild(AddSimpleTag("ADVISORIES", Advisories.ToString(), doc));
  400. +      tagNode.AppendChild(AddSimpleTag("ICON", Icon ?? string.Empty, doc));
  401.        tagNode.AppendChild(AddSimpleTag("IS_HIGH_DEFINITION", IsHighDefinition.ToString(), doc));
  402.        tagNode.AppendChild(AddSimpleTag("IS_THREE_DIMENSIONAL", IsThreeDimensional.ToString(), doc));
  403.        tagNode.AppendChild(AddSimpleTag("IS_LIVE", IsLive.ToString(), doc));
  404. diff --git a/TvEngine3/Mediaportal/TV/Server/TvLibrary.Services/DiskManagement/RecordingImporter.cs b/TvEngine3/Mediaportal/TV/Server/TvLibrary.Services/DiskManagement/RecordingImporter.cs
  405. index c0fe42d..2ae7ece 100644
  406. --- a/TvEngine3/Mediaportal/TV/Server/TvLibrary.Services/DiskManagement/RecordingImporter.cs
  407. +++ b/TvEngine3/Mediaportal/TV/Server/TvLibrary.Services/DiskManagement/RecordingImporter.cs
  408. @@ -153,6 +153,7 @@ namespace Mediaportal.TV.Server.TVLibrary.DiskManagement
  409.        r.OriginalAirDate = info.OriginalAirDate;
  410.        r.Classification = info.Classification;
  411.        r.Advisories = (int)info.Advisories;
  412. +      r.Icon = info.Icon;
  413.        r.IsHighDefinition = info.IsHighDefinition;
  414.        r.IsThreeDimensional = info.IsThreeDimensional;
  415.        r.IsLive = info.IsLive;
  416. @@ -224,6 +225,11 @@ namespace Mediaportal.TV.Server.TVLibrary.DiskManagement
  417.        {
  418.          r.Classification = info.Rating;
  419.        }
  420. +      
  421. +      if (!string.IsNullOrEmpty(info.Icon))
  422. +      {
  423. +        r.Icon = info.Icon;
  424. +      }
  425.  
  426.        Channel channel = GetChannelByMediaTypeAndName(channelsByName, mediaType, new List<string> { info.ChannelDisplayName });
  427.        if (channel != null)
  428. @@ -271,6 +277,7 @@ namespace Mediaportal.TV.Server.TVLibrary.DiskManagement
  429.          r.IsPreviouslyShown = true;
  430.        }
  431.        r.Classification = info.Classification;
  432. +      r.Icon = info.Icon;
  433.        r.IsHighDefinition = info.IsHighDefinition;
  434.        r.IsLive = info.IsLive;
  435.        r.ProductionYear = info.ProductionYear;
  436. diff --git a/TvEngine3/Mediaportal/TV/TvPlugin/EPG/GuideBase.cs b/TvEngine3/Mediaportal/TV/TvPlugin/EPG/GuideBase.cs
  437. index d189193..18abacf 100644
  438. --- a/TvEngine3/Mediaportal/TV/TvPlugin/EPG/GuideBase.cs
  439. +++ b/TvEngine3/Mediaportal/TV/TvPlugin/EPG/GuideBase.cs
  440. @@ -1110,6 +1110,7 @@ namespace Mediaportal.TV.TvPlugin.EPG
  441.          GUIPropertyManager.SetProperty(SkinPropertyPrefix + ".Guide.Date", String.Empty);
  442.          GUIPropertyManager.SetProperty(SkinPropertyPrefix + ".Guide.StarRating", String.Empty);
  443.          GUIPropertyManager.SetProperty(SkinPropertyPrefix + ".Guide.Classification", String.Empty);
  444. +        GUIPropertyManager.SetProperty(SkinPropertyPrefix + ".Guide.Icon", String.Empty);
  445.          GUIPropertyManager.SetProperty(SkinPropertyPrefix + ".Guide.Duration", String.Empty);
  446.          GUIPropertyManager.SetProperty(SkinPropertyPrefix + ".Guide.DurationMins", String.Empty);
  447.          GUIPropertyManager.SetProperty(SkinPropertyPrefix + ".Guide.TimeFromNow", String.Empty);
  448. @@ -1144,6 +1145,7 @@ namespace Mediaportal.TV.TvPlugin.EPG
  449.          GUIPropertyManager.SetProperty(SkinPropertyPrefix + ".Guide.TimeFromNow", GetStartTimeFromNow(_currentProgram.Entity));
  450.          GUIPropertyManager.SetProperty(SkinPropertyPrefix + ".Guide.Episode", _currentProgram.Entity.EpisodeNumber > 0 ? _currentProgram.Entity.EpisodeNumber.ToString() : string.Empty);
  451.          GUIPropertyManager.SetProperty(SkinPropertyPrefix + ".Guide.SubTitle", _currentProgram.Entity.EpisodeName ?? string.Empty);
  452. +        GUIPropertyManager.SetProperty(SkinPropertyPrefix + ".Guide.Icon", _currentProgram.Entity.Icon ?? string.Empty);
  453.  
  454.          if (string.IsNullOrEmpty(_currentProgram.Entity.Classification))
  455.          {
  456. diff --git a/mediaportal/Core/guilib/DownloadedImage.cs b/mediaportal/Core/guilib/DownloadedImage.cs
  457. index e29e5a0..26a8a15 100644
  458. --- a/mediaportal/Core/guilib/DownloadedImage.cs
  459. +++ b/mediaportal/Core/guilib/DownloadedImage.cs
  460. @@ -50,10 +50,12 @@ namespace MediaPortal.GUI.Library
  461.        {
  462.          string tempFile = Config.GetFile(Config.Dir.Thumbs, String.Format("MPTemp{0}.gif", x));
  463.          string tempFile2 = Config.GetFile(Config.Dir.Thumbs, String.Format("MPTemp{0}.jpg", x));
  464. -        string tempFile3 = Config.GetFile(Config.Dir.Thumbs, String.Format("MPTemp{0}.bmp", x));
  465. +        string tempFile3 = Config.GetFile(Config.Dir.Thumbs, String.Format("MPTemp{0}.png", x));
  466. +        string tempFile4 = Config.GetFile(Config.Dir.Thumbs, String.Format("MPTemp{0}.bmp", x));
  467.          if (!File.Exists(tempFile) &&
  468.              !File.Exists(tempFile2) &&
  469. -            !File.Exists(tempFile3))
  470. +            !File.Exists(tempFile3) &&
  471. +            !File.Exists(tempFile4))
  472.          {
  473.            return tempFile;
  474.          }
  475. @@ -126,6 +128,10 @@ namespace MediaPortal.GUI.Library
  476.              {
  477.                extension = ".jpg";
  478.              }
  479. +            if (contentType.IndexOf("png") >= 0)
  480. +            {
  481. +              extension = ".png";
  482. +            }
  483.              if (contentType.IndexOf("bmp") >= 0)
  484.              {
  485.                extension = ".bmp";
  486. diff --git a/mediaportal/Core/guilib/GUITextureManager.cs b/mediaportal/Core/guilib/GUITextureManager.cs
  487. index 45fdc68..e6e3025 100644
  488. --- a/mediaportal/Core/guilib/GUITextureManager.cs
  489. +++ b/mediaportal/Core/guilib/GUITextureManager.cs
  490. @@ -158,7 +158,7 @@ namespace MediaPortal.GUI.Library
  491.          return "";
  492.        }
  493.        string lowerFileName = fileName.ToLowerInvariant().Trim();
  494. -      if (lowerFileName.IndexOf(@"http:") >= 0)
  495. +      if (lowerFileName.IndexOf(@"http:") >= 0 || lowerFileName.IndexOf(@"https:") >= 0)
  496.        {
  497.          DownloadedImage image;
  498.          if (!_cacheDownload.TryGetValue(lowerFileName, out image))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement