From 3d47b495a96fce84c03d9f3177dc6dbc8a4afa3c Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 29 Jun 2014 23:04:50 -0400 Subject: [PATCH] fixes #795 - Support reading Xbmc nfo's --- .../Playback/BaseStreamingService.cs | 16 +- MediaBrowser.Api/Playback/BifService.cs | 5 + .../Playback/Progressive/VideoService.cs | 3 +- MediaBrowser.Controller/Entities/Folder.cs | 5 - MediaBrowser.Dlna/PlayTo/PlayToController.cs | 2 +- .../BaseXmlProvider.cs | 12 +- .../Images}/CollectionFolderImageProvider.cs | 8 +- .../Images}/EpisodeLocalImageProvider.cs | 12 +- .../Images}/ImagesByNameImageProvider.cs | 9 +- .../InternalMetadataFolderImageProvider.cs | 8 +- .../Images}/LocalImageProvider.cs | 14 +- .../MediaBrowser.LocalMetadata.csproj | 110 ++ .../Parsers}/BoxSetXmlParser.cs | 10 +- .../Parsers}/EpisodeXmlParser.cs | 12 +- .../Parsers}/GameSystemXmlParser.cs | 10 +- .../Parsers}/GameXmlParser.cs | 12 +- .../Parsers}/MovieXmlParser.cs | 10 +- .../Parsers}/MusicVideoXmlParser.cs | 7 +- .../Parsers}/SeasonXmlParser.cs | 6 +- .../Parsers}/SeriesXmlParser.cs | 8 +- .../Properties/AssemblyInfo.cs | 36 + .../Providers}/AdultVideoXmlProvider.cs | 16 +- .../Providers}/AlbumXmlProvider.cs | 10 +- .../Providers}/ArtistXmlProvider.cs | 8 +- .../Providers}/BoxSetXmlProvider.cs | 9 +- .../Providers}/ChannelXmlProvider.cs | 8 +- .../Providers}/EpisodeXmlProvider.cs | 26 +- .../Providers}/FolderXmlProvider.cs | 8 +- .../Providers}/GameSystemXmlProvider.cs | 9 +- .../Providers}/GameXmlProvider.cs | 9 +- .../Providers}/MovieXmlProvider.cs | 15 +- .../Providers}/MusicVideoXmlProvider.cs | 15 +- .../Providers}/PersonXmlProvider.cs | 8 +- .../Providers}/SeasonXmlProvider.cs | 20 +- .../Providers}/SeriesXmlProvider.cs | 20 +- .../Providers}/TrailerXmlProvider.cs | 15 +- .../Providers}/VideoXmlProvider.cs | 16 +- .../Savers/AlbumXmlSaver.cs | 10 +- .../Savers/ArtistXmlSaver.cs | 10 +- .../Savers/BoxSetXmlSaver.cs | 11 +- .../Savers/ChannelXmlSaver.cs | 11 +- .../Savers/EpisodeXmlSaver.cs | 12 +- .../Savers/FolderXmlSaver.cs | 13 +- .../Savers/GameSystemXmlSaver.cs | 8 +- .../Savers/GameXmlSaver.cs | 10 +- .../Savers/MovieXmlSaver.cs | 15 +- .../Savers/PersonXmlSaver.cs | 10 +- .../Savers/SeasonXmlSaver.cs | 10 +- .../Savers/SeriesXmlSaver.cs | 14 +- .../Savers/XmlSaverHelpers.cs | 14 +- .../MediaBrowser.Model.Portable.csproj | 3 + .../MediaBrowser.Model.net35.csproj | 3 + .../Configuration/ServerConfiguration.cs | 19 +- .../Configuration/XbmcMetadataOptions.cs | 21 + MediaBrowser.Model/MediaBrowser.Model.csproj | 1 + .../AudioChannelItemMetadataService.cs | 6 +- .../VideoChannelItemMetadataService.cs | 6 +- .../MediaBrowser.Providers.csproj | 49 +- .../Localization/Server/server.json | 13 +- .../ApplicationHost.cs | 84 ++ .../MediaBrowser.ServerApplication.csproj | 8 + .../Api/DashboardService.cs | 1 + .../MediaBrowser.WebDashboard.csproj | 6 + .../Configuration/NfoOptions.cs | 29 + MediaBrowser.XbmcMetadata/EntryPoint.cs | 99 ++ .../Images}/XbmcImageSaver.cs | 2 +- .../MediaBrowser.XbmcMetadata.csproj | 89 ++ .../Parsers/BaseNfoParser.cs | 992 ++++++++++++++++++ .../Parsers/EpisodeNfoParser.cs | 211 ++++ .../Parsers/MovieNfoParser.cs | 97 ++ .../Parsers/SeasonNfoParser.cs | 45 + .../Parsers/SeriesNfoParser.cs | 93 ++ .../Properties/AssemblyInfo.cs | 36 + .../Providers/AlbumNfoProvider.cs | 34 + .../Providers/ArtistNfoProvider.cs | 34 + .../Providers/BaseNfoProvider.cs | 89 ++ .../Providers/BaseVideoNfoProvider.cs | 55 + .../Providers/EpisodeNfoProvider.cs | 44 + .../Providers/MovieNfoProvider.cs | 45 + .../Providers/SeasonNfoProvider.cs | 35 + .../Providers/SeriesNfoProvider.cs | 34 + .../Savers/AlbumXmlSaver.cs | 143 +++ .../Savers/ArtistXmlSaver.cs | 124 +++ .../Savers/EpisodeXmlSaver.cs | 149 +++ .../Savers/MovieXmlSaver.cs | 143 +++ .../Savers/SeasonXmlSaver.cs | 90 ++ .../Savers/SeriesXmlSaver.cs | 130 +++ .../Savers/XmlSaverHelpers.cs | 906 ++++++++++++++++ MediaBrowser.sln | 36 +- 89 files changed, 4361 insertions(+), 318 deletions(-) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/BaseXmlProvider.cs (96%) rename {MediaBrowser.Providers/Folders => MediaBrowser.LocalMetadata/Images}/CollectionFolderImageProvider.cs (81%) rename {MediaBrowser.Providers/TV => MediaBrowser.LocalMetadata/Images}/EpisodeLocalImageProvider.cs (96%) rename {MediaBrowser.Providers/Folders => MediaBrowser.LocalMetadata/Images}/ImagesByNameImageProvider.cs (91%) rename {MediaBrowser.Providers/All => MediaBrowser.LocalMetadata/Images}/InternalMetadataFolderImageProvider.cs (93%) rename {MediaBrowser.Providers/All => MediaBrowser.LocalMetadata/Images}/LocalImageProvider.cs (99%) create mode 100644 MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj rename {MediaBrowser.Providers/BoxSets => MediaBrowser.LocalMetadata/Parsers}/BoxSetXmlParser.cs (96%) rename {MediaBrowser.Providers/TV => MediaBrowser.LocalMetadata/Parsers}/EpisodeXmlParser.cs (98%) rename {MediaBrowser.Providers/Games => MediaBrowser.LocalMetadata/Parsers}/GameSystemXmlParser.cs (94%) rename {MediaBrowser.Providers/Games => MediaBrowser.LocalMetadata/Parsers}/GameXmlParser.cs (96%) rename {MediaBrowser.Providers/Movies => MediaBrowser.LocalMetadata/Parsers}/MovieXmlParser.cs (93%) rename {MediaBrowser.Providers/Music => MediaBrowser.LocalMetadata/Parsers}/MusicVideoXmlParser.cs (88%) rename {MediaBrowser.Providers/TV => MediaBrowser.LocalMetadata/Parsers}/SeasonXmlParser.cs (91%) rename {MediaBrowser.Providers/TV => MediaBrowser.LocalMetadata/Parsers}/SeriesXmlParser.cs (97%) create mode 100644 MediaBrowser.LocalMetadata/Properties/AssemblyInfo.cs rename {MediaBrowser.Providers/AdultVideos => MediaBrowser.LocalMetadata/Providers}/AdultVideoXmlProvider.cs (86%) rename {MediaBrowser.Providers/Music => MediaBrowser.LocalMetadata/Providers}/AlbumXmlProvider.cs (83%) rename {MediaBrowser.Providers/Music => MediaBrowser.LocalMetadata/Providers}/ArtistXmlProvider.cs (90%) rename {MediaBrowser.Providers/BoxSets => MediaBrowser.LocalMetadata/Providers}/BoxSetXmlProvider.cs (87%) rename {MediaBrowser.Providers/LiveTv => MediaBrowser.LocalMetadata/Providers}/ChannelXmlProvider.cs (90%) rename {MediaBrowser.Providers/TV => MediaBrowser.LocalMetadata/Providers}/EpisodeXmlProvider.cs (77%) rename {MediaBrowser.Providers/Folders => MediaBrowser.LocalMetadata/Providers}/FolderXmlProvider.cs (90%) rename {MediaBrowser.Providers/Games => MediaBrowser.LocalMetadata/Providers}/GameSystemXmlProvider.cs (86%) rename {MediaBrowser.Providers/Games => MediaBrowser.LocalMetadata/Providers}/GameXmlProvider.cs (90%) rename {MediaBrowser.Providers/Movies => MediaBrowser.LocalMetadata/Providers}/MovieXmlProvider.cs (92%) rename {MediaBrowser.Providers/Music => MediaBrowser.LocalMetadata/Providers}/MusicVideoXmlProvider.cs (83%) rename {MediaBrowser.Providers/People => MediaBrowser.LocalMetadata/Providers}/PersonXmlProvider.cs (89%) rename {MediaBrowser.Providers/TV => MediaBrowser.LocalMetadata/Providers}/SeasonXmlProvider.cs (70%) rename {MediaBrowser.Providers/TV => MediaBrowser.LocalMetadata/Providers}/SeriesXmlProvider.cs (70%) rename {MediaBrowser.Providers/Movies => MediaBrowser.LocalMetadata/Providers}/TrailerXmlProvider.cs (86%) rename {MediaBrowser.Providers/Videos => MediaBrowser.LocalMetadata/Providers}/VideoXmlProvider.cs (86%) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/Savers/AlbumXmlSaver.cs (94%) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/Savers/ArtistXmlSaver.cs (94%) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/Savers/BoxSetXmlSaver.cs (92%) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/Savers/ChannelXmlSaver.cs (93%) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/Savers/EpisodeXmlSaver.cs (97%) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/Savers/FolderXmlSaver.cs (93%) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/Savers/GameSystemXmlSaver.cs (94%) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/Savers/GameXmlSaver.cs (96%) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/Savers/MovieXmlSaver.cs (96%) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/Savers/PersonXmlSaver.cs (92%) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/Savers/SeasonXmlSaver.cs (95%) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/Savers/SeriesXmlSaver.cs (97%) rename {MediaBrowser.Providers => MediaBrowser.LocalMetadata}/Savers/XmlSaverHelpers.cs (99%) create mode 100644 MediaBrowser.Model/Configuration/XbmcMetadataOptions.cs rename MediaBrowser.Providers/{GameGenres => Channels}/AudioChannelItemMetadataService.cs (92%) rename MediaBrowser.Providers/{GameGenres => Channels}/VideoChannelItemMetadataService.cs (92%) create mode 100644 MediaBrowser.XbmcMetadata/Configuration/NfoOptions.cs create mode 100644 MediaBrowser.XbmcMetadata/EntryPoint.cs rename {MediaBrowser.Providers/Xbmc => MediaBrowser.XbmcMetadata/Images}/XbmcImageSaver.cs (99%) create mode 100644 MediaBrowser.XbmcMetadata/MediaBrowser.XbmcMetadata.csproj create mode 100644 MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs create mode 100644 MediaBrowser.XbmcMetadata/Parsers/EpisodeNfoParser.cs create mode 100644 MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs create mode 100644 MediaBrowser.XbmcMetadata/Parsers/SeasonNfoParser.cs create mode 100644 MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs create mode 100644 MediaBrowser.XbmcMetadata/Properties/AssemblyInfo.cs create mode 100644 MediaBrowser.XbmcMetadata/Providers/AlbumNfoProvider.cs create mode 100644 MediaBrowser.XbmcMetadata/Providers/ArtistNfoProvider.cs create mode 100644 MediaBrowser.XbmcMetadata/Providers/BaseNfoProvider.cs create mode 100644 MediaBrowser.XbmcMetadata/Providers/BaseVideoNfoProvider.cs create mode 100644 MediaBrowser.XbmcMetadata/Providers/EpisodeNfoProvider.cs create mode 100644 MediaBrowser.XbmcMetadata/Providers/MovieNfoProvider.cs create mode 100644 MediaBrowser.XbmcMetadata/Providers/SeasonNfoProvider.cs create mode 100644 MediaBrowser.XbmcMetadata/Providers/SeriesNfoProvider.cs create mode 100644 MediaBrowser.XbmcMetadata/Savers/AlbumXmlSaver.cs create mode 100644 MediaBrowser.XbmcMetadata/Savers/ArtistXmlSaver.cs create mode 100644 MediaBrowser.XbmcMetadata/Savers/EpisodeXmlSaver.cs create mode 100644 MediaBrowser.XbmcMetadata/Savers/MovieXmlSaver.cs create mode 100644 MediaBrowser.XbmcMetadata/Savers/SeasonXmlSaver.cs create mode 100644 MediaBrowser.XbmcMetadata/Savers/SeriesXmlSaver.cs create mode 100644 MediaBrowser.XbmcMetadata/Savers/XmlSaverHelpers.cs diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index 3cb7b914ad..bdd1b76d07 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -1447,6 +1447,16 @@ namespace MediaBrowser.Api.Playback state.MediaPath = mediaUrl; state.InputProtocol = MediaProtocol.Http; } + else + { + // No media info, so this is probably needed + state.DeInterlace = true; + } + + if (recording.RecordingInfo.Status == RecordingStatus.InProgress) + { + state.ReadInputAtNativeFramerate = true; + } state.RunTimeTicks = recording.RunTimeTicks; @@ -1455,9 +1465,7 @@ namespace MediaBrowser.Api.Playback await Task.Delay(1000, cancellationToken).ConfigureAwait(false); } - state.ReadInputAtNativeFramerate = recording.RecordingInfo.Status == RecordingStatus.InProgress; state.OutputAudioSync = "1000"; - state.DeInterlace = true; state.InputVideoSync = "-1"; state.InputAudioSync = "1"; state.InputContainer = recording.Container; @@ -1524,7 +1532,9 @@ namespace MediaBrowser.Api.Playback state.RunTimeTicks = mediaSource.RunTimeTicks; } - if (string.Equals(state.InputContainer, "wtv", StringComparison.OrdinalIgnoreCase)) + // If it's a wtv and we don't have media info, we will probably need to deinterlace + if (string.Equals(state.InputContainer, "wtv", StringComparison.OrdinalIgnoreCase) && + mediaStreams.Count == 0) { state.DeInterlace = true; } diff --git a/MediaBrowser.Api/Playback/BifService.cs b/MediaBrowser.Api/Playback/BifService.cs index 7a3a7d32dc..057d814417 100644 --- a/MediaBrowser.Api/Playback/BifService.cs +++ b/MediaBrowser.Api/Playback/BifService.cs @@ -72,6 +72,11 @@ namespace MediaBrowser.Api.Playback try { + if (File.Exists(path)) + { + return path; + } + await _mediaEncoder.ExtractVideoImagesOnInterval(inputPath, protocol, mediaSource.Video3DFormat, TimeSpan.FromSeconds(10), Path.GetDirectoryName(path), "img_", request.MaxWidth, CancellationToken.None) .ConfigureAwait(false); diff --git a/MediaBrowser.Api/Playback/Progressive/VideoService.cs b/MediaBrowser.Api/Playback/Progressive/VideoService.cs index 937df513e6..bedacc0d29 100644 --- a/MediaBrowser.Api/Playback/Progressive/VideoService.cs +++ b/MediaBrowser.Api/Playback/Progressive/VideoService.cs @@ -144,7 +144,8 @@ namespace MediaBrowser.Api.Playback.Progressive return state.VideoStream != null && IsH264(state.VideoStream) ? args + " -bsf h264_mp4toannexb" : args; } - const string keyFrameArg = " -force_key_frames expr:if(isnan(prev_forced_t),gte(t,.1),gte(t,prev_forced_t+5))"; + var keyFrameArg = string.Format(" -force_key_frames expr:gte(t,n_forced*{0})", + 5.ToString(UsCulture)); args += keyFrameArg; diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 87b1cc7a3d..f503a5ff44 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -445,11 +445,6 @@ namespace MediaBrowser.Controller.Entities cancellationToken.ThrowIfCancellationRequested(); - if (this is UserRootFolder) - { - var b = true; - } - foreach (var child in nonCachedChildren) { BaseItem currentChild; diff --git a/MediaBrowser.Dlna/PlayTo/PlayToController.cs b/MediaBrowser.Dlna/PlayTo/PlayToController.cs index 89d61bb21f..0bc9215081 100644 --- a/MediaBrowser.Dlna/PlayTo/PlayToController.cs +++ b/MediaBrowser.Dlna/PlayTo/PlayToController.cs @@ -80,7 +80,7 @@ namespace MediaBrowser.Dlna.PlayTo _updateTimer = new Timer(updateTimer_Elapsed, null, 60000, 60000); } - private async void updateTimer_Elapsed(object state) + private void updateTimer_Elapsed(object state) { if (DateTime.UtcNow >= _device.DateLastActivity.AddSeconds(120)) { diff --git a/MediaBrowser.Providers/BaseXmlProvider.cs b/MediaBrowser.LocalMetadata/BaseXmlProvider.cs similarity index 96% rename from MediaBrowser.Providers/BaseXmlProvider.cs rename to MediaBrowser.LocalMetadata/BaseXmlProvider.cs index a5a3ba146a..cc9bc7bed7 100644 --- a/MediaBrowser.Providers/BaseXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/BaseXmlProvider.cs @@ -1,13 +1,13 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Logging; -using System; +using System; using System.IO; using System.Threading; using System.Threading.Tasks; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers +namespace MediaBrowser.LocalMetadata { public abstract class BaseXmlProvider : ILocalMetadataProvider, IHasChangeMonitor where T : IHasMetadata, new() diff --git a/MediaBrowser.Providers/Folders/CollectionFolderImageProvider.cs b/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs similarity index 81% rename from MediaBrowser.Providers/Folders/CollectionFolderImageProvider.cs rename to MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs index fa5946bd5c..29fd76aa56 100644 --- a/MediaBrowser.Providers/Folders/CollectionFolderImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs @@ -1,10 +1,8 @@ -using MediaBrowser.Controller.Entities; +using System.Collections.Generic; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Providers.All; -using System.Collections.Generic; -namespace MediaBrowser.Providers.Folders +namespace MediaBrowser.LocalMetadata.Images { public class CollectionFolderLocalImageProvider : ILocalImageFileProvider, IHasOrder { diff --git a/MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs b/MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs similarity index 96% rename from MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs rename to MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs index 1ec0e0f481..f1e7426aad 100644 --- a/MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs @@ -1,13 +1,13 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.TV; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Images { public class EpisodeLocalLocalImageProvider : ILocalImageFileProvider { diff --git a/MediaBrowser.Providers/Folders/ImagesByNameImageProvider.cs b/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs similarity index 91% rename from MediaBrowser.Providers/Folders/ImagesByNameImageProvider.cs rename to MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs index 5dcf3bc596..3f84df462d 100644 --- a/MediaBrowser.Providers/Folders/ImagesByNameImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs @@ -1,12 +1,11 @@ -using MediaBrowser.Common.IO; +using System.Collections.Generic; +using System.IO; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; -using MediaBrowser.Providers.All; -using System.Collections.Generic; -using System.IO; -namespace MediaBrowser.Providers.Folders +namespace MediaBrowser.LocalMetadata.Images { public class ImagesByNameImageProvider : ILocalImageFileProvider, IHasOrder { diff --git a/MediaBrowser.Providers/All/InternalMetadataFolderImageProvider.cs b/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs similarity index 93% rename from MediaBrowser.Providers/All/InternalMetadataFolderImageProvider.cs rename to MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs index edaa5edafd..8c4f6247cb 100644 --- a/MediaBrowser.Providers/All/InternalMetadataFolderImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs @@ -1,11 +1,11 @@ -using MediaBrowser.Controller.Configuration; +using System.Collections.Generic; +using System.IO; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Providers; -using System.Collections.Generic; -using System.IO; -namespace MediaBrowser.Providers.All +namespace MediaBrowser.LocalMetadata.Images { public class InternalMetadataFolderImageProvider : ILocalImageFileProvider, IHasOrder { diff --git a/MediaBrowser.Providers/All/LocalImageProvider.cs b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs similarity index 99% rename from MediaBrowser.Providers/All/LocalImageProvider.cs rename to MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs index 1d10fcfa35..a5ef7977bc 100644 --- a/MediaBrowser.Providers/All/LocalImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs @@ -1,16 +1,16 @@ -using MediaBrowser.Controller.Entities; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; -namespace MediaBrowser.Providers.All +namespace MediaBrowser.LocalMetadata.Images { public class LocalImageProvider : ILocalImageFileProvider { diff --git a/MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj b/MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj new file mode 100644 index 0000000000..0d2c0b97f2 --- /dev/null +++ b/MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj @@ -0,0 +1,110 @@ + + + + + Debug + AnyCPU + {7EF9F3E0-697D-42F3-A08F-19DEB5F84392} + Library + Properties + MediaBrowser.LocalMetadata + MediaBrowser.LocalMetadata + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {9142eefa-7570-41e1-bfcc-468bb571af2f} + MediaBrowser.Common + + + {17e1f4e6-8abd-4fe5-9ecf-43d4b6087ba2} + MediaBrowser.Controller + + + {7eeeb4bb-f3e8-48fc-b4c5-70f0fff8329b} + MediaBrowser.Model + + + + + + \ No newline at end of file diff --git a/MediaBrowser.Providers/BoxSets/BoxSetXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs similarity index 96% rename from MediaBrowser.Providers/BoxSets/BoxSetXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs index eb3c99cef5..51a4684d70 100644 --- a/MediaBrowser.Providers/BoxSets/BoxSetXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs @@ -1,12 +1,12 @@ -using MediaBrowser.Controller.Entities; +using System.Collections.Generic; +using System.Globalization; +using System.Xml; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.Collections.Generic; -using System.Globalization; -using System.Xml; -namespace MediaBrowser.Providers.BoxSets +namespace MediaBrowser.LocalMetadata.Parsers { public class BoxSetXmlParser : BaseItemXmlParser { diff --git a/MediaBrowser.Providers/TV/EpisodeXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/EpisodeXmlParser.cs similarity index 98% rename from MediaBrowser.Providers/TV/EpisodeXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/EpisodeXmlParser.cs index 20f2678853..8430f3b3c7 100644 --- a/MediaBrowser.Providers/TV/EpisodeXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/EpisodeXmlParser.cs @@ -1,15 +1,15 @@ -using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using System; +using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Threading; using System.Xml; +using MediaBrowser.Controller.Entities.TV; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Parsers { /// /// Class EpisodeXmlParser diff --git a/MediaBrowser.Providers/Games/GameSystemXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs similarity index 94% rename from MediaBrowser.Providers/Games/GameSystemXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs index 85ee509ca1..d449108c4b 100644 --- a/MediaBrowser.Providers/Games/GameSystemXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs @@ -1,12 +1,12 @@ -using MediaBrowser.Controller.Entities; +using System.Threading; +using System.Threading.Tasks; +using System.Xml; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; -using System.Threading; -using System.Threading.Tasks; -using System.Xml; -namespace MediaBrowser.Providers.Games +namespace MediaBrowser.LocalMetadata.Parsers { public class GameSystemXmlParser : BaseItemXmlParser { diff --git a/MediaBrowser.Providers/Games/GameXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs similarity index 96% rename from MediaBrowser.Providers/Games/GameXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs index dfa71e5f44..2caced8a94 100644 --- a/MediaBrowser.Providers/Games/GameXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs @@ -1,13 +1,13 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using System.Globalization; +using System.Globalization; using System.Threading; using System.Threading.Tasks; using System.Xml; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.Games +namespace MediaBrowser.LocalMetadata.Parsers { /// /// Class EpisodeXmlParser diff --git a/MediaBrowser.Providers/Movies/MovieXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/MovieXmlParser.cs similarity index 93% rename from MediaBrowser.Providers/Movies/MovieXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/MovieXmlParser.cs index 52795ac2d7..388a0d20d7 100644 --- a/MediaBrowser.Providers/Movies/MovieXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/MovieXmlParser.cs @@ -1,13 +1,13 @@ -using MediaBrowser.Controller.Entities; +using System.Collections.Generic; +using System.Threading; +using System.Xml; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; -using System.Collections.Generic; -using System.Threading; -using System.Xml; -namespace MediaBrowser.Providers.Movies +namespace MediaBrowser.LocalMetadata.Parsers { /// /// Class EpisodeXmlParser diff --git a/MediaBrowser.Providers/Music/MusicVideoXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/MusicVideoXmlParser.cs similarity index 88% rename from MediaBrowser.Providers/Music/MusicVideoXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/MusicVideoXmlParser.cs index 0c160ff665..b88ff6c3a9 100644 --- a/MediaBrowser.Providers/Music/MusicVideoXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/MusicVideoXmlParser.cs @@ -1,10 +1,9 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.Audio; +using System.Xml; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.Xml; -namespace MediaBrowser.Providers.Music +namespace MediaBrowser.LocalMetadata.Parsers { public class MusicVideoXmlParser : BaseItemXmlParser { diff --git a/MediaBrowser.Providers/TV/SeasonXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/SeasonXmlParser.cs similarity index 91% rename from MediaBrowser.Providers/TV/SeasonXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/SeasonXmlParser.cs index 44b73e8e1b..62a7d37cfc 100644 --- a/MediaBrowser.Providers/TV/SeasonXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/SeasonXmlParser.cs @@ -1,9 +1,9 @@ -using MediaBrowser.Controller.Entities.TV; +using System.Xml; +using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.Xml; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Parsers { public class SeasonXmlParser : BaseItemXmlParser { diff --git a/MediaBrowser.Providers/TV/SeriesXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/SeriesXmlParser.cs similarity index 97% rename from MediaBrowser.Providers/TV/SeriesXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/SeriesXmlParser.cs index 237fcf73af..a3d45034ea 100644 --- a/MediaBrowser.Providers/TV/SeriesXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/SeriesXmlParser.cs @@ -1,12 +1,12 @@ -using MediaBrowser.Controller.Entities.TV; +using System; +using System.Xml; +using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; -using System; -using System.Xml; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Parsers { /// /// Class SeriesXmlParser diff --git a/MediaBrowser.LocalMetadata/Properties/AssemblyInfo.cs b/MediaBrowser.LocalMetadata/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..dd1c89579f --- /dev/null +++ b/MediaBrowser.LocalMetadata/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MediaBrowser.LocalMetadata")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MediaBrowser.LocalMetadata")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("1c669501-2113-493a-b0ed-f8fd26311941")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/MediaBrowser.Providers/AdultVideos/AdultVideoXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/AdultVideoXmlProvider.cs similarity index 86% rename from MediaBrowser.Providers/AdultVideos/AdultVideoXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/AdultVideoXmlProvider.cs index 07b24c57d6..fa17d597dd 100644 --- a/MediaBrowser.Providers/AdultVideos/AdultVideoXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/AdultVideoXmlProvider.cs @@ -1,14 +1,14 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using MediaBrowser.Providers.Movies; -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.AdultVideos +namespace MediaBrowser.LocalMetadata.Providers { class AdultVideoXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/Music/AlbumXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/AlbumXmlProvider.cs similarity index 83% rename from MediaBrowser.Providers/Music/AlbumXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/AlbumXmlProvider.cs index 73b9140902..6469227698 100644 --- a/MediaBrowser.Providers/Music/AlbumXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/AlbumXmlProvider.cs @@ -1,13 +1,13 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.Music +namespace MediaBrowser.LocalMetadata.Providers { - class AlbumXmlProvider : BaseXmlProvider + public class AlbumXmlProvider : BaseXmlProvider { private readonly ILogger _logger; diff --git a/MediaBrowser.Providers/Music/ArtistXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/ArtistXmlProvider.cs similarity index 90% rename from MediaBrowser.Providers/Music/ArtistXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/ArtistXmlProvider.cs index b221fde1e6..0b5ebfb11a 100644 --- a/MediaBrowser.Providers/Music/ArtistXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/ArtistXmlProvider.cs @@ -1,11 +1,11 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.Music +namespace MediaBrowser.LocalMetadata.Providers { class ArtistXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/BoxSets/BoxSetXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs similarity index 87% rename from MediaBrowser.Providers/BoxSets/BoxSetXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs index 1d4d893ed7..871c2bd926 100644 --- a/MediaBrowser.Providers/BoxSets/BoxSetXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs @@ -1,11 +1,12 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.BoxSets +namespace MediaBrowser.LocalMetadata.Providers { /// /// Class BoxSetXmlProvider. diff --git a/MediaBrowser.Providers/LiveTv/ChannelXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/ChannelXmlProvider.cs similarity index 90% rename from MediaBrowser.Providers/LiveTv/ChannelXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/ChannelXmlProvider.cs index 44a312e24c..78845487a2 100644 --- a/MediaBrowser.Providers/LiveTv/ChannelXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/ChannelXmlProvider.cs @@ -1,11 +1,11 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.LiveTv +namespace MediaBrowser.LocalMetadata.Providers { public class ChannelXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/TV/EpisodeXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs similarity index 77% rename from MediaBrowser.Providers/TV/EpisodeXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs index 3def06bfe1..dff3c1c07c 100644 --- a/MediaBrowser.Providers/TV/EpisodeXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs @@ -1,15 +1,16 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities.TV; +using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Providers { - public class EpisodeXmlProvider : BaseXmlProvider + public class EpisodeXmlProvider : BaseXmlProvider, IHasOrder { private readonly ILogger _logger; @@ -39,5 +40,14 @@ namespace MediaBrowser.Providers.TV return directoryService.GetFile(metadataFile); } + + public int Order + { + get + { + // After Xbmc + return 1; + } + } } } diff --git a/MediaBrowser.Providers/Folders/FolderXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs similarity index 90% rename from MediaBrowser.Providers/Folders/FolderXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs index 144d1b752e..0a2b33744e 100644 --- a/MediaBrowser.Providers/Folders/FolderXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs @@ -1,11 +1,11 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.Folders +namespace MediaBrowser.LocalMetadata.Providers { /// /// Provides metadata for Folders and all subclasses by parsing folder.xml diff --git a/MediaBrowser.Providers/Games/GameSystemXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs similarity index 86% rename from MediaBrowser.Providers/Games/GameSystemXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs index db9c8f063c..dd486da1dd 100644 --- a/MediaBrowser.Providers/Games/GameSystemXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs @@ -1,11 +1,12 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.Games +namespace MediaBrowser.LocalMetadata.Providers { public class GameSystemXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/Games/GameXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs similarity index 90% rename from MediaBrowser.Providers/Games/GameXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs index 6609f9d5e7..681706321b 100644 --- a/MediaBrowser.Providers/Games/GameXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs @@ -1,11 +1,12 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.Games +namespace MediaBrowser.LocalMetadata.Providers { public class GameXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/Movies/MovieXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs similarity index 92% rename from MediaBrowser.Providers/Movies/MovieXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs index cc7293f533..6ba1912a5d 100644 --- a/MediaBrowser.Providers/Movies/MovieXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs @@ -1,13 +1,14 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities.Movies; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities.Movies; +using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.Movies +namespace MediaBrowser.LocalMetadata.Providers { public class MovieXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/Music/MusicVideoXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs similarity index 83% rename from MediaBrowser.Providers/Music/MusicVideoXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs index 93d9031c3d..6289dcb562 100644 --- a/MediaBrowser.Providers/Music/MusicVideoXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs @@ -1,13 +1,12 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.Audio; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Logging; -using MediaBrowser.Providers.Movies; -using System.IO; +using System.IO; using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.Music +namespace MediaBrowser.LocalMetadata.Providers { class MusicVideoXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/People/PersonXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs similarity index 89% rename from MediaBrowser.Providers/People/PersonXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs index b120c4830b..9f27d6c7d6 100644 --- a/MediaBrowser.Providers/People/PersonXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs @@ -1,11 +1,11 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.People +namespace MediaBrowser.LocalMetadata.Providers { public class PersonXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/TV/SeasonXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs similarity index 70% rename from MediaBrowser.Providers/TV/SeasonXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs index 6a41988de1..2320982c3c 100644 --- a/MediaBrowser.Providers/TV/SeasonXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs @@ -1,16 +1,17 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Providers { /// /// Class SeriesProviderFromXml /// - public class SeasonXmlProvider : BaseXmlProvider + public class SeasonXmlProvider : BaseXmlProvider, IHasOrder { private readonly ILogger _logger; @@ -29,6 +30,15 @@ namespace MediaBrowser.Providers.TV { return directoryService.GetFile(Path.Combine(info.Path, "season.xml")); } + + public int Order + { + get + { + // After Xbmc + return 1; + } + } } } diff --git a/MediaBrowser.Providers/TV/SeriesXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs similarity index 70% rename from MediaBrowser.Providers/TV/SeriesXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs index f32afbd968..311c102877 100644 --- a/MediaBrowser.Providers/TV/SeriesXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs @@ -1,16 +1,17 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Providers { /// /// Class SeriesProviderFromXml /// - public class SeriesXmlProvider : BaseXmlProvider + public class SeriesXmlProvider : BaseXmlProvider, IHasOrder { private readonly ILogger _logger; @@ -29,5 +30,14 @@ namespace MediaBrowser.Providers.TV { return directoryService.GetFile(Path.Combine(info.Path, "series.xml")); } + + public int Order + { + get + { + // After Xbmc + return 1; + } + } } } diff --git a/MediaBrowser.Providers/Movies/TrailerXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/TrailerXmlProvider.cs similarity index 86% rename from MediaBrowser.Providers/Movies/TrailerXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/TrailerXmlProvider.cs index d24bdb431b..db3b2fcf00 100644 --- a/MediaBrowser.Providers/Movies/TrailerXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/TrailerXmlProvider.cs @@ -1,13 +1,14 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.Movies +namespace MediaBrowser.LocalMetadata.Providers { public class TrailerXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/Videos/VideoXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs similarity index 86% rename from MediaBrowser.Providers/Videos/VideoXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs index 779f3faa73..25aa61bafb 100644 --- a/MediaBrowser.Providers/Videos/VideoXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs @@ -1,14 +1,14 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using MediaBrowser.Providers.Movies; -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.Videos +namespace MediaBrowser.LocalMetadata.Providers { class VideoXmlProvider : BaseXmlProvider