aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Providers/Manager/ProviderManager.cs8
-rw-r--r--MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs21
-rw-r--r--MediaBrowser.Providers/Music/SoundtrackPostScanTask.cs82
-rw-r--r--MediaBrowser.Providers/Omdb/OmdbItemProvider.cs14
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs2
-rw-r--r--MediaBrowser.WebDashboard/Api/DashboardService.cs6
6 files changed, 31 insertions, 102 deletions
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs
index e95ff9e3d..c8989529b 100644
--- a/MediaBrowser.Providers/Manager/ProviderManager.cs
+++ b/MediaBrowser.Providers/Manager/ProviderManager.cs
@@ -445,11 +445,15 @@ namespace MediaBrowser.Providers.Manager
AddMetadataPlugins(summary.Plugins, dummy, options);
AddImagePlugins(summary.Plugins, dummy, imageProviders);
- summary.SupportedImageTypes = imageProviders.OfType<IRemoteImageProvider>()
+ var supportedImageTypes = imageProviders.OfType<IRemoteImageProvider>()
.SelectMany(i => i.GetSupportedImages(dummy))
- .Distinct()
.ToList();
+ supportedImageTypes.AddRange(imageProviders.OfType<IDynamicImageProvider>()
+ .SelectMany(i => i.GetSupportedImages(dummy)));
+
+ summary.SupportedImageTypes = supportedImageTypes.Distinct().ToList();
+
return summary;
}
diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs
index 05ea49018..115ffd444 100644
--- a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs
+++ b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs
@@ -585,8 +585,9 @@ namespace MediaBrowser.Providers.MediaInfo
// Try to eliminate menus and intros by skipping all files at the front of the list that are less than the minimum size
// Once we reach a file that is at least the minimum, return all subsequent ones
- var allVobs = Directory.EnumerateFiles(root, "*", SearchOption.AllDirectories)
- .Where(file => string.Equals(Path.GetExtension(file), ".vob", StringComparison.OrdinalIgnoreCase))
+ var allVobs = new DirectoryInfo(root).EnumerateFiles("*", SearchOption.AllDirectories)
+ .Where(file => string.Equals(file.Extension, ".vob", StringComparison.OrdinalIgnoreCase))
+ .OrderBy(i => i.FullName)
.ToList();
// If we didn't find any satisfying the min length, just take them all
@@ -599,18 +600,22 @@ namespace MediaBrowser.Providers.MediaInfo
if (titleNumber.HasValue)
{
var prefix = string.Format("VTS_0{0}_", titleNumber.Value.ToString(_usCulture));
- var vobs = allVobs.Where(i => Path.GetFileName(i).StartsWith(prefix, StringComparison.OrdinalIgnoreCase)).ToList();
+ var vobs = allVobs.Where(i => i.Name.StartsWith(prefix, StringComparison.OrdinalIgnoreCase)).ToList();
if (vobs.Count > 0)
{
- return vobs;
+ var minSizeVobs = allVobs
+ .SkipWhile(f => f.Length < minPlayableSize)
+ .ToList();
+
+ return minSizeVobs.Count == 0 ? vobs.Select(i => i.FullName) : minSizeVobs.Select(i => i.FullName);
}
_logger.Debug("Could not determine vob file list for {0} using DvdLib. Will scan using file sizes.", video.Path);
}
var files = allVobs
- .SkipWhile(f => new FileInfo(f).Length < minPlayableSize)
+ .SkipWhile(f => f.Length < minPlayableSize)
.ToList();
// If we didn't find any satisfying the min length, just take them all
@@ -623,7 +628,7 @@ namespace MediaBrowser.Providers.MediaInfo
// Assuming they're named "vts_05_01", take all files whose second part matches that of the first file
if (files.Count > 0)
{
- var parts = Path.GetFileNameWithoutExtension(files[0]).Split('_');
+ var parts = Path.GetFileNameWithoutExtension(files[0].FullName).Split('_');
if (parts.Length == 3)
{
@@ -631,7 +636,7 @@ namespace MediaBrowser.Providers.MediaInfo
files = files.TakeWhile(f =>
{
- var fileParts = Path.GetFileNameWithoutExtension(f).Split('_');
+ var fileParts = Path.GetFileNameWithoutExtension(f.FullName).Split('_');
return fileParts.Length == 3 && string.Equals(title, fileParts[1], StringComparison.OrdinalIgnoreCase);
@@ -646,7 +651,7 @@ namespace MediaBrowser.Providers.MediaInfo
}
}
- return files;
+ return files.Select(i => i.FullName);
}
}
}
diff --git a/MediaBrowser.Providers/Music/SoundtrackPostScanTask.cs b/MediaBrowser.Providers/Music/SoundtrackPostScanTask.cs
index 0e5dfdb2b..dc94460f4 100644
--- a/MediaBrowser.Providers/Music/SoundtrackPostScanTask.cs
+++ b/MediaBrowser.Providers/Music/SoundtrackPostScanTask.cs
@@ -1,12 +1,5 @@
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Entities.Audio;
-using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Library;
using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Linq;
-using System.Text;
using System.Threading;
using System.Threading.Tasks;
@@ -31,80 +24,9 @@ namespace MediaBrowser.Providers.Music
private void RunInternal(IProgress<double> progress, CancellationToken cancellationToken)
{
- var allItems = _libraryManager.RootFolder
- .RecursiveChildren
- .ToList();
-
- var musicAlbums = allItems
- .OfType<MusicAlbum>()
- .ToList();
-
- var itemsWithSoundtracks = allItems.OfType<IHasSoundtracks>().ToList();
-
- foreach (var item in itemsWithSoundtracks)
- {
- cancellationToken.ThrowIfCancellationRequested();
-
- item.SoundtrackIds = GetSoundtrackIds(item, musicAlbums).ToList();
- }
-
- progress.Report(50);
-
- itemsWithSoundtracks = itemsWithSoundtracks.Where(i => i.SoundtrackIds.Count > 0).ToList();
-
- foreach (var album in musicAlbums)
- {
- cancellationToken.ThrowIfCancellationRequested();
-
- album.SoundtrackIds = GetAlbumLinks(album.Id, itemsWithSoundtracks).ToList();
- }
+ // Reimplement this when more kinds of associations are supported.
progress.Report(100);
}
-
- private IEnumerable<Guid> GetSoundtrackIds(IHasSoundtracks item, IEnumerable<MusicAlbum> albums)
- {
- var itemName = GetComparableName(item.Name);
-
- return albums.Where(i => string.Equals(itemName, GetComparableName(i.Name), StringComparison.OrdinalIgnoreCase)).Select(i => i.Id);
- }
-
- private static string GetComparableName(string name)
- {
- name = " " + name + " ";
-
- name = name.Replace(".", " ")
- .Replace("_", " ")
- .Replace("&", " ")
- .Replace("!", " ")
- .Replace("(", " ")
- .Replace(")", " ")
- .Replace(",", " ")
- .Replace("-", " ")
- .Replace(" a ", String.Empty, StringComparison.OrdinalIgnoreCase)
- .Replace(" the ", String.Empty, StringComparison.OrdinalIgnoreCase)
- .Replace(" ", String.Empty);
-
- return name.Trim();
- }
-
- /// <summary>
- /// Removes the diacritics.
- /// </summary>
- /// <param name="text">The text.</param>
- /// <returns>System.String.</returns>
- private static string RemoveDiacritics(string text)
- {
- return String.Concat(
- text.Normalize(NormalizationForm.FormD)
- .Where(ch => CharUnicodeInfo.GetUnicodeCategory(ch) !=
- UnicodeCategory.NonSpacingMark)
- ).Normalize(NormalizationForm.FormC);
- }
-
- private IEnumerable<Guid> GetAlbumLinks(Guid albumId, IEnumerable<IHasSoundtracks> items)
- {
- return items.Where(i => i.SoundtrackIds.Contains(albumId)).Select(i => i.Id);
- }
}
}
diff --git a/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs b/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs
index c9d73fe0c..76d93d946 100644
--- a/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs
+++ b/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs
@@ -59,18 +59,17 @@ namespace MediaBrowser.Providers.Omdb
var imdbId = info.GetProviderId(MetadataProviders.Imdb);
+ var searchResult = await GetSeriesImdbId(info, cancellationToken).ConfigureAwait(false);
+ result.Item.Name = searchResult.Item3;
+
if (string.IsNullOrEmpty(imdbId))
{
- var searchResult = await GetSeriesImdbId(info, cancellationToken).ConfigureAwait(false);
-
imdbId = searchResult.Item1;
if (!string.IsNullOrEmpty(searchResult.Item2))
{
result.Item.SetProviderId(MetadataProviders.Tvdb, searchResult.Item2);
}
-
- result.Item.Name = searchResult.Item3;
}
if (!string.IsNullOrEmpty(imdbId))
@@ -112,18 +111,17 @@ namespace MediaBrowser.Providers.Omdb
var imdbId = info.GetProviderId(MetadataProviders.Imdb);
+ var searchResult = await GetMovieImdbId(info, cancellationToken).ConfigureAwait(false);
+ result.Item.Name = searchResult.Item3;
+
if (string.IsNullOrEmpty(imdbId))
{
- var searchResult = await GetMovieImdbId(info, cancellationToken).ConfigureAwait(false);
-
imdbId = searchResult.Item1;
if (!string.IsNullOrEmpty(searchResult.Item2))
{
result.Item.SetProviderId(MetadataProviders.Tmdb, searchResult.Item2);
}
-
- result.Item.Name = searchResult.Item3;
}
if (!string.IsNullOrEmpty(imdbId))
diff --git a/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs b/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs
index 1f61d1a4f..3e17a67a1 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs
@@ -46,7 +46,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
new SystemEventTrigger{ SystemEvent = SystemEvent.WakeFromSleep},
- new IntervalTrigger{ Interval = TimeSpan.FromHours(2)}
+ new IntervalTrigger{ Interval = TimeSpan.FromHours(3)}
};
}
diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs
index d36046863..e5d62a256 100644
--- a/MediaBrowser.WebDashboard/Api/DashboardService.cs
+++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs
@@ -439,8 +439,8 @@ namespace MediaBrowser.WebDashboard.Api
var files = new[]
{
"scripts/all.js" + versionString,
- "thirdparty/jstree1.0/jquery.jstree.min.js",
- "https://www.gstatic.com/cv/js/sender/v1/cast_sender.js"
+ "thirdparty/jstree1.0/jquery.jstree.min.js"
+ //"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js"
};
var tags = files.Select(s => string.Format("<script src=\"{0}\"></script>", s)).ToArray();
@@ -465,7 +465,7 @@ namespace MediaBrowser.WebDashboard.Api
"librarybrowser.js",
"editorsidebar.js",
"librarymenu.js",
- "chromecast.js",
+ //"chromecast.js",
"ratingdialog.js",
"aboutpage.js",