diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-04-18 20:05:36 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-04-18 20:05:36 -0400 |
| commit | d155b78360a2d8a945aded31c361f69ad017e8b3 (patch) | |
| tree | 2f0750264703cf2a44259be4f531e8dc680f9212 /MediaBrowser.Model | |
| parent | b5218034acb3149b6b5db658120611ba1469d8bb (diff) | |
update hls timer
Diffstat (limited to 'MediaBrowser.Model')
| -rw-r--r-- | MediaBrowser.Model/ApiClient/ServerCredentials.cs | 15 | ||||
| -rw-r--r-- | MediaBrowser.Model/Dto/ItemLayout.cs | 72 | ||||
| -rw-r--r-- | MediaBrowser.Model/MediaBrowser.Model.csproj | 1 |
3 files changed, 87 insertions, 1 deletions
diff --git a/MediaBrowser.Model/ApiClient/ServerCredentials.cs b/MediaBrowser.Model/ApiClient/ServerCredentials.cs index 6ba2a80c87..b5a1a7b499 100644 --- a/MediaBrowser.Model/ApiClient/ServerCredentials.cs +++ b/MediaBrowser.Model/ApiClient/ServerCredentials.cs @@ -98,7 +98,7 @@ namespace MediaBrowser.Model.ApiClient { var index = 0; - foreach (var server in servers) + foreach (ServerInfo server in servers) { if (StringHelper.EqualsIgnoreCase(id, server.Id)) { @@ -110,5 +110,18 @@ namespace MediaBrowser.Model.ApiClient return -1; } + + public ServerInfo GetServer(string id) + { + foreach (ServerInfo server in Servers) + { + if (StringHelper.EqualsIgnoreCase(id, server.Id)) + { + return server; + } + } + + return null; + } } } diff --git a/MediaBrowser.Model/Dto/ItemLayout.cs b/MediaBrowser.Model/Dto/ItemLayout.cs new file mode 100644 index 0000000000..c85818390d --- /dev/null +++ b/MediaBrowser.Model/Dto/ItemLayout.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; + +namespace MediaBrowser.Model.Dto +{ + public static class ItemLayout + { + public static double? GetDisplayAspectRatio(BaseItemDto item) + { + List<BaseItemDto> items = new List<BaseItemDto>(); + items.Add(item); + return GetDisplayAspectRatio(items); + } + + public static double? GetDisplayAspectRatio(List<BaseItemDto> items) + { + List<double> values = new List<double>(); + + foreach (BaseItemDto item in items) + { + if (item.PrimaryImageAspectRatio.HasValue) + { + values.Add(item.PrimaryImageAspectRatio.Value); + } + } + + if (values.Count == 0) + { + return null; + } + + values.Sort(); + + double halfDouble = values.Count; + halfDouble /= 2; + int half = Convert.ToInt32(Math.Floor(halfDouble)); + + double result; + + if (values.Count % 2 > 0) + result = values[half]; + else + result = (values[half - 1] + values[half]) / 2.0; + + // If really close to 2:3 (poster image), just return 2:3 + if (Math.Abs(0.66666666667 - result) <= .15) + { + return 0.66666666667; + } + + // If really close to 16:9 (episode image), just return 16:9 + if (Math.Abs(1.777777778 - result) <= .2) + { + return 1.777777778; + } + + // If really close to 1 (square image), just return 1 + if (Math.Abs(1 - result) <= .15) + { + return 1.0; + } + + // If really close to 4:3 (poster image), just return 2:3 + if (Math.Abs(1.33333333333 - result) <= .15) + { + return 1.33333333333; + } + + return result; + } + } +} diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj index eb36712c2f..af0cbb1665 100644 --- a/MediaBrowser.Model/MediaBrowser.Model.csproj +++ b/MediaBrowser.Model/MediaBrowser.Model.csproj @@ -139,6 +139,7 @@ <Compile Include="Drawing\ImageOrientation.cs" /> <Compile Include="Dto\IHasServerId.cs" /> <Compile Include="Dto\IHasSyncInfo.cs" /> + <Compile Include="Dto\ItemLayout.cs" /> <Compile Include="Dto\MetadataEditorInfo.cs" /> <Compile Include="Dto\NameIdPair.cs" /> <Compile Include="Dto\NameValuePair.cs" /> |
