From 8b6fc3f6a2b78386c251db9ae7b71a80d5e338d8 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 20 Apr 2016 12:18:33 -0400 Subject: [PATCH 01/21] 3.0.5931 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 6785f5f0d7..113d738994 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,4 +1,4 @@ using System.Reflection; //[assembly: AssemblyVersion("3.0.*")] -[assembly: AssemblyVersion("3.0.5930")] +[assembly: AssemblyVersion("3.0.5931")] From d459b97a217380443d305630b575b078145c4d9b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 22 Apr 2016 12:27:17 -0400 Subject: [PATCH 02/21] auto-organize fixes --- .../FileOrganization/EpisodeFileOrganizer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs index e45df3f4a2..270f01b2b4 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs @@ -304,7 +304,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization if (otherDuplicatePaths.Count > 0) { - var msg = string.Format("File '{0}' already exists as '{1}', stopping organization", sourcePath, otherDuplicatePaths); + var msg = string.Format("File '{0}' already exists as these:'{1}'. Stopping organization", sourcePath, string.Join("', '", otherDuplicatePaths)); _logger.Info(msg); result.Status = FileSortingStatus.SkippedExisting; result.StatusMessage = msg; From fb3863de7e0c8868c9175d6a23b96c5382d83abf Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 24 Apr 2016 20:36:10 -0400 Subject: [PATCH 03/21] more identify fixes --- .../Manager/ProviderManager.cs | 41 +++++++++---------- .../Omdb/OmdbItemProvider.cs | 11 ++--- .../ApplicationHost.cs | 2 +- 3 files changed, 23 insertions(+), 31 deletions(-) diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index 3199ed12b9..c95d58a421 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -20,6 +20,7 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; using CommonIO; +using MediaBrowser.Model.Serialization; namespace MediaBrowser.Providers.Manager { @@ -60,6 +61,7 @@ namespace MediaBrowser.Providers.Manager private IEnumerable _savers; private IImageSaver[] _imageSavers; private readonly IServerApplicationPaths _appPaths; + private readonly IJsonSerializer _json; private IExternalId[] _externalIds; @@ -73,7 +75,7 @@ namespace MediaBrowser.Providers.Manager /// The directory watchers. /// The log manager. /// The file system. - public ProviderManager(IHttpClient httpClient, IServerConfigurationManager configurationManager, ILibraryMonitor libraryMonitor, ILogManager logManager, IFileSystem fileSystem, IServerApplicationPaths appPaths, Func libraryManagerFactory) + public ProviderManager(IHttpClient httpClient, IServerConfigurationManager configurationManager, ILibraryMonitor libraryMonitor, ILogManager logManager, IFileSystem fileSystem, IServerApplicationPaths appPaths, Func libraryManagerFactory, IJsonSerializer json) { _logger = logManager.GetLogger("ProviderManager"); _httpClient = httpClient; @@ -82,6 +84,7 @@ namespace MediaBrowser.Providers.Manager _fileSystem = fileSystem; _appPaths = appPaths; _libraryManagerFactory = libraryManagerFactory; + _json = json; } /// @@ -730,8 +733,6 @@ namespace MediaBrowser.Providers.Manager where TItemType : BaseItem, new() where TLookupType : ItemLookupInfo { - const int maxResults = 10; - // Give it a dummy path just so that it looks like a file system item var dummy = new TItemType { @@ -761,7 +762,6 @@ namespace MediaBrowser.Providers.Manager } var resultList = new List(); - var foundProviderIds = new Dictionary, RemoteSearchResult>(); foreach (var provider in providers) { @@ -771,31 +771,26 @@ namespace MediaBrowser.Providers.Manager foreach (var result in results) { - var bFound = false; + var existingMatch = resultList.FirstOrDefault(i => i.ProviderIds.Any(p => string.Equals(result.GetProviderId(p.Key), p.Value, StringComparison.OrdinalIgnoreCase))); - // This check prevents duplicate search results by comparing provider ids - foreach (var providerId in result.ProviderIds) + if (existingMatch == null) { - var idTuple = new Tuple(providerId.Key.ToLower(), providerId.Value.ToLower()); - - if (!foundProviderIds.ContainsKey(idTuple)) - { - foundProviderIds.Add(idTuple, result); - } - else + resultList.Add(result); + } + else + { + foreach (var providerId in result.ProviderIds) { - bFound = true; - var existingResult = foundProviderIds[idTuple]; - if (string.IsNullOrEmpty(existingResult.ImageUrl) && !string.IsNullOrEmpty(result.ImageUrl)) + if (!existingMatch.ProviderIds.ContainsKey(providerId.Key)) { - existingResult.ImageUrl = result.ImageUrl; + existingMatch.ProviderIds.Add(providerId.Key, providerId.Value); } } - } - if (!bFound && resultList.Count < maxResults) - { - resultList.Add(result); + if (string.IsNullOrWhiteSpace(existingMatch.ImageUrl)) + { + existingMatch.ImageUrl = result.ImageUrl; + } } } } @@ -805,6 +800,8 @@ namespace MediaBrowser.Providers.Manager } } + //_logger.Debug("Returning search results {0}", _json.SerializeToString(resultList)); + return resultList; } diff --git a/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs b/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs index 1b8ecd5211..8acaf30d5b 100644 --- a/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs +++ b/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs @@ -64,8 +64,6 @@ namespace MediaBrowser.Providers.Omdb { var episodeSearchInfo = searchInfo as EpisodeInfo; - var list = new List(); - var imdbId = searchInfo.GetProviderId(MetadataProviders.Imdb); var url = "http://www.omdbapi.com/?plot=full&r=json"; @@ -148,14 +146,13 @@ namespace MediaBrowser.Providers.Omdb } } - foreach (var result in resultList) + return resultList.Select(result => { var item = new RemoteSearchResult { IndexNumber = searchInfo.IndexNumber, Name = result.Title, ParentIndexNumber = searchInfo.ParentIndexNumber, - ProviderIds = searchInfo.ProviderIds, SearchProviderName = Name }; @@ -185,11 +182,9 @@ namespace MediaBrowser.Providers.Omdb item.ImageUrl = result.Poster; } - list.Add(item); - } + return item; + }); } - - return list; } public Task> GetMetadata(TrailerInfo info, CancellationToken cancellationToken) diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs index 93dbe2945c..b371ac7515 100644 --- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs +++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs @@ -440,7 +440,7 @@ namespace MediaBrowser.Server.Startup.Common LibraryMonitor = new LibraryMonitor(LogManager, TaskManager, LibraryManager, ServerConfigurationManager, FileSystemManager, this); RegisterSingleInstance(LibraryMonitor); - ProviderManager = new ProviderManager(HttpClient, ServerConfigurationManager, LibraryMonitor, LogManager, FileSystemManager, ApplicationPaths, () => LibraryManager); + ProviderManager = new ProviderManager(HttpClient, ServerConfigurationManager, LibraryMonitor, LogManager, FileSystemManager, ApplicationPaths, () => LibraryManager, JsonSerializer); RegisterSingleInstance(ProviderManager); SeriesOrderManager = new SeriesOrderManager(); From 4d16f9704779c96f4dba46229e22554913f8107e Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 23 Apr 2016 23:03:49 -0400 Subject: [PATCH 04/21] update browser launcher --- .../IServerApplicationHost.cs | 4 +- .../Native/BaseMonoApp.cs | 5 ++ .../ApplicationHost.cs | 5 ++ .../Browser/BrowserLauncher.cs | 59 +++++-------------- .../EntryPoints/StartupWizard.cs | 2 +- .../INativeApp.cs | 2 + MediaBrowser.ServerApplication/MainStartup.cs | 2 +- .../Native/WindowsApp.cs | 41 ++++++++++++- .../ServerNotifyIcon.cs | 8 +-- 9 files changed, 76 insertions(+), 52 deletions(-) diff --git a/MediaBrowser.Controller/IServerApplicationHost.cs b/MediaBrowser.Controller/IServerApplicationHost.cs index e4eecec18f..65eed1a235 100644 --- a/MediaBrowser.Controller/IServerApplicationHost.cs +++ b/MediaBrowser.Controller/IServerApplicationHost.cs @@ -12,7 +12,7 @@ namespace MediaBrowser.Controller public interface IServerApplicationHost : IApplicationHost { event EventHandler HasUpdateAvailableChanged; - + /// /// Gets the system info. /// @@ -86,5 +86,7 @@ namespace MediaBrowser.Controller /// The ip address. /// System.String. string GetLocalApiUrl(IPAddress ipAddress); + + void LaunchUrl(string url); } } diff --git a/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs b/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs index 6d19c32759..0eab94a3b0 100644 --- a/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs +++ b/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs @@ -217,6 +217,11 @@ namespace MediaBrowser.Server.Mono.Native return GetInfo(Environment); } + public void LaunchUrl(string url) + { + throw new NotImplementedException(); + } + public static FFMpegInstallInfo GetInfo(NativeEnvironment environment) { var info = new FFMpegInstallInfo(); diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs index b371ac7515..01575e71f6 100644 --- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs +++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs @@ -1404,5 +1404,10 @@ namespace MediaBrowser.Server.Startup.Common return externalDns; } } + + public void LaunchUrl(string url) + { + NativeApp.LaunchUrl(url); + } } } diff --git a/MediaBrowser.Server.Startup.Common/Browser/BrowserLauncher.cs b/MediaBrowser.Server.Startup.Common/Browser/BrowserLauncher.cs index a4504f25a6..db48d1110e 100644 --- a/MediaBrowser.Server.Startup.Common/Browser/BrowserLauncher.cs +++ b/MediaBrowser.Server.Startup.Common/Browser/BrowserLauncher.cs @@ -15,87 +15,58 @@ namespace MediaBrowser.Server.Startup.Common.Browser /// /// The page. /// The app host. - /// The logger. - public static void OpenDashboardPage(string page, IServerApplicationHost appHost, ILogger logger) + public static void OpenDashboardPage(string page, IServerApplicationHost appHost) { var url = appHost.GetLocalApiUrl("localhost") + "/web/" + page; - OpenUrl(url, logger); + OpenUrl(appHost, url); } /// /// Opens the community. /// - /// The logger. - public static void OpenCommunity(ILogger logger) + public static void OpenCommunity(IServerApplicationHost appHost) { - OpenUrl("http://emby.media/community", logger); + OpenUrl(appHost, "http://emby.media/community"); } /// /// Opens the web client. /// /// The app host. - /// The logger. - public static void OpenWebClient(IServerApplicationHost appHost, ILogger logger) + public static void OpenWebClient(IServerApplicationHost appHost) { - OpenDashboardPage("index.html", appHost, logger); + OpenDashboardPage("index.html", appHost); } /// /// Opens the dashboard. /// /// The app host. - /// The logger. - public static void OpenDashboard(IServerApplicationHost appHost, ILogger logger) + public static void OpenDashboard(IServerApplicationHost appHost) { - OpenDashboardPage("dashboard.html", appHost, logger); + OpenDashboardPage("dashboard.html", appHost); } /// /// Opens the URL. /// /// The URL. - /// The logger. - private static void OpenUrl(string url, ILogger logger) + private static void OpenUrl(IServerApplicationHost appHost, string url) { - var process = new Process - { - StartInfo = new ProcessStartInfo - { - FileName = url - }, - - EnableRaisingEvents = true, - }; - - process.Exited += ProcessExited; - try { - process.Start(); + appHost.LaunchUrl(url); + } + catch (NotImplementedException) + { + } catch (Exception ex) { - logger.ErrorException("Error launching url: {0}", ex, url); - - Console.WriteLine("Error launching url: {0}", ex.Message); + Console.WriteLine("Error launching url: " + url); Console.WriteLine(ex.Message); - -//#if !__MonoCS__ -// System.Windows.Forms.MessageBox.Show("There was an error launching your web browser. Please check your default browser settings."); -//#endif } } - - /// - /// Processes the exited. - /// - /// The sender. - /// The instance containing the event data. - private static void ProcessExited(object sender, EventArgs e) - { - ((Process)sender).Dispose(); - } } } diff --git a/MediaBrowser.Server.Startup.Common/EntryPoints/StartupWizard.cs b/MediaBrowser.Server.Startup.Common/EntryPoints/StartupWizard.cs index 854fa44c1e..f9d173c595 100644 --- a/MediaBrowser.Server.Startup.Common/EntryPoints/StartupWizard.cs +++ b/MediaBrowser.Server.Startup.Common/EntryPoints/StartupWizard.cs @@ -46,7 +46,7 @@ namespace MediaBrowser.Server.Startup.Common.EntryPoints /// private void LaunchStartupWizard() { - BrowserLauncher.OpenDashboardPage("wizardstart.html", _appHost, _logger); + BrowserLauncher.OpenDashboardPage("wizardstart.html", _appHost); } /// diff --git a/MediaBrowser.Server.Startup.Common/INativeApp.cs b/MediaBrowser.Server.Startup.Common/INativeApp.cs index 121d4192ed..c603a908ee 100644 --- a/MediaBrowser.Server.Startup.Common/INativeApp.cs +++ b/MediaBrowser.Server.Startup.Common/INativeApp.cs @@ -100,5 +100,7 @@ namespace MediaBrowser.Server.Startup.Common IPowerManagement GetPowerManagement(); FFMpegInstallInfo GetFfmpegInstallInfo(); + + void LaunchUrl(string url); } } diff --git a/MediaBrowser.ServerApplication/MainStartup.cs b/MediaBrowser.ServerApplication/MainStartup.cs index ac1b7ca996..cbf7d298c9 100644 --- a/MediaBrowser.ServerApplication/MainStartup.cs +++ b/MediaBrowser.ServerApplication/MainStartup.cs @@ -317,7 +317,7 @@ namespace MediaBrowser.ServerApplication { if (e.Reason == SessionSwitchReason.SessionLogon) { - BrowserLauncher.OpenDashboard(_appHost, _logger); + BrowserLauncher.OpenDashboard(_appHost); } } diff --git a/MediaBrowser.ServerApplication/Native/WindowsApp.cs b/MediaBrowser.ServerApplication/Native/WindowsApp.cs index 146a4372b9..34f4315deb 100644 --- a/MediaBrowser.ServerApplication/Native/WindowsApp.cs +++ b/MediaBrowser.ServerApplication/Native/WindowsApp.cs @@ -1,13 +1,16 @@ -using MediaBrowser.Common.Net; +using System; +using MediaBrowser.Common.Net; using MediaBrowser.Model.Logging; using MediaBrowser.Server.Startup.Common; using MediaBrowser.ServerApplication.Networking; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Reflection; using CommonIO; using MediaBrowser.Controller.Power; using MediaBrowser.Server.Startup.Common.FFMpeg; +using OperatingSystem = MediaBrowser.Server.Startup.Common.OperatingSystem; namespace MediaBrowser.ServerApplication.Native { @@ -156,6 +159,42 @@ namespace MediaBrowser.ServerApplication.Native return info; } + public void LaunchUrl(string url) + { + var process = new Process + { + StartInfo = new ProcessStartInfo + { + FileName = url + }, + + EnableRaisingEvents = true, + }; + + process.Exited += ProcessExited; + + try + { + process.Start(); + } + catch (Exception ex) + { + _logger.ErrorException("Error launching url: {0}", ex, url); + + throw; + } + } + + /// + /// Processes the exited. + /// + /// The sender. + /// The instance containing the event data. + private static void ProcessExited(object sender, EventArgs e) + { + ((Process)sender).Dispose(); + } + private string[] GetDownloadUrls() { switch (Environment.SystemArchitecture) diff --git a/MediaBrowser.ServerApplication/ServerNotifyIcon.cs b/MediaBrowser.ServerApplication/ServerNotifyIcon.cs index 673c6cdddf..fbb93b6602 100644 --- a/MediaBrowser.ServerApplication/ServerNotifyIcon.cs +++ b/MediaBrowser.ServerApplication/ServerNotifyIcon.cs @@ -163,7 +163,7 @@ namespace MediaBrowser.ServerApplication void notifyIcon1_DoubleClick(object sender, EventArgs e) { - BrowserLauncher.OpenDashboard(_appHost, _logger); + BrowserLauncher.OpenDashboard(_appHost); } private void LocalizeText() @@ -194,17 +194,17 @@ namespace MediaBrowser.ServerApplication void cmdBrowse_Click(object sender, EventArgs e) { - BrowserLauncher.OpenWebClient(_appHost, _logger); + BrowserLauncher.OpenWebClient(_appHost); } void cmdCommunity_Click(object sender, EventArgs e) { - BrowserLauncher.OpenCommunity(_logger); + BrowserLauncher.OpenCommunity(_appHost); } void cmdConfigure_Click(object sender, EventArgs e) { - BrowserLauncher.OpenDashboard(_appHost, _logger); + BrowserLauncher.OpenDashboard(_appHost); } void cmdRestart_Click(object sender, EventArgs e) From 21b90bf6e1d6d18f619269f39b6f670f01bbd5a3 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 25 Apr 2016 13:35:49 -0400 Subject: [PATCH 05/21] remove special characters from sort names --- MediaBrowser.Controller/Entities/BaseItem.cs | 2 +- .../Persistence/SqliteItemRepository.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 04371c13b6..475e2ace83 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -603,7 +603,7 @@ namespace MediaBrowser.Controller.Entities builder.Append(chunkBuilder); } //Logger.Debug("ModifySortChunks Start: {0} End: {1}", name, builder.ToString()); - return builder.ToString(); + return builder.ToString().RemoveDiacritics(); } [IgnoreDataMember] diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs index fb655c9cbe..fb91a2dd24 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs @@ -80,7 +80,7 @@ namespace MediaBrowser.Server.Implementations.Persistence private IDbCommand _updateInheritedRatingCommand; private IDbCommand _updateInheritedTagsCommand; - private const int LatestSchemaVersion = 63; + private const int LatestSchemaVersion = 64; /// /// Initializes a new instance of the class. From 8dc68a609efc7f9a07e74a855724b04b7cab80e8 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 27 Apr 2016 00:04:27 -0400 Subject: [PATCH 06/21] 3.0.5932 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 113d738994..1524341621 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,4 +1,4 @@ using System.Reflection; //[assembly: AssemblyVersion("3.0.*")] -[assembly: AssemblyVersion("3.0.5931")] +[assembly: AssemblyVersion("3.0.5932")] From 6d735b3216e54b5879a80a1d598011e44b51d742 Mon Sep 17 00:00:00 2001 From: anderbytes Date: Tue, 26 Apr 2016 23:51:05 -0300 Subject: [PATCH 07/21] Collection meta-fetch fallback condition update With this change I propose that english metadata from collection (fallback situation) occurs when a collection NAME is missing, instead of OVERVIEW (description). This means a translated collection that has the vital information such as name will be sufficient to be used... not forcing Emby to download english data (with the non-translated title and overview) just because the translated version has an empty overview. I took a while to understand why some of my collections weren't downloading their translated versions from provider. I traced the problem to this... the ones who had overview were pulled in, the ones who hadn't Emby used the fallback (easily seen in the logs). --- MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs b/MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs index 53a573bd1e..2cac9b0638 100644 --- a/MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs +++ b/MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs @@ -190,7 +190,7 @@ namespace MediaBrowser.Providers.BoxSets cancellationToken.ThrowIfCancellationRequested(); - if (mainResult != null && string.IsNullOrEmpty(mainResult.overview)) + if (mainResult != null && string.IsNullOrEmpty(mainResult.name)) { if (!string.IsNullOrEmpty(language) && !string.Equals(language, "en", StringComparison.OrdinalIgnoreCase)) { From 4d55176aaa12d827fd26bcc327e484c0764d8435 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 27 Apr 2016 13:43:09 -0400 Subject: [PATCH 08/21] update SearchEngine --- .../Library/SearchEngine.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Server.Implementations/Library/SearchEngine.cs b/MediaBrowser.Server.Implementations/Library/SearchEngine.cs index 61a5d98a32..e271fbcb25 100644 --- a/MediaBrowser.Server.Implementations/Library/SearchEngine.cs +++ b/MediaBrowser.Server.Implementations/Library/SearchEngine.cs @@ -87,13 +87,16 @@ namespace MediaBrowser.Server.Implementations.Library { var searchTerm = query.SearchTerm; + if (searchTerm != null) + { + searchTerm = searchTerm.Trim().RemoveDiacritics(); + } + if (string.IsNullOrWhiteSpace(searchTerm)) { throw new ArgumentNullException("searchTerm"); } - searchTerm = searchTerm.Trim().RemoveDiacritics(); - var terms = GetWords(searchTerm); var hints = new List>(); From 9e8dabbb036c310d98351ede8063a18d5cb4529f Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 27 Apr 2016 13:50:32 -0400 Subject: [PATCH 09/21] fix rating filters --- MediaBrowser.Api/Reports/ReportsService.cs | 6 +++--- MediaBrowser.Api/UserLibrary/ItemsService.cs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MediaBrowser.Api/Reports/ReportsService.cs b/MediaBrowser.Api/Reports/ReportsService.cs index c3af09cd56..cb16158268 100644 --- a/MediaBrowser.Api/Reports/ReportsService.cs +++ b/MediaBrowser.Api/Reports/ReportsService.cs @@ -326,15 +326,15 @@ namespace MediaBrowser.Api.Reports } // Min official rating - if (!string.IsNullOrEmpty(request.MinOfficialRating)) + if (!string.IsNullOrWhiteSpace(request.MinOfficialRating)) { query.MinParentalRating = _localization.GetRatingLevel(request.MinOfficialRating); } // Max official rating - if (!string.IsNullOrEmpty(request.MaxOfficialRating)) + if (!string.IsNullOrWhiteSpace(request.MaxOfficialRating)) { - query.MaxParentalRating = _localization.GetRatingLevel(request.MinOfficialRating); + query.MaxParentalRating = _localization.GetRatingLevel(request.MaxOfficialRating); } // Artists diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index cfdc40bb2d..7d2029cabe 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -308,15 +308,15 @@ namespace MediaBrowser.Api.UserLibrary } // Min official rating - if (!string.IsNullOrEmpty(request.MinOfficialRating)) + if (!string.IsNullOrWhiteSpace(request.MinOfficialRating)) { query.MinParentalRating = _localization.GetRatingLevel(request.MinOfficialRating); } // Max official rating - if (!string.IsNullOrEmpty(request.MaxOfficialRating)) + if (!string.IsNullOrWhiteSpace(request.MaxOfficialRating)) { - query.MaxParentalRating = _localization.GetRatingLevel(request.MinOfficialRating); + query.MaxParentalRating = _localization.GetRatingLevel(request.MaxOfficialRating); } // Artists From 5a894946dd2baeba3e361614e5ac7d82fe962441 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 27 Apr 2016 13:52:43 -0400 Subject: [PATCH 10/21] update IsFolder sorting --- .../Persistence/SqliteItemRepository.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs index fb91a2dd24..fcc39deb50 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs @@ -1574,6 +1574,10 @@ namespace MediaBrowser.Server.Implementations.Persistence { return "RuntimeTicks"; } + if (string.Equals(name, ItemSortBy.IsFolder, StringComparison.OrdinalIgnoreCase)) + { + return "IsFolder"; + } if (string.Equals(name, ItemSortBy.Random, StringComparison.OrdinalIgnoreCase)) { return "RANDOM()"; From 0c065c12da7dc7483619ad103b30715516936688 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 27 Apr 2016 15:41:12 -0400 Subject: [PATCH 11/21] fixes for episodes directly in series folder --- MediaBrowser.Providers/TV/DummySeasonProvider.cs | 4 ++-- MediaBrowser.Providers/TV/MissingEpisodeProvider.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/MediaBrowser.Providers/TV/DummySeasonProvider.cs b/MediaBrowser.Providers/TV/DummySeasonProvider.cs index 5cf9966e8f..2c6e27294d 100644 --- a/MediaBrowser.Providers/TV/DummySeasonProvider.cs +++ b/MediaBrowser.Providers/TV/DummySeasonProvider.cs @@ -40,7 +40,7 @@ namespace MediaBrowser.Providers.TV if (hasNewSeasons) { - var directoryService = new DirectoryService(_fileSystem); + //var directoryService = new DirectoryService(_fileSystem); //await series.RefreshMetadata(new MetadataRefreshOptions(directoryService), cancellationToken).ConfigureAwait(false); @@ -163,7 +163,7 @@ namespace MediaBrowser.Providers.TV // Season does not have a number // Remove if there are no episodes directly in series without a season number - return episodes.All(s => s.ParentIndexNumber.HasValue || !s.IsInSeasonFolder); + return episodes.All(s => s.ParentIndexNumber.HasValue || s.IsInSeasonFolder); }) .ToList(); diff --git a/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs b/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs index ad55c186a5..efdf8ce5d0 100644 --- a/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs +++ b/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs @@ -372,7 +372,7 @@ namespace MediaBrowser.Providers.TV // Season does not have a number // Remove if there are no episodes directly in series without a season number - return i.Season.Series.GetRecursiveChildren().OfType().All(s => s.ParentIndexNumber.HasValue || !s.IsInSeasonFolder); + return i.Season.Series.GetRecursiveChildren().OfType().All(s => s.ParentIndexNumber.HasValue || s.IsInSeasonFolder); }) .ToList(); From fc534f50d9802092247d0deef0c7b43e70c79a4a Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 28 Apr 2016 15:17:23 -0400 Subject: [PATCH 12/21] 3.0.5933 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index 1524341621..ea90eda214 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,4 +1,4 @@ using System.Reflection; //[assembly: AssemblyVersion("3.0.*")] -[assembly: AssemblyVersion("3.0.5932")] +[assembly: AssemblyVersion("3.0.5933")] From 0708c23ed7400f82a7d15f8719b8bfbe5e7b8025 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 29 Apr 2016 23:59:46 -0400 Subject: [PATCH 13/21] cinema mode fixes --- .../Entities/InternalItemsQuery.cs | 2 -- .../Intros/DefaultIntroProvider.cs | 7 +------ .../Library/LocalTrailerPostScanTask.cs | 11 +++++++---- .../Persistence/SqliteItemRepository.cs | 14 -------------- 4 files changed, 8 insertions(+), 26 deletions(-) diff --git a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs index fbf246b3ab..f3b4f40534 100644 --- a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs +++ b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs @@ -123,7 +123,6 @@ namespace MediaBrowser.Controller.Entities public SourceType[] SourceTypes { get; set; } public SourceType[] ExcludeSourceTypes { get; set; } public TrailerType[] TrailerTypes { get; set; } - public TrailerType[] ExcludeTrailerTypes { get; set; } public DayOfWeek[] AirDays { get; set; } public SeriesStatus[] SeriesStatuses { get; set; } @@ -165,7 +164,6 @@ namespace MediaBrowser.Controller.Entities SourceTypes = new SourceType[] { }; ExcludeSourceTypes = new SourceType[] { }; TrailerTypes = new TrailerType[] { }; - ExcludeTrailerTypes = new TrailerType[] { }; AirDays = new DayOfWeek[] { }; SeriesStatuses = new SeriesStatus[] { }; } diff --git a/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs b/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs index 9ebae5d913..49012c65af 100644 --- a/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs +++ b/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs @@ -102,15 +102,10 @@ namespace MediaBrowser.Server.Implementations.Intros if (trailerTypes.Count > 0) { - var excludeTrailerTypes = Enum.GetNames(typeof(TrailerType)) - .Select(i => (TrailerType)Enum.Parse(typeof(TrailerType), i, true)) - .Except(trailerTypes) - .ToArray(); - var trailerResult = _libraryManager.GetItemList(new InternalItemsQuery { IncludeItemTypes = new[] { typeof(Trailer).Name }, - ExcludeTrailerTypes = excludeTrailerTypes + TrailerTypes = trailerTypes.ToArray() }); candidates.AddRange(trailerResult.Select(i => new ItemWithTrailer diff --git a/MediaBrowser.Server.Implementations/Library/LocalTrailerPostScanTask.cs b/MediaBrowser.Server.Implementations/Library/LocalTrailerPostScanTask.cs index 96d570ef9e..5fc9c31689 100644 --- a/MediaBrowser.Server.Implementations/Library/LocalTrailerPostScanTask.cs +++ b/MediaBrowser.Server.Implementations/Library/LocalTrailerPostScanTask.cs @@ -27,13 +27,16 @@ namespace MediaBrowser.Server.Implementations.Library .Cast() .ToList(); + var trailerTypes = Enum.GetNames(typeof(TrailerType)) + .Select(i => (TrailerType)Enum.Parse(typeof(TrailerType), i, true)) + .Except(new[] { TrailerType.LocalTrailer }) + .ToArray(); + var trailers = _libraryManager.GetItemList(new InternalItemsQuery { IncludeItemTypes = new[] { typeof(Trailer).Name }, - ExcludeTrailerTypes = new[] - { - TrailerType.LocalTrailer - } + TrailerTypes = trailerTypes + }).ToArray(); var numComplete = 0; diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs index fcc39deb50..25582852f8 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs @@ -1960,20 +1960,6 @@ namespace MediaBrowser.Server.Implementations.Persistence whereClauses.Add(clause); } - if (query.ExcludeTrailerTypes.Length > 0) - { - var clauses = new List(); - var index = 0; - foreach (var type in query.ExcludeTrailerTypes) - { - clauses.Add("(TrailerTypes is null OR TrailerTypes not like @TrailerTypes" + index + ")"); - cmd.Parameters.Add(cmd, "@TrailerTypes" + index, DbType.String).Value = "%" + type + "%"; - index++; - } - var clause = "(" + string.Join(" AND ", clauses.ToArray()) + ")"; - whereClauses.Add(clause); - } - if (query.IsAiring.HasValue) { if (query.IsAiring.Value) From 06b3016f56e565d0ba85102104b8b7433774234b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 30 Apr 2016 00:21:35 -0400 Subject: [PATCH 14/21] add LaunchUrl --- MediaBrowser.Server.Mac/Native/BaseMonoApp.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs b/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs index 33df83b2fc..c8c81e9179 100644 --- a/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs +++ b/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs @@ -106,6 +106,11 @@ namespace MediaBrowser.Server.Mac { } + public void LaunchUrl(string url) + { + throw new NotImplementedException(); + } + public INetworkManager CreateNetworkManager(ILogger logger) { return new NetworkManager(logger); From 535b327e35ac347bd5d05a61c1df76c9ac7ffcd9 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 30 Apr 2016 00:24:45 -0400 Subject: [PATCH 15/21] add ffmpeg info --- MediaBrowser.Server.Mac/Native/BaseMonoApp.cs | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs b/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs index c8c81e9179..9c2d20d99d 100644 --- a/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs +++ b/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs @@ -111,6 +111,52 @@ namespace MediaBrowser.Server.Mac throw new NotImplementedException(); } + public FFMpegInstallInfo GetFfmpegInstallInfo() + { + return GetInfo(Environment); + } + + public static FFMpegDownloadInfo GetInfo(NativeEnvironment environment) + { + var info = new FFMpegDownloadInfo(); + + info.ArchiveType = "7z"; + + switch (environment.SystemArchitecture) + { + case Architecture.X86_X64: + info.Version = "20160124"; + break; + case Architecture.X86: + info.Version = "20150110"; + break; + } + + info.DownloadUrls = GetDownloadUrls(environment); + + return info; + } + + private static string[] GetDownloadUrls(NativeEnvironment environment) + { + switch (environment.SystemArchitecture) + { + case Architecture.X86_X64: + return new[] + { + "https://github.com/MediaBrowser/Emby.Resources/raw/master/ffmpeg/osx/ffmpeg-x64-2.8.5.7z" + }; + case Architecture.X86: + return new[] + { + "https://github.com/MediaBrowser/Emby.Resources/raw/master/ffmpeg/osx/ffmpeg-x86-2.5.3.7z" + }; + } + + // No version available + return new string[] { }; + } + public INetworkManager CreateNetworkManager(ILogger logger) { return new NetworkManager(logger); From 657e924132be65d1d1700d857d9e12bbe3196dcb Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 30 Apr 2016 00:27:55 -0400 Subject: [PATCH 16/21] update ffmpeg info --- MediaBrowser.Server.Mac/Native/BaseMonoApp.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs b/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs index 9c2d20d99d..abc3736009 100644 --- a/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs +++ b/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs @@ -7,6 +7,7 @@ using System.Collections.Generic; using System.Reflection; using System.Text.RegularExpressions; using MediaBrowser.Controller.Power; +using MediaBrowser.Server.Startup.Common.FFMpeg; namespace MediaBrowser.Server.Mac { @@ -116,9 +117,9 @@ namespace MediaBrowser.Server.Mac return GetInfo(Environment); } - public static FFMpegDownloadInfo GetInfo(NativeEnvironment environment) + public static FFMpegInstallInfo GetInfo(NativeEnvironment environment) { - var info = new FFMpegDownloadInfo(); + var info = new FFMpegInstallInfo(); info.ArchiveType = "7z"; From bfb1d8119162d34cffce49cde16141234cffe177 Mon Sep 17 00:00:00 2001 From: Luke Date: Sat, 30 Apr 2016 00:31:23 -0400 Subject: [PATCH 17/21] update mac project --- MediaBrowser.Server.Mac/MenuBarIcon.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MediaBrowser.Server.Mac/MenuBarIcon.cs b/MediaBrowser.Server.Mac/MenuBarIcon.cs index 51ba7f432e..865f45057a 100644 --- a/MediaBrowser.Server.Mac/MenuBarIcon.cs +++ b/MediaBrowser.Server.Mac/MenuBarIcon.cs @@ -88,17 +88,17 @@ namespace MediaBrowser.Server.Mac private void Community(NSObject sender) { - BrowserLauncher.OpenCommunity(Logger); + BrowserLauncher.OpenCommunity(MainClass.AppHost); } private void Configure(NSObject sender) { - BrowserLauncher.OpenDashboard(MainClass.AppHost, Logger); + BrowserLauncher.OpenDashboard(MainClass.AppHost); } private void Browse(NSObject sender) { - BrowserLauncher.OpenWebClient(MainClass.AppHost, Logger); + BrowserLauncher.OpenWebClient(MainClass.AppHost); } public void Terminate() From bbf6ee9c1dca4f3cf877cea5d0cef2638a46cee9 Mon Sep 17 00:00:00 2001 From: Luke Date: Sat, 30 Apr 2016 00:35:02 -0400 Subject: [PATCH 18/21] update mac project --- .../Emby.Server.Mac.csproj | 199 ++++++++++++++---- 1 file changed, 162 insertions(+), 37 deletions(-) diff --git a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj index 237325cfe7..b61281f1bd 100644 --- a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj +++ b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj @@ -32,6 +32,7 @@ true Developer ID Installer false + false true @@ -47,6 +48,7 @@ true Developer ID Installer false + false full @@ -63,6 +65,7 @@ false false false + false @@ -89,7 +92,6 @@ - @@ -260,9 +262,6 @@ Resources\dashboard-ui\addplugin.html - - Resources\dashboard-ui\advanced.html - Resources\dashboard-ui\appservices.html @@ -281,9 +280,6 @@ Resources\dashboard-ui\channels.html - - Resources\dashboard-ui\channelsettings.html - Resources\dashboard-ui\cinemamodeconfiguration.html @@ -317,9 +313,6 @@ Resources\dashboard-ui\dlnaprofiles.html - - Resources\dashboard-ui\dlnaserversettings.html - Resources\dashboard-ui\dlnasettings.html @@ -425,9 +418,6 @@ Resources\dashboard-ui\metadata.html - - Resources\dashboard-ui\metadataadvanced.html - Resources\dashboard-ui\metadataimages.html @@ -524,9 +514,6 @@ Resources\dashboard-ui\streamingsettings.html - - Resources\dashboard-ui\support.html - Resources\dashboard-ui\supporterkey.html @@ -929,6 +916,21 @@ Resources\dashboard-ui\bower_components\Swiper\src\less\swiper.less + + Resources\dashboard-ui\bower_components\alameda\.bower.json + + + Resources\dashboard-ui\bower_components\alameda\LICENSE + + + Resources\dashboard-ui\bower_components\alameda\alameda.js + + + Resources\dashboard-ui\bower_components\alameda\bower.json + + + Resources\dashboard-ui\bower_components\alameda\shrinktest.sh + Resources\dashboard-ui\bower_components\cryptojslib\.bower.json @@ -1334,6 +1336,12 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\scrollhelper.js + + Resources\dashboard-ui\bower_components\emby-webcomponents\scrollstyles.css + + + Resources\dashboard-ui\bower_components\emby-webcomponents\servernotifications.js + Resources\dashboard-ui\bower_components\emby-webcomponents\usersettings.js @@ -1571,6 +1579,9 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\images\persistentimagefetcher.js + + Resources\dashboard-ui\bower_components\emby-webcomponents\input\api.js + Resources\dashboard-ui\bower_components\emby-webcomponents\loading\loading-lite.js @@ -1970,6 +1981,9 @@ Resources\dashboard-ui\bower_components\iron-a11y-keys-behavior\iron-a11y-keys-behavior.html + + Resources\dashboard-ui\bower_components\iron-a11y-keys-behavior\.github\ISSUE_TEMPLATE.md + Resources\dashboard-ui\bower_components\iron-a11y-keys-behavior\demo\index.html @@ -2162,9 +2176,18 @@ Resources\dashboard-ui\bower_components\iron-demo-helpers\index.html + + Resources\dashboard-ui\bower_components\iron-demo-helpers\url-bar.html + + + Resources\dashboard-ui\bower_components\iron-demo-helpers\.github\ISSUE_TEMPLATE.md + Resources\dashboard-ui\bower_components\iron-demo-helpers\demo\index.html + + Resources\dashboard-ui\bower_components\iron-demo-helpers\demo\url-bar.html + Resources\dashboard-ui\bower_components\iron-demo-helpers\test\basic.html @@ -2513,6 +2536,9 @@ Resources\dashboard-ui\bower_components\iron-input\iron-input.html + + Resources\dashboard-ui\bower_components\iron-input\.github\ISSUE_TEMPLATE.md + Resources\dashboard-ui\bower_components\iron-input\demo\index.html @@ -2528,9 +2554,60 @@ Resources\dashboard-ui\bower_components\iron-input\test\letters-only.html + + Resources\dashboard-ui\bower_components\iron-location\.bower.json + + + Resources\dashboard-ui\bower_components\iron-location\.gitignore + + + Resources\dashboard-ui\bower_components\iron-location\.travis.yml + + + Resources\dashboard-ui\bower_components\iron-location\CONTRIBUTING.md + + + Resources\dashboard-ui\bower_components\iron-location\README.md + + + Resources\dashboard-ui\bower_components\iron-location\bower.json + + + Resources\dashboard-ui\bower_components\iron-location\index.html + + + Resources\dashboard-ui\bower_components\iron-location\iron-location.html + + + Resources\dashboard-ui\bower_components\iron-location\iron-query-params.html + Resources\dashboard-ui\bower_components\iron-location\.github\ISSUE_TEMPLATE.md + + Resources\dashboard-ui\bower_components\iron-location\demo\index.html + + + Resources\dashboard-ui\bower_components\iron-location\demo\iron-query-params.html + + + Resources\dashboard-ui\bower_components\iron-location\test\index.html + + + Resources\dashboard-ui\bower_components\iron-location\test\initialization-cases.html + + + Resources\dashboard-ui\bower_components\iron-location\test\initialization-iframe.html + + + Resources\dashboard-ui\bower_components\iron-location\test\initialization-tests.html + + + Resources\dashboard-ui\bower_components\iron-location\test\iron-location.html + + + Resources\dashboard-ui\bower_components\iron-location\test\iron-query-params.html + Resources\dashboard-ui\bower_components\iron-media-query\.bower.json @@ -2702,12 +2779,18 @@ Resources\dashboard-ui\bower_components\iron-overlay-behavior\test\index.html + + Resources\dashboard-ui\bower_components\iron-overlay-behavior\test\iron-overlay-backdrop.html + Resources\dashboard-ui\bower_components\iron-overlay-behavior\test\iron-overlay-behavior.html Resources\dashboard-ui\bower_components\iron-overlay-behavior\test\test-buttons.html + + Resources\dashboard-ui\bower_components\iron-overlay-behavior\test\test-menu-button.html + Resources\dashboard-ui\bower_components\iron-overlay-behavior\test\test-overlay.html @@ -2858,6 +2941,9 @@ Resources\dashboard-ui\bower_components\iron-selector\iron-selector.html + + Resources\dashboard-ui\bower_components\iron-selector\.github\ISSUE_TEMPLATE.md + Resources\dashboard-ui\bower_components\iron-selector\demo\index.html @@ -3353,6 +3439,36 @@ Resources\dashboard-ui\bower_components\jstree\src\themes\default-dark\throbber.gif + + Resources\dashboard-ui\bower_components\libjass\.bower.json + + + Resources\dashboard-ui\bower_components\libjass\CHANGELOG.md + + + Resources\dashboard-ui\bower_components\libjass\LICENSE + + + Resources\dashboard-ui\bower_components\libjass\README.md + + + Resources\dashboard-ui\bower_components\libjass\libjass.css + + + Resources\dashboard-ui\bower_components\libjass\libjass.js + + + Resources\dashboard-ui\bower_components\libjass\libjass.js.map + + + Resources\dashboard-ui\bower_components\libjass\libjass.min.js + + + Resources\dashboard-ui\bower_components\libjass\libjass.min.js.map + + + Resources\dashboard-ui\bower_components\libjass\package.json + Resources\dashboard-ui\bower_components\marked\.bower.json @@ -4163,6 +4279,9 @@ Resources\dashboard-ui\bower_components\neon-animation\web-animations.html + + Resources\dashboard-ui\bower_components\neon-animation\.github\ISSUE_TEMPLATE.md + Resources\dashboard-ui\bower_components\neon-animation\animations\cascaded-animation.html @@ -4307,6 +4426,9 @@ Resources\dashboard-ui\bower_components\neon-animation\test\index.html + + Resources\dashboard-ui\bower_components\neon-animation\test\neon-animated-pages-lazy.html + Resources\dashboard-ui\bower_components\neon-animation\test\neon-animated-pages.html @@ -4751,6 +4873,9 @@ Resources\dashboard-ui\bower_components\paper-input\paper-textarea.html + + Resources\dashboard-ui\bower_components\paper-input\.github\ISSUE_TEMPLATE.md + Resources\dashboard-ui\bower_components\paper-input\demo\index.html @@ -4820,6 +4945,9 @@ Resources\dashboard-ui\bower_components\paper-item\paper-item.html + + Resources\dashboard-ui\bower_components\paper-item\.github\ISSUE_TEMPLATE.md + Resources\dashboard-ui\bower_components\paper-item\demo\index.html @@ -4925,6 +5053,9 @@ Resources\dashboard-ui\bower_components\paper-menu-button\paper-menu-button.html + + Resources\dashboard-ui\bower_components\paper-menu-button\.github\ISSUE_TEMPLATE.md + Resources\dashboard-ui\bower_components\paper-menu-button\demo\index.html @@ -8879,6 +9010,12 @@ Resources\dashboard-ui\components\chromecasthelpers.js + + Resources\dashboard-ui\components\favoriteitems.js + + + Resources\dashboard-ui\components\filedownloader.js + Resources\dashboard-ui\components\humanedate.js @@ -8888,6 +9025,9 @@ Resources\dashboard-ui\components\remotecontrolautoplay.js + + Resources\dashboard-ui\components\servertestermessage.js + Resources\dashboard-ui\components\sharingwidget.js @@ -9068,6 +9208,9 @@ Resources\dashboard-ui\css\images\logindefault.png + + Resources\dashboard-ui\css\images\logo.png + Resources\dashboard-ui\css\images\logo536.png @@ -9161,9 +9304,6 @@ Resources\dashboard-ui\css\images\editor\missingprimaryimage.png - - Resources\dashboard-ui\css\images\editor\missingtrailer.png - Resources\dashboard-ui\css\images\items\detail\audio.png @@ -9338,9 +9478,6 @@ Resources\dashboard-ui\legacy\fnchecked.js - - Resources\dashboard-ui\legacy\objectassign.js - Resources\dashboard-ui\legacy\selectmenu.js @@ -9350,9 +9487,6 @@ Resources\dashboard-ui\scripts\addpluginpage.js - - Resources\dashboard-ui\scripts\advancedconfigurationpage.js - Resources\dashboard-ui\scripts\alphapicker.js @@ -9377,9 +9511,6 @@ Resources\dashboard-ui\scripts\channels.js - - Resources\dashboard-ui\scripts\channelsettings.js - Resources\dashboard-ui\scripts\channelslatest.js @@ -9416,9 +9547,6 @@ Resources\dashboard-ui\scripts\dlnaprofiles.js - - Resources\dashboard-ui\scripts\dlnaserversettings.js - Resources\dashboard-ui\scripts\dlnasettings.js @@ -9464,6 +9592,9 @@ Resources\dashboard-ui\scripts\gamesystemspage.js + + Resources\dashboard-ui\scripts\homefavorites.js + Resources\dashboard-ui\scripts\homenextup.js @@ -9578,9 +9709,6 @@ Resources\dashboard-ui\scripts\mediaplayer.js - - Resources\dashboard-ui\scripts\metadataadvanced.js - Resources\dashboard-ui\scripts\metadataconfigurationpage.js @@ -9917,9 +10045,6 @@ Resources\dashboard-ui\strings\ru.json - - Resources\dashboard-ui\strings\server.json - Resources\dashboard-ui\strings\sl-SI.json From e5a0d8dd8442e17a3ef398933a040bab77f8472f Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 30 Apr 2016 01:35:53 -0400 Subject: [PATCH 19/21] update mac project --- MediaBrowser.Server.Mac/Native/BaseMonoApp.cs | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs b/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs index abc3736009..9c7421e429 100644 --- a/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs +++ b/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs @@ -8,6 +8,7 @@ using System.Reflection; using System.Text.RegularExpressions; using MediaBrowser.Controller.Power; using MediaBrowser.Server.Startup.Common.FFMpeg; +using System.Diagnostics; namespace MediaBrowser.Server.Mac { @@ -109,7 +110,38 @@ namespace MediaBrowser.Server.Mac public void LaunchUrl(string url) { - throw new NotImplementedException(); + var process = new Process + { + StartInfo = new ProcessStartInfo + { + FileName = url + }, + + EnableRaisingEvents = true, + }; + + process.Exited += ProcessExited; + + try + { + process.Start(); + } + catch (Exception ex) + { + _logger.ErrorException("Error launching url: {0}", ex, url); + + throw; + } + } + + /// + /// Processes the exited. + /// + /// The sender. + /// The instance containing the event data. + private static void ProcessExited(object sender, EventArgs e) + { + ((Process)sender).Dispose(); } public FFMpegInstallInfo GetFfmpegInstallInfo() From 8ee0e50a63f59ab8d816c0d9f20be3b08ee4dc3e Mon Sep 17 00:00:00 2001 From: Luke Date: Sat, 30 Apr 2016 16:54:11 -0400 Subject: [PATCH 20/21] update launch url --- MediaBrowser.Server.Mac/Native/BaseMonoApp.cs | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs b/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs index 9c7421e429..67ad96859a 100644 --- a/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs +++ b/MediaBrowser.Server.Mac/Native/BaseMonoApp.cs @@ -122,16 +122,7 @@ namespace MediaBrowser.Server.Mac process.Exited += ProcessExited; - try - { - process.Start(); - } - catch (Exception ex) - { - _logger.ErrorException("Error launching url: {0}", ex, url); - - throw; - } + process.Start(); } /// From 780d5b914cc22bdf88477761e60c5de64b20504d Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 30 Apr 2016 23:37:32 -0400 Subject: [PATCH 21/21] 3.0.5934 --- SharedVersion.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedVersion.cs b/SharedVersion.cs index ea90eda214..073260ad7c 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,4 +1,4 @@ using System.Reflection; //[assembly: AssemblyVersion("3.0.*")] -[assembly: AssemblyVersion("3.0.5933")] +[assembly: AssemblyVersion("3.0.5934")]