diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs
index 602acff09c..e119b940fe 100644
--- a/MediaBrowser.Api/Playback/BaseStreamingService.cs
+++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs
@@ -5,7 +5,7 @@ using MediaBrowser.Controller;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.Providers.MediaInfo;
+using MediaBrowser.Controller.MediaInfo;
using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index feb3d90dd7..4422f0036f 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -78,14 +78,6 @@
-
-
-
-
-
-
-
-
@@ -122,7 +114,6 @@
-
@@ -131,17 +122,8 @@
-
+
-
-
-
-
-
-
-
-
-
@@ -166,33 +148,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Code
-
-
- Code
-
-
-
-
@@ -202,10 +159,6 @@
-
-
-
-
diff --git a/MediaBrowser.Controller/MediaInfo/FFMpegManager.cs b/MediaBrowser.Controller/MediaInfo/FFMpegManager.cs
index 91359cd290..4b992fd81f 100644
--- a/MediaBrowser.Controller/MediaInfo/FFMpegManager.cs
+++ b/MediaBrowser.Controller/MediaInfo/FFMpegManager.cs
@@ -2,7 +2,6 @@
using MediaBrowser.Common.MediaInfo;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.Providers.MediaInfo;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
diff --git a/MediaBrowser.Controller/Providers/MediaInfo/MediaEncoderHelpers.cs b/MediaBrowser.Controller/MediaInfo/MediaEncoderHelpers.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/MediaInfo/MediaEncoderHelpers.cs
rename to MediaBrowser.Controller/MediaInfo/MediaEncoderHelpers.cs
index 7ea2a339a8..e20a425aa8 100644
--- a/MediaBrowser.Controller/Providers/MediaInfo/MediaEncoderHelpers.cs
+++ b/MediaBrowser.Controller/MediaInfo/MediaEncoderHelpers.cs
@@ -3,7 +3,7 @@ using MediaBrowser.Common.MediaInfo;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Entities;
-namespace MediaBrowser.Controller.Providers.MediaInfo
+namespace MediaBrowser.Controller.MediaInfo
{
///
/// Class MediaEncoderHelpers
diff --git a/MediaBrowser.Controller/Extensions/XmlExtensions.cs b/MediaBrowser.Providers/Extensions/XmlExtensions.cs
similarity index 99%
rename from MediaBrowser.Controller/Extensions/XmlExtensions.cs
rename to MediaBrowser.Providers/Extensions/XmlExtensions.cs
index ce689e47d1..9d1fd28d83 100644
--- a/MediaBrowser.Controller/Extensions/XmlExtensions.cs
+++ b/MediaBrowser.Providers/Extensions/XmlExtensions.cs
@@ -2,7 +2,7 @@
using System.Globalization;
using System.Xml;
-namespace MediaBrowser.Controller.Extensions
+namespace MediaBrowser.Providers.Extensions
{
///
/// Class XmlExtensions
diff --git a/MediaBrowser.Controller/Providers/FanartBaseProvider.cs b/MediaBrowser.Providers/FanartBaseProvider.cs
similarity index 97%
rename from MediaBrowser.Controller/Providers/FanartBaseProvider.cs
rename to MediaBrowser.Providers/FanartBaseProvider.cs
index f5dff25f67..dcab79717a 100644
--- a/MediaBrowser.Controller/Providers/FanartBaseProvider.cs
+++ b/MediaBrowser.Providers/FanartBaseProvider.cs
@@ -1,9 +1,10 @@
using MediaBrowser.Controller.Configuration;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
using System.Collections.Generic;
using System.Threading;
-namespace MediaBrowser.Controller.Providers
+namespace MediaBrowser.Providers
{
///
/// Class FanartBaseProvider
diff --git a/MediaBrowser.Controller/Providers/FolderProviderFromXml.cs b/MediaBrowser.Providers/FolderProviderFromXml.cs
similarity index 97%
rename from MediaBrowser.Controller/Providers/FolderProviderFromXml.cs
rename to MediaBrowser.Providers/FolderProviderFromXml.cs
index 641a291ff8..95f7d9b73f 100644
--- a/MediaBrowser.Controller/Providers/FolderProviderFromXml.cs
+++ b/MediaBrowser.Providers/FolderProviderFromXml.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using System;
using System.IO;
@@ -7,7 +8,7 @@ using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Model.Logging;
-namespace MediaBrowser.Controller.Providers
+namespace MediaBrowser.Providers
{
///
/// Provides metadata for Folders and all subclasses by parsing folder.xml
diff --git a/MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs b/MediaBrowser.Providers/ImageFromMediaLocationProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs
rename to MediaBrowser.Providers/ImageFromMediaLocationProvider.cs
index 1bd4ce0caa..49dd1bddd8 100644
--- a/MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs
+++ b/MediaBrowser.Providers/ImageFromMediaLocationProvider.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
@@ -9,7 +10,7 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers
+namespace MediaBrowser.Providers
{
///
/// Provides images for all types by looking for standard images - folder, backdrop, logo, etc.
diff --git a/MediaBrowser.Controller/Providers/ImagesByNameProvider.cs b/MediaBrowser.Providers/ImagesByNameProvider.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/ImagesByNameProvider.cs
rename to MediaBrowser.Providers/ImagesByNameProvider.cs
index 20305006e8..a813634714 100644
--- a/MediaBrowser.Controller/Providers/ImagesByNameProvider.cs
+++ b/MediaBrowser.Providers/ImagesByNameProvider.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
using System;
using System.IO;
@@ -9,7 +10,7 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers
+namespace MediaBrowser.Providers
{
///
/// Provides images for generic types by looking for standard images in the IBN
diff --git a/MediaBrowser.Providers/MediaBrowser.Providers.csproj b/MediaBrowser.Providers/MediaBrowser.Providers.csproj
new file mode 100644
index 0000000000..9ea13ca9e4
--- /dev/null
+++ b/MediaBrowser.Providers/MediaBrowser.Providers.csproj
@@ -0,0 +1,119 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}
+ Library
+ Properties
+ MediaBrowser.Providers
+ MediaBrowser.Providers
+ v4.5
+ 512
+ ..\
+ true
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ ..\packages\morelinq.1.0.15631-beta\lib\net35\MoreLinq.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {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.Controller/Providers/MediaInfo/AudioImageProvider.cs b/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/MediaInfo/AudioImageProvider.cs
rename to MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs
index 9fd67f4777..c20a31b7ea 100644
--- a/MediaBrowser.Controller/Providers/MediaInfo/AudioImageProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs
@@ -1,10 +1,12 @@
using System.IO;
using MediaBrowser.Common.IO;
using MediaBrowser.Common.MediaInfo;
+using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
@@ -13,7 +15,7 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.MediaInfo
+namespace MediaBrowser.Providers.MediaInfo
{
///
/// Uses ffmpeg to create video images
diff --git a/MediaBrowser.Controller/Providers/MediaInfo/BaseFFMpegProvider.cs b/MediaBrowser.Providers/MediaInfo/BaseFFMpegProvider.cs
similarity index 96%
rename from MediaBrowser.Controller/Providers/MediaInfo/BaseFFMpegProvider.cs
rename to MediaBrowser.Providers/MediaInfo/BaseFFMpegProvider.cs
index 919c2ae213..98baa44e38 100644
--- a/MediaBrowser.Controller/Providers/MediaInfo/BaseFFMpegProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/BaseFFMpegProvider.cs
@@ -2,12 +2,13 @@
using MediaBrowser.Common.MediaInfo;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.MediaInfo
+namespace MediaBrowser.Providers.MediaInfo
{
///
/// Class BaseFFMpegProvider
diff --git a/MediaBrowser.Controller/Providers/MediaInfo/BaseFFProbeProvider.cs b/MediaBrowser.Providers/MediaInfo/BaseFFProbeProvider.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/MediaInfo/BaseFFProbeProvider.cs
rename to MediaBrowser.Providers/MediaInfo/BaseFFProbeProvider.cs
index 4f40cffa10..05619256cf 100644
--- a/MediaBrowser.Controller/Providers/MediaInfo/BaseFFProbeProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/BaseFFProbeProvider.cs
@@ -1,7 +1,10 @@
using MediaBrowser.Common.IO;
using MediaBrowser.Common.MediaInfo;
+using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.MediaInfo;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
@@ -11,7 +14,7 @@ using System.Globalization;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.MediaInfo
+namespace MediaBrowser.Providers.MediaInfo
{
///
/// Provides a base class for extracting media information through ffprobe
diff --git a/MediaBrowser.Controller/Providers/MediaInfo/FFProbeAudioInfoProvider.cs b/MediaBrowser.Providers/MediaInfo/FFProbeAudioInfoProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/MediaInfo/FFProbeAudioInfoProvider.cs
rename to MediaBrowser.Providers/MediaInfo/FFProbeAudioInfoProvider.cs
index f234611bd5..4cf7c1eb6c 100644
--- a/MediaBrowser.Controller/Providers/MediaInfo/FFProbeAudioInfoProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/FFProbeAudioInfoProvider.cs
@@ -11,7 +11,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading;
-namespace MediaBrowser.Controller.Providers.MediaInfo
+namespace MediaBrowser.Providers.MediaInfo
{
///
/// Extracts audio information using ffprobe
diff --git a/MediaBrowser.Controller/Providers/MediaInfo/FFProbeVideoInfoProvider.cs b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfoProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/MediaInfo/FFProbeVideoInfoProvider.cs
rename to MediaBrowser.Providers/MediaInfo/FFProbeVideoInfoProvider.cs
index d4e5a30c6d..f8f8cdb09d 100644
--- a/MediaBrowser.Controller/Providers/MediaInfo/FFProbeVideoInfoProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfoProvider.cs
@@ -15,7 +15,7 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.MediaInfo
+namespace MediaBrowser.Providers.MediaInfo
{
///
/// Extracts video information using ffprobe
diff --git a/MediaBrowser.Controller/Providers/Movies/FanArtMovieProvider.cs b/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/Movies/FanArtMovieProvider.cs
rename to MediaBrowser.Providers/Movies/FanArtMovieProvider.cs
index f1e6708629..097df336d9 100644
--- a/MediaBrowser.Controller/Providers/Movies/FanArtMovieProvider.cs
+++ b/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs
@@ -5,6 +5,7 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
@@ -15,7 +16,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Xml;
-namespace MediaBrowser.Controller.Providers.Movies
+namespace MediaBrowser.Providers.Movies
{
///
/// Class FanArtMovieProvider
diff --git a/MediaBrowser.Controller/Providers/Movies/FanArtMovieUpdatesPrescanTask.cs b/MediaBrowser.Providers/Movies/FanArtMovieUpdatesPrescanTask.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/Movies/FanArtMovieUpdatesPrescanTask.cs
rename to MediaBrowser.Providers/Movies/FanArtMovieUpdatesPrescanTask.cs
index b8efddfb42..2498f90cdc 100644
--- a/MediaBrowser.Controller/Providers/Movies/FanArtMovieUpdatesPrescanTask.cs
+++ b/MediaBrowser.Providers/Movies/FanArtMovieUpdatesPrescanTask.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Providers.Music;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Net;
@@ -13,8 +14,9 @@ using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Providers.Music;
-namespace MediaBrowser.Controller.Providers.Movies
+namespace MediaBrowser.Providers.Movies
{
class FanArtMovieUpdatesPrescanTask : ILibraryPrescanTask
{
diff --git a/MediaBrowser.Controller/Providers/Movies/MovieDbImagesProvider.cs b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/Movies/MovieDbImagesProvider.cs
rename to MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
index 5a30f447bf..f9173da679 100644
--- a/MediaBrowser.Controller/Providers/Movies/MovieDbImagesProvider.cs
+++ b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
@@ -3,9 +3,9 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
-using MediaBrowser.Model.Net;
using MediaBrowser.Model.Serialization;
using System;
using System.Collections.Generic;
@@ -15,7 +15,7 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.Movies
+namespace MediaBrowser.Providers.Movies
{
///
/// Class MovieDbImagesProvider
diff --git a/MediaBrowser.Controller/Providers/Movies/MovieDbProvider.cs b/MediaBrowser.Providers/Movies/MovieDbProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/Movies/MovieDbProvider.cs
rename to MediaBrowser.Providers/Movies/MovieDbProvider.cs
index 6a9806d846..5e23ca7d65 100644
--- a/MediaBrowser.Controller/Providers/Movies/MovieDbProvider.cs
+++ b/MediaBrowser.Providers/Movies/MovieDbProvider.cs
@@ -3,6 +3,7 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
@@ -17,7 +18,7 @@ using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.Movies
+namespace MediaBrowser.Providers.Movies
{
///
/// Class MovieDbProvider
diff --git a/MediaBrowser.Controller/Providers/Movies/MovieProviderFromJson.cs b/MediaBrowser.Providers/Movies/MovieProviderFromJson.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/Movies/MovieProviderFromJson.cs
rename to MediaBrowser.Providers/Movies/MovieProviderFromJson.cs
index bdd4f88d2c..2732ba3929 100644
--- a/MediaBrowser.Controller/Providers/Movies/MovieProviderFromJson.cs
+++ b/MediaBrowser.Providers/Movies/MovieProviderFromJson.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
@@ -10,7 +11,7 @@ using System.IO;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.Movies
+namespace MediaBrowser.Providers.Movies
{
///
/// Class MovieProviderFromJson
diff --git a/MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs b/MediaBrowser.Providers/Movies/MovieProviderFromXml.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs
rename to MediaBrowser.Providers/Movies/MovieProviderFromXml.cs
index 25fd94138f..a0afaafc4b 100644
--- a/MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs
+++ b/MediaBrowser.Providers/Movies/MovieProviderFromXml.cs
@@ -5,9 +5,10 @@ using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
-namespace MediaBrowser.Controller.Providers.Movies
+namespace MediaBrowser.Providers.Movies
{
///
/// Class MovieProviderFromXml
diff --git a/MediaBrowser.Controller/Providers/Movies/OpenMovieDatabaseProvider.cs b/MediaBrowser.Providers/Movies/OpenMovieDatabaseProvider.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/Movies/OpenMovieDatabaseProvider.cs
rename to MediaBrowser.Providers/Movies/OpenMovieDatabaseProvider.cs
index 855e527bfd..1507cf4279 100644
--- a/MediaBrowser.Controller/Providers/Movies/OpenMovieDatabaseProvider.cs
+++ b/MediaBrowser.Providers/Movies/OpenMovieDatabaseProvider.cs
@@ -3,6 +3,7 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
@@ -11,7 +12,7 @@ using System.Globalization;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.Movies
+namespace MediaBrowser.Providers.Movies
{
public class OpenMovieDatabaseProvider : BaseMetadataProvider
{
diff --git a/MediaBrowser.Controller/Providers/Movies/PersonProviderFromJson.cs b/MediaBrowser.Providers/Movies/PersonProviderFromJson.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/Movies/PersonProviderFromJson.cs
rename to MediaBrowser.Providers/Movies/PersonProviderFromJson.cs
index da53e316e5..9829331ba8 100644
--- a/MediaBrowser.Controller/Providers/Movies/PersonProviderFromJson.cs
+++ b/MediaBrowser.Providers/Movies/PersonProviderFromJson.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
using System;
@@ -7,7 +8,7 @@ using System.IO;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.Movies
+namespace MediaBrowser.Providers.Movies
{
///
/// Class PersonProviderFromJson
diff --git a/MediaBrowser.Controller/Providers/Movies/TmdbPersonProvider.cs b/MediaBrowser.Providers/Movies/TmdbPersonProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/Movies/TmdbPersonProvider.cs
rename to MediaBrowser.Providers/Movies/TmdbPersonProvider.cs
index dd9d8353cc..1b02aec3d2 100644
--- a/MediaBrowser.Controller/Providers/Movies/TmdbPersonProvider.cs
+++ b/MediaBrowser.Providers/Movies/TmdbPersonProvider.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
@@ -13,7 +14,7 @@ using System.Net;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.Movies
+namespace MediaBrowser.Providers.Movies
{
///
/// Class TmdbPersonProvider
diff --git a/MediaBrowser.Controller/Providers/Music/ArtistsPostScanTask.cs b/MediaBrowser.Providers/Music/ArtistsPostScanTask.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/Music/ArtistsPostScanTask.cs
rename to MediaBrowser.Providers/Music/ArtistsPostScanTask.cs
index 67bb35b63a..d20fe29cf0 100644
--- a/MediaBrowser.Controller/Providers/Music/ArtistsPostScanTask.cs
+++ b/MediaBrowser.Providers/Music/ArtistsPostScanTask.cs
@@ -10,7 +10,7 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.Music
+namespace MediaBrowser.Providers.Music
{
///
/// Class ArtistsPostScanTask
diff --git a/MediaBrowser.Controller/Providers/Music/FanArtAlbumProvider.cs b/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/Music/FanArtAlbumProvider.cs
rename to MediaBrowser.Providers/Music/FanArtAlbumProvider.cs
index 48a114704c..c424c13e59 100644
--- a/MediaBrowser.Controller/Providers/Music/FanArtAlbumProvider.cs
+++ b/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs
@@ -3,6 +3,7 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
@@ -12,7 +13,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Xml;
-namespace MediaBrowser.Controller.Providers.Music
+namespace MediaBrowser.Providers.Music
{
///
/// Class FanArtAlbumProvider
diff --git a/MediaBrowser.Controller/Providers/Music/FanArtArtistByNameProvider.cs b/MediaBrowser.Providers/Music/FanArtArtistByNameProvider.cs
similarity index 95%
rename from MediaBrowser.Controller/Providers/Music/FanArtArtistByNameProvider.cs
rename to MediaBrowser.Providers/Music/FanArtArtistByNameProvider.cs
index 58200a458c..f0dd460e6c 100644
--- a/MediaBrowser.Controller/Providers/Music/FanArtArtistByNameProvider.cs
+++ b/MediaBrowser.Providers/Music/FanArtArtistByNameProvider.cs
@@ -2,9 +2,10 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
-namespace MediaBrowser.Controller.Providers.Music
+namespace MediaBrowser.Providers.Music
{
///
/// Class FanArtArtistByNameProvider
diff --git a/MediaBrowser.Controller/Providers/Music/FanArtArtistProvider.cs b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/Music/FanArtArtistProvider.cs
rename to MediaBrowser.Providers/Music/FanArtArtistProvider.cs
index fc9500b401..e1f52d5441 100644
--- a/MediaBrowser.Controller/Providers/Music/FanArtArtistProvider.cs
+++ b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs
@@ -5,6 +5,7 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
@@ -16,7 +17,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Xml;
-namespace MediaBrowser.Controller.Providers.Music
+namespace MediaBrowser.Providers.Music
{
///
/// Class FanArtArtistProvider
diff --git a/MediaBrowser.Controller/Providers/Music/FanArtUpdatesPrescanTask.cs b/MediaBrowser.Providers/Music/FanArtUpdatesPrescanTask.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/Music/FanArtUpdatesPrescanTask.cs
rename to MediaBrowser.Providers/Music/FanArtUpdatesPrescanTask.cs
index 8c15bd18ae..37324db501 100644
--- a/MediaBrowser.Controller/Providers/Music/FanArtUpdatesPrescanTask.cs
+++ b/MediaBrowser.Providers/Music/FanArtUpdatesPrescanTask.cs
@@ -1,6 +1,8 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
+using MediaBrowser.Controller.Providers.Music;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Net;
using MediaBrowser.Model.Serialization;
@@ -13,7 +15,7 @@ using System.Text;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.Music
+namespace MediaBrowser.Providers.Music
{
class FanArtUpdatesPrescanTask : ILibraryPrescanTask
{
diff --git a/MediaBrowser.Controller/Providers/Music/LastfmAlbumProvider.cs b/MediaBrowser.Providers/Music/LastfmAlbumProvider.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/Music/LastfmAlbumProvider.cs
rename to MediaBrowser.Providers/Music/LastfmAlbumProvider.cs
index 77cd2033d1..b48a2c9e37 100644
--- a/MediaBrowser.Controller/Providers/Music/LastfmAlbumProvider.cs
+++ b/MediaBrowser.Providers/Music/LastfmAlbumProvider.cs
@@ -3,17 +3,18 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
-using MoreLinq;
using System;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
+using MoreLinq;
-namespace MediaBrowser.Controller.Providers.Music
+namespace MediaBrowser.Providers.Music
{
public class LastfmAlbumProvider : LastfmBaseProvider
{
diff --git a/MediaBrowser.Controller/Providers/Music/LastfmArtistByNameProvider.cs b/MediaBrowser.Providers/Music/LastfmArtistByNameProvider.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/Music/LastfmArtistByNameProvider.cs
rename to MediaBrowser.Providers/Music/LastfmArtistByNameProvider.cs
index c64a7fc998..7eb28b9b92 100644
--- a/MediaBrowser.Controller/Providers/Music/LastfmArtistByNameProvider.cs
+++ b/MediaBrowser.Providers/Music/LastfmArtistByNameProvider.cs
@@ -3,6 +3,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
@@ -11,7 +12,7 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.Music
+namespace MediaBrowser.Providers.Music
{
///
/// Class LastfmArtistByNameProvider
diff --git a/MediaBrowser.Controller/Providers/Music/LastfmArtistProvider.cs b/MediaBrowser.Providers/Music/LastfmArtistProvider.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/Music/LastfmArtistProvider.cs
rename to MediaBrowser.Providers/Music/LastfmArtistProvider.cs
index 38475317ef..aff6f1df9d 100644
--- a/MediaBrowser.Controller/Providers/Music/LastfmArtistProvider.cs
+++ b/MediaBrowser.Providers/Music/LastfmArtistProvider.cs
@@ -3,6 +3,8 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
+using MediaBrowser.Controller.Providers.Music;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Net;
@@ -17,7 +19,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Xml;
-namespace MediaBrowser.Controller.Providers.Music
+namespace MediaBrowser.Providers.Music
{
///
/// Class LastfmArtistProvider
diff --git a/MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs b/MediaBrowser.Providers/Music/LastfmBaseProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs
rename to MediaBrowser.Providers/Music/LastfmBaseProvider.cs
index 54fe329597..b90dc94539 100644
--- a/MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs
+++ b/MediaBrowser.Providers/Music/LastfmBaseProvider.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
@@ -10,7 +11,7 @@ using System.Net;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.Providers.Music
+namespace MediaBrowser.Providers.Music
{
///
/// Class MovieDbProvider
diff --git a/MediaBrowser.Controller/Providers/Music/LastfmHelper.cs b/MediaBrowser.Providers/Music/LastfmHelper.cs
similarity index 96%
rename from MediaBrowser.Controller/Providers/Music/LastfmHelper.cs
rename to MediaBrowser.Providers/Music/LastfmHelper.cs
index ca9f8bc719..6c0ba54311 100644
--- a/MediaBrowser.Controller/Providers/Music/LastfmHelper.cs
+++ b/MediaBrowser.Providers/Music/LastfmHelper.cs
@@ -1,10 +1,11 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
+using MediaBrowser.Controller.Providers.Music;
using MediaBrowser.Model.Entities;
using System;
using System.Linq;
-namespace MediaBrowser.Controller.Providers.Music
+namespace MediaBrowser.Providers.Music
{
public static class LastfmHelper
{
diff --git a/MediaBrowser.Controller/Providers/Music/MusicArtistProviderFromJson.cs b/MediaBrowser.Providers/Music/MusicArtistProviderFromJson.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/Music/MusicArtistProviderFromJson.cs
rename to MediaBrowser.Providers/Music/MusicArtistProviderFromJson.cs
index e3df46ed2e..687b8410e2 100644
--- a/MediaBrowser.Controller/Providers/Music/MusicArtistProviderFromJson.cs
+++ b/MediaBrowser.Providers/Music/MusicArtistProviderFromJson.cs
@@ -8,6 +8,7 @@ using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Providers.Music;
namespace MediaBrowser.Controller.Providers.Music
{
diff --git a/MediaBrowser.Providers/Properties/AssemblyInfo.cs b/MediaBrowser.Providers/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..d69df15810
--- /dev/null
+++ b/MediaBrowser.Providers/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.Providers")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("MediaBrowser.Providers")]
+[assembly: AssemblyCopyright("Copyright © 2013")]
+[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("1b12f094-879f-4e02-ac92-17b72069feb8")]
+
+// 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.Controller/Providers/TV/EpisodeImageFromMediaLocationProvider.cs b/MediaBrowser.Providers/TV/EpisodeImageFromMediaLocationProvider.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/TV/EpisodeImageFromMediaLocationProvider.cs
rename to MediaBrowser.Providers/TV/EpisodeImageFromMediaLocationProvider.cs
index 7eaf95a084..3c146f0279 100644
--- a/MediaBrowser.Controller/Providers/TV/EpisodeImageFromMediaLocationProvider.cs
+++ b/MediaBrowser.Providers/TV/EpisodeImageFromMediaLocationProvider.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using System;
using System.IO;
@@ -8,7 +9,7 @@ using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Model.Logging;
-namespace MediaBrowser.Controller.Providers.TV
+namespace MediaBrowser.Providers.TV
{
///
/// Class EpisodeImageFromMediaLocationProvider
diff --git a/MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs b/MediaBrowser.Providers/TV/EpisodeProviderFromXml.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs
rename to MediaBrowser.Providers/TV/EpisodeProviderFromXml.cs
index 0e7f1e66ef..eb549759a8 100644
--- a/MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs
+++ b/MediaBrowser.Providers/TV/EpisodeProviderFromXml.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using System;
using System.IO;
@@ -8,7 +9,7 @@ using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Model.Logging;
-namespace MediaBrowser.Controller.Providers.TV
+namespace MediaBrowser.Providers.TV
{
///
/// Class EpisodeProviderFromXml
diff --git a/MediaBrowser.Controller/Providers/TV/EpisodeXmlParser.cs b/MediaBrowser.Providers/TV/EpisodeXmlParser.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/TV/EpisodeXmlParser.cs
rename to MediaBrowser.Providers/TV/EpisodeXmlParser.cs
index 7ace1047e8..a64006a93b 100644
--- a/MediaBrowser.Controller/Providers/TV/EpisodeXmlParser.cs
+++ b/MediaBrowser.Providers/TV/EpisodeXmlParser.cs
@@ -1,9 +1,10 @@
using MediaBrowser.Controller.Entities.TV;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
using System.IO;
using System.Xml;
-namespace MediaBrowser.Controller.Providers.TV
+namespace MediaBrowser.Providers.TV
{
///
/// Class EpisodeXmlParser
diff --git a/MediaBrowser.Controller/Providers/TV/FanArtSeasonProvider.cs b/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/TV/FanArtSeasonProvider.cs
rename to MediaBrowser.Providers/TV/FanArtSeasonProvider.cs
index 167f855a44..8f86789cfb 100644
--- a/MediaBrowser.Controller/Providers/TV/FanArtSeasonProvider.cs
+++ b/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
@@ -10,7 +11,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Xml;
-namespace MediaBrowser.Controller.Providers.TV
+namespace MediaBrowser.Providers.TV
{
///
/// Class FanArtSeasonProvider
diff --git a/MediaBrowser.Controller/Providers/TV/FanArtTVProvider.cs b/MediaBrowser.Providers/TV/FanArtTVProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/TV/FanArtTVProvider.cs
rename to MediaBrowser.Providers/TV/FanArtTVProvider.cs
index 164c5d0c96..ea0a1c1289 100644
--- a/MediaBrowser.Controller/Providers/TV/FanArtTVProvider.cs
+++ b/MediaBrowser.Providers/TV/FanArtTVProvider.cs
@@ -5,6 +5,7 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
@@ -15,7 +16,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Xml;
-namespace MediaBrowser.Controller.Providers.TV
+namespace MediaBrowser.Providers.TV
{
class FanArtTvProvider : FanartBaseProvider
{
diff --git a/MediaBrowser.Controller/Providers/TV/FanArtTvUpdatesPrescanTask.cs b/MediaBrowser.Providers/TV/FanArtTvUpdatesPrescanTask.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/TV/FanArtTvUpdatesPrescanTask.cs
rename to MediaBrowser.Providers/TV/FanArtTvUpdatesPrescanTask.cs
index 84de5140e9..6bd905c853 100644
--- a/MediaBrowser.Controller/Providers/TV/FanArtTvUpdatesPrescanTask.cs
+++ b/MediaBrowser.Providers/TV/FanArtTvUpdatesPrescanTask.cs
@@ -9,12 +9,14 @@ using System.Threading.Tasks;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Providers.Music;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Net;
using MediaBrowser.Model.Serialization;
+using MediaBrowser.Providers.Music;
-namespace MediaBrowser.Controller.Providers.TV
+namespace MediaBrowser.Providers.TV
{
class FanArtTvUpdatesPrescanTask : ILibraryPrescanTask
{
diff --git a/MediaBrowser.Controller/Providers/TV/RemoteEpisodeProvider.cs b/MediaBrowser.Providers/TV/RemoteEpisodeProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/TV/RemoteEpisodeProvider.cs
rename to MediaBrowser.Providers/TV/RemoteEpisodeProvider.cs
index 918930962e..5044c12f1b 100644
--- a/MediaBrowser.Controller/Providers/TV/RemoteEpisodeProvider.cs
+++ b/MediaBrowser.Providers/TV/RemoteEpisodeProvider.cs
@@ -3,8 +3,8 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
-using MediaBrowser.Controller.Extensions;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Net;
@@ -14,8 +14,9 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Xml;
+using MediaBrowser.Providers.Extensions;
-namespace MediaBrowser.Controller.Providers.TV
+namespace MediaBrowser.Providers.TV
{
///
diff --git a/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs b/MediaBrowser.Providers/TV/RemoteSeasonProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs
rename to MediaBrowser.Providers/TV/RemoteSeasonProvider.cs
index 5baaf9cd58..6e813ce82c 100644
--- a/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs
+++ b/MediaBrowser.Providers/TV/RemoteSeasonProvider.cs
@@ -4,6 +4,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
@@ -13,7 +14,7 @@ using System.Threading.Tasks;
using System.Xml;
using MediaBrowser.Model.Net;
-namespace MediaBrowser.Controller.Providers.TV
+namespace MediaBrowser.Providers.TV
{
///
/// Class RemoteSeasonProvider
diff --git a/MediaBrowser.Controller/Providers/TV/RemoteSeriesProvider.cs b/MediaBrowser.Providers/TV/RemoteSeriesProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/TV/RemoteSeriesProvider.cs
rename to MediaBrowser.Providers/TV/RemoteSeriesProvider.cs
index aaa76a20ce..92508f43db 100644
--- a/MediaBrowser.Controller/Providers/TV/RemoteSeriesProvider.cs
+++ b/MediaBrowser.Providers/TV/RemoteSeriesProvider.cs
@@ -5,12 +5,11 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
-using MediaBrowser.Controller.Extensions;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
-using MediaBrowser.Model.Net;
using System;
using System.Globalization;
using System.IO;
@@ -20,8 +19,9 @@ using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Xml;
+using MediaBrowser.Providers.Extensions;
-namespace MediaBrowser.Controller.Providers.TV
+namespace MediaBrowser.Providers.TV
{
///
/// Class RemoteSeriesProvider
diff --git a/MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs b/MediaBrowser.Providers/TV/SeriesProviderFromXml.cs
similarity index 97%
rename from MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs
rename to MediaBrowser.Providers/TV/SeriesProviderFromXml.cs
index 7867930697..f1e1885851 100644
--- a/MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs
+++ b/MediaBrowser.Providers/TV/SeriesProviderFromXml.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using System;
using System.IO;
@@ -8,7 +9,7 @@ using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Model.Logging;
-namespace MediaBrowser.Controller.Providers.TV
+namespace MediaBrowser.Providers.TV
{
///
/// Class SeriesProviderFromXml
diff --git a/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs b/MediaBrowser.Providers/TV/SeriesXmlParser.cs
similarity index 97%
rename from MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs
rename to MediaBrowser.Providers/TV/SeriesXmlParser.cs
index c03e2a7f5e..8ed25bc7e8 100644
--- a/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs
+++ b/MediaBrowser.Providers/TV/SeriesXmlParser.cs
@@ -1,11 +1,12 @@
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.Controller.Providers.TV
+namespace MediaBrowser.Providers.TV
{
///
/// Class SeriesXmlParser
diff --git a/MediaBrowser.Controller/Providers/TV/TvdbPrescanTask.cs b/MediaBrowser.Providers/TV/TvdbPrescanTask.cs
similarity index 98%
rename from MediaBrowser.Controller/Providers/TV/TvdbPrescanTask.cs
rename to MediaBrowser.Providers/TV/TvdbPrescanTask.cs
index dbd45245f9..913620f126 100644
--- a/MediaBrowser.Controller/Providers/TV/TvdbPrescanTask.cs
+++ b/MediaBrowser.Providers/TV/TvdbPrescanTask.cs
@@ -1,7 +1,5 @@
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Net;
+using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
-using MediaBrowser.Controller.Extensions;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Net;
@@ -13,8 +11,9 @@ using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Xml;
+using MediaBrowser.Providers.Extensions;
-namespace MediaBrowser.Controller.Providers.TV
+namespace MediaBrowser.Providers.TV
{
///
/// Class TvdbPrescanTask
diff --git a/MediaBrowser.Controller/Providers/TV/TvdbSeriesImageProvider.cs b/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs
similarity index 99%
rename from MediaBrowser.Controller/Providers/TV/TvdbSeriesImageProvider.cs
rename to MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs
index 68294a17b9..93f28075d9 100644
--- a/MediaBrowser.Controller/Providers/TV/TvdbSeriesImageProvider.cs
+++ b/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs
@@ -4,6 +4,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
@@ -13,7 +14,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Xml;
-namespace MediaBrowser.Controller.Providers.TV
+namespace MediaBrowser.Providers.TV
{
public class TvdbSeriesImageProvider : BaseMetadataProvider
{
diff --git a/MediaBrowser.Providers/packages.config b/MediaBrowser.Providers/packages.config
new file mode 100644
index 0000000000..44996f0e82
--- /dev/null
+++ b/MediaBrowser.Providers/packages.config
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs
index ab5b6a58ad..f54c78f356 100644
--- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs
+++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs
@@ -3,7 +3,6 @@ using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.Providers.Movies;
using MediaBrowser.Controller.Resolvers;
using MediaBrowser.Model.Entities;
using System;
@@ -185,7 +184,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies
// If we already know it's a movie, we can stop looping
if (!isKnownMovie.HasValue)
{
- isKnownMovie = args.ContainsMetaFileByName("movie.xml") || args.ContainsMetaFileByName(MovieDbProvider.LocalMetaFileName) || args.Path.IndexOf("[tmdbid", StringComparison.OrdinalIgnoreCase) != -1;
+ isKnownMovie = args.ContainsMetaFileByName("movie.xml") || args.ContainsMetaFileByName("tmdb3.json") || args.Path.IndexOf("[tmdbid", StringComparison.OrdinalIgnoreCase) != -1;
}
if (isKnownMovie.Value)
diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs
index 2233f6fdf2..48426585d3 100644
--- a/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs
+++ b/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs
@@ -5,8 +5,8 @@ using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.MediaInfo;
using MediaBrowser.Controller.Persistence;
-using MediaBrowser.Controller.Providers.MediaInfo;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MoreLinq;
diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs
index 7342bb6082..6f6d8e8c71 100644
--- a/MediaBrowser.ServerApplication/ApplicationHost.cs
+++ b/MediaBrowser.ServerApplication/ApplicationHost.cs
@@ -29,6 +29,7 @@ using MediaBrowser.Model.IO;
using MediaBrowser.Model.MediaInfo;
using MediaBrowser.Model.System;
using MediaBrowser.Model.Updates;
+using MediaBrowser.Providers;
using MediaBrowser.Server.Implementations;
using MediaBrowser.Server.Implementations.BdInfo;
using MediaBrowser.Server.Implementations.Configuration;
@@ -509,6 +510,9 @@ namespace MediaBrowser.ServerApplication
// Include composable parts in the Controller assembly
yield return typeof(Kernel).Assembly;
+ // Include composable parts in the Providers assembly
+ yield return typeof(ImagesByNameProvider).Assembly;
+
// Common implementations
yield return typeof(TaskManager).Assembly;
diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
index fd2310b395..96d2aa00f9 100644
--- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
+++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
@@ -296,6 +296,10 @@
{7eeeb4bb-f3e8-48fc-b4c5-70f0fff8329b}
MediaBrowser.Model
+
+ {442b5058-dcaf-4263-bb6a-f21e31120a1b}
+ MediaBrowser.Providers
+
{2e781478-814d-4a48-9d80-bff206441a65}
MediaBrowser.Server.Implementations
diff --git a/MediaBrowser.sln b/MediaBrowser.sln
index ea09b3fae4..e6a61c9de1 100644
--- a/MediaBrowser.sln
+++ b/MediaBrowser.sln
@@ -35,6 +35,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Model.net35",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Tests", "MediaBrowser.Tests\MediaBrowser.Tests.csproj", "{E22BFD35-0FCD-4A85-978A-C22DCD73A081}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Providers", "MediaBrowser.Providers\MediaBrowser.Providers.csproj", "{442B5058-DCAF-4263-BB6A-F21E31120A1B}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -201,8 +203,25 @@ Global
{E22BFD35-0FCD-4A85-978A-C22DCD73A081}.Release|Win32.ActiveCfg = Release|Any CPU
{E22BFD35-0FCD-4A85-978A-C22DCD73A081}.Release|x64.ActiveCfg = Release|Any CPU
{E22BFD35-0FCD-4A85-978A-C22DCD73A081}.Release|x86.ActiveCfg = Release|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Debug|Win32.ActiveCfg = Debug|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Release|Win32.ActiveCfg = Release|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Release|x64.ActiveCfg = Release|Any CPU
+ {442B5058-DCAF-4263-BB6A-F21E31120A1B}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(Performance) = preSolution
+ HasPerformanceSessions = true
+ EndGlobalSection
EndGlobal