diff options
| -rw-r--r-- | Emby.Server.Implementations/Activity/ActivityManager.cs (renamed from MediaBrowser.Server.Implementations/Activity/ActivityManager.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Dto/DtoService.cs (renamed from MediaBrowser.Server.Implementations/Dto/DtoService.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Emby.Server.Implementations.csproj | 99 | ||||
| -rw-r--r-- | Emby.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs (renamed from MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs) | 27 | ||||
| -rw-r--r-- | Emby.Server.Implementations/FileOrganization/Extensions.cs (renamed from MediaBrowser.Server.Implementations/FileOrganization/Extensions.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/FileOrganization/FileOrganizationNotifier.cs (renamed from MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationNotifier.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/FileOrganization/FileOrganizationService.cs (renamed from MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/FileOrganization/NameUtils.cs (renamed from MediaBrowser.Server.Implementations/FileOrganization/NameUtils.cs) | 21 | ||||
| -rw-r--r-- | Emby.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs (renamed from MediaBrowser.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/FileOrganization/TvFolderOrganizer.cs (renamed from MediaBrowser.Server.Implementations/FileOrganization/TvFolderOrganizer.cs) | 4 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/CoreResolutionIgnoreRule.cs (renamed from MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/LibraryManager.cs (renamed from MediaBrowser.Server.Implementations/Library/LibraryManager.cs) | 55 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/LocalTrailerPostScanTask.cs (renamed from MediaBrowser.Server.Implementations/Library/LocalTrailerPostScanTask.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/MediaSourceManager.cs (renamed from MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs) | 11 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/MusicManager.cs (renamed from MediaBrowser.Server.Implementations/Library/MusicManager.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/PathExtensions.cs (renamed from MediaBrowser.Server.Implementations/Library/PathExtensions.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/ResolverHelper.cs (renamed from MediaBrowser.Server.Implementations/Library/ResolverHelper.cs) | 4 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs) | 8 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs) | 4 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs) | 8 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/FolderResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/ItemResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/ItemResolver.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs) | 4 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/PhotoAlbumResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/PhotoAlbumResolver.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/PhotoResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/PhotoResolver.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/PlaylistResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/PlaylistResolver.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/SpecialFolderResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/SpecialFolderResolver.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/TV/EpisodeResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/TV/EpisodeResolver.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs) | 6 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/VideoResolver.cs (renamed from MediaBrowser.Server.Implementations/Library/Resolvers/VideoResolver.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/SearchEngine.cs (renamed from MediaBrowser.Server.Implementations/Library/SearchEngine.cs) | 9 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/UserViewManager.cs (renamed from MediaBrowser.Server.Implementations/Library/UserViewManager.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Validators/ArtistsPostScanTask.cs (renamed from MediaBrowser.Server.Implementations/Library/Validators/ArtistsPostScanTask.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs (renamed from MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs (renamed from MediaBrowser.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Validators/GameGenresValidator.cs (renamed from MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Validators/GenresPostScanTask.cs (renamed from MediaBrowser.Server.Implementations/Library/Validators/GenresPostScanTask.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Validators/GenresValidator.cs (renamed from MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs (renamed from MediaBrowser.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Validators/MusicGenresValidator.cs (renamed from MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Validators/PeopleValidator.cs (renamed from MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Validators/StudiosPostScanTask.cs (renamed from MediaBrowser.Server.Implementations/Library/Validators/StudiosPostScanTask.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Validators/StudiosValidator.cs (renamed from MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Validators/YearsPostScanTask.cs (renamed from MediaBrowser.Server.Implementations/Library/Validators/YearsPostScanTask.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Logging/PatternsLogger.cs | 63 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs (renamed from MediaBrowser.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs) | 9 | ||||
| -rw-r--r-- | Emby.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs (renamed from MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs) | 4 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/AirTimeComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/AirTimeComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/AiredEpisodeOrderComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/AiredEpisodeOrderComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/AlbumArtistComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/AlbumArtistComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/AlbumComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/AlbumComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/AlphanumComparator.cs (renamed from MediaBrowser.Server.Implementations/Sorting/AlphanumComparator.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/ArtistComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/ArtistComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/BudgetComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/BudgetComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/CommunityRatingComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/CommunityRatingComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/CriticRatingComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/CriticRatingComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/DateCreatedComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/DateCreatedComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/DateLastMediaAddedComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/DateLastMediaAddedComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/DatePlayedComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/DatePlayedComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/GameSystemComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/GameSystemComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/IsFolderComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/IsFolderComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/IsPlayedComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/IsPlayedComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/IsUnplayedComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/IsUnplayedComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/MetascoreComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/MetascoreComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/NameComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/NameComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/OfficialRatingComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/OfficialRatingComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/PlayCountComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/PlayCountComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/PlayersComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/PlayersComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/PremiereDateComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/PremiereDateComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/ProductionYearComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/ProductionYearComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/RandomComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/RandomComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/RevenueComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/RevenueComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/RuntimeComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/RuntimeComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/SeriesSortNameComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/SeriesSortNameComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/SortNameComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/SortNameComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/StartDateComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/StartDateComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Sorting/StudioComparer.cs (renamed from MediaBrowser.Server.Implementations/Sorting/StudioComparer.cs) | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/packages.config | 5 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/IO/FileRefresher.cs | 22 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs | 9 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs | 45 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj | 79 | ||||
| -rw-r--r-- | MediaBrowser.Server.Startup.Common/ApplicationHost.cs | 11 | ||||
| -rw-r--r-- | MediaBrowser.Server.Startup.Common/Migrations/DbMigration.cs | 1 |
88 files changed, 357 insertions, 281 deletions
diff --git a/MediaBrowser.Server.Implementations/Activity/ActivityManager.cs b/Emby.Server.Implementations/Activity/ActivityManager.cs index 2af9395c3..b6095f082 100644 --- a/MediaBrowser.Server.Implementations/Activity/ActivityManager.cs +++ b/Emby.Server.Implementations/Activity/ActivityManager.cs @@ -8,7 +8,7 @@ using System; using System.Linq; using System.Threading.Tasks; -namespace MediaBrowser.Server.Implementations.Activity +namespace Emby.Server.Implementations.Activity { public class ActivityManager : IActivityManager { diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/Emby.Server.Implementations/Dto/DtoService.cs index a06656b21..85549439b 100644 --- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs +++ b/Emby.Server.Implementations/Dto/DtoService.cs @@ -29,7 +29,7 @@ using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; using MediaBrowser.Model.Extensions; -namespace MediaBrowser.Server.Implementations.Dto +namespace Emby.Server.Implementations.Dto { public class DtoService : IDtoService { diff --git a/Emby.Server.Implementations/Emby.Server.Implementations.csproj b/Emby.Server.Implementations/Emby.Server.Implementations.csproj index af093d53f..11b3393c8 100644 --- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj +++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj @@ -13,7 +13,7 @@ <DefaultLanguage>en-US</DefaultLanguage> <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <TargetFrameworkProfile>Profile75</TargetFrameworkProfile> + <TargetFrameworkProfile>Profile7</TargetFrameworkProfile> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> @@ -52,6 +52,7 @@ <Compile Include="..\SharedVersion.cs"> <Link>Properties\SharedVersion.cs</Link> </Compile> + <Compile Include="Activity\ActivityManager.cs" /> <Compile Include="Branding\BrandingConfigurationFactory.cs" /> <Compile Include="Channels\ChannelConfigurations.cs" /> <Compile Include="Channels\ChannelDynamicMediaSourceProvider.cs" /> @@ -60,18 +61,112 @@ <Compile Include="Channels\ChannelPostScanTask.cs" /> <Compile Include="Channels\RefreshChannelsScheduledTask.cs" /> <Compile Include="Collections\CollectionManager.cs" /> + <Compile Include="Dto\DtoService.cs" /> + <Compile Include="FileOrganization\EpisodeFileOrganizer.cs" /> + <Compile Include="FileOrganization\Extensions.cs" /> + <Compile Include="FileOrganization\FileOrganizationNotifier.cs" /> + <Compile Include="FileOrganization\FileOrganizationService.cs" /> + <Compile Include="FileOrganization\NameUtils.cs" /> + <Compile Include="FileOrganization\OrganizerScheduledTask.cs" /> + <Compile Include="FileOrganization\TvFolderOrganizer.cs" /> <Compile Include="Intros\DefaultIntroProvider.cs" /> + <Compile Include="Library\CoreResolutionIgnoreRule.cs" /> + <Compile Include="Library\LibraryManager.cs" /> + <Compile Include="Library\LocalTrailerPostScanTask.cs" /> + <Compile Include="Library\MediaSourceManager.cs" /> + <Compile Include="Library\MusicManager.cs" /> + <Compile Include="Library\PathExtensions.cs" /> + <Compile Include="Library\ResolverHelper.cs" /> + <Compile Include="Library\Resolvers\Audio\AudioResolver.cs" /> + <Compile Include="Library\Resolvers\Audio\MusicAlbumResolver.cs" /> + <Compile Include="Library\Resolvers\Audio\MusicArtistResolver.cs" /> + <Compile Include="Library\Resolvers\BaseVideoResolver.cs" /> + <Compile Include="Library\Resolvers\FolderResolver.cs" /> + <Compile Include="Library\Resolvers\ItemResolver.cs" /> + <Compile Include="Library\Resolvers\Movies\BoxSetResolver.cs" /> + <Compile Include="Library\Resolvers\Movies\MovieResolver.cs" /> + <Compile Include="Library\Resolvers\PhotoAlbumResolver.cs" /> + <Compile Include="Library\Resolvers\PhotoResolver.cs" /> + <Compile Include="Library\Resolvers\PlaylistResolver.cs" /> + <Compile Include="Library\Resolvers\SpecialFolderResolver.cs" /> + <Compile Include="Library\Resolvers\TV\EpisodeResolver.cs" /> + <Compile Include="Library\Resolvers\TV\SeasonResolver.cs" /> + <Compile Include="Library\Resolvers\TV\SeriesResolver.cs" /> + <Compile Include="Library\Resolvers\VideoResolver.cs" /> + <Compile Include="Library\SearchEngine.cs" /> + <Compile Include="Library\UserViewManager.cs" /> + <Compile Include="Library\Validators\ArtistsPostScanTask.cs" /> + <Compile Include="Library\Validators\ArtistsValidator.cs" /> + <Compile Include="Library\Validators\GameGenresPostScanTask.cs" /> + <Compile Include="Library\Validators\GameGenresValidator.cs" /> + <Compile Include="Library\Validators\GenresPostScanTask.cs" /> + <Compile Include="Library\Validators\GenresValidator.cs" /> + <Compile Include="Library\Validators\MusicGenresPostScanTask.cs" /> + <Compile Include="Library\Validators\MusicGenresValidator.cs" /> + <Compile Include="Library\Validators\PeopleValidator.cs" /> + <Compile Include="Library\Validators\StudiosPostScanTask.cs" /> + <Compile Include="Library\Validators\StudiosValidator.cs" /> + <Compile Include="Library\Validators\YearsPostScanTask.cs" /> + <Compile Include="Logging\PatternsLogger.cs" /> <Compile Include="News\NewsService.cs" /> + <Compile Include="Persistence\CleanDatabaseScheduledTask.cs" /> <Compile Include="Playlists\PlaylistManager.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="ScheduledTasks\ChapterImagesTask.cs" /> <Compile Include="ScheduledTasks\PeopleValidationTask.cs" /> <Compile Include="ScheduledTasks\PluginUpdateTask.cs" /> <Compile Include="ScheduledTasks\RefreshIntrosTask.cs" /> + <Compile Include="ScheduledTasks\RefreshMediaLibraryTask.cs" /> <Compile Include="ScheduledTasks\SystemUpdateTask.cs" /> + <Compile Include="Sorting\AiredEpisodeOrderComparer.cs" /> + <Compile Include="Sorting\AirTimeComparer.cs" /> + <Compile Include="Sorting\AlbumArtistComparer.cs" /> + <Compile Include="Sorting\AlbumComparer.cs" /> + <Compile Include="Sorting\AlphanumComparator.cs" /> + <Compile Include="Sorting\ArtistComparer.cs" /> + <Compile Include="Sorting\BudgetComparer.cs" /> + <Compile Include="Sorting\CommunityRatingComparer.cs" /> + <Compile Include="Sorting\CriticRatingComparer.cs" /> + <Compile Include="Sorting\DateCreatedComparer.cs" /> + <Compile Include="Sorting\DateLastMediaAddedComparer.cs" /> + <Compile Include="Sorting\DatePlayedComparer.cs" /> + <Compile Include="Sorting\GameSystemComparer.cs" /> + <Compile Include="Sorting\IsFavoriteOrLikeComparer.cs" /> + <Compile Include="Sorting\IsFolderComparer.cs" /> + <Compile Include="Sorting\IsPlayedComparer.cs" /> + <Compile Include="Sorting\IsUnplayedComparer.cs" /> + <Compile Include="Sorting\MetascoreComparer.cs" /> + <Compile Include="Sorting\NameComparer.cs" /> + <Compile Include="Sorting\OfficialRatingComparer.cs" /> + <Compile Include="Sorting\PlayCountComparer.cs" /> + <Compile Include="Sorting\PlayersComparer.cs" /> + <Compile Include="Sorting\PremiereDateComparer.cs" /> + <Compile Include="Sorting\ProductionYearComparer.cs" /> + <Compile Include="Sorting\RandomComparer.cs" /> + <Compile Include="Sorting\RevenueComparer.cs" /> + <Compile Include="Sorting\RuntimeComparer.cs" /> + <Compile Include="Sorting\SeriesSortNameComparer.cs" /> + <Compile Include="Sorting\SortNameComparer.cs" /> + <Compile Include="Sorting\StartDateComparer.cs" /> + <Compile Include="Sorting\StudioComparer.cs" /> <Compile Include="Updates\InstallationManager.cs" /> </ItemGroup> - <ItemGroup /> + <ItemGroup> + <Reference Include="MediaBrowser.Naming, Version=1.0.6146.28476, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\MediaBrowser.Naming.1.0.0.57\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="Patterns.Logging, Version=1.0.6149.1756, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Patterns.Logging.1.0.0.4\lib\portable-net45+dnxcore50+sl4+wp71+win8+wpa81\Patterns.Logging.dll</HintPath> + <Private>True</Private> + </Reference> + </ItemGroup> + <ItemGroup> + <None Include="packages.config" /> + </ItemGroup> + <ItemGroup> + <Folder Include="IO\" /> + </ItemGroup> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. diff --git a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs b/Emby.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs index 19592bc4e..3f4ede478 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs +++ b/Emby.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs @@ -7,8 +7,6 @@ using MediaBrowser.Model.Entities; using MediaBrowser.Model.Extensions; using MediaBrowser.Model.FileOrganization; using MediaBrowser.Model.Logging; -using MediaBrowser.Server.Implementations.Library; -using MediaBrowser.Server.Implementations.Logging; using System; using System.Collections.Generic; using System.Globalization; @@ -16,11 +14,16 @@ using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; +using Emby.Server.Implementations.Library; +using Emby.Server.Implementations.Logging; using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; +using MediaBrowser.Naming.TV; +using EpisodeInfo = MediaBrowser.Controller.Providers.EpisodeInfo; -namespace MediaBrowser.Server.Implementations.FileOrganization +namespace Emby.Server.Implementations.FileOrganization { public class EpisodeFileOrganizer { @@ -55,7 +58,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization OriginalPath = path, OriginalFileName = Path.GetFileName(path), Type = FileOrganizerType.Episode, - FileSize = new FileInfo(path).Length + FileSize = _fileSystem.GetFileInfo(path).Length }; try @@ -68,10 +71,10 @@ namespace MediaBrowser.Server.Implementations.FileOrganization } var namingOptions = ((LibraryManager)_libraryManager).GetNamingOptions(); - var resolver = new Naming.TV.EpisodeResolver(namingOptions, new PatternsLogger()); + var resolver = new EpisodeResolver(namingOptions, new PatternsLogger()); var episodeInfo = resolver.Resolve(path, false) ?? - new Naming.TV.EpisodeInfo(); + new MediaBrowser.Naming.TV.EpisodeInfo(); var seriesName = episodeInfo.SeriesName; @@ -505,7 +508,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization episodePaths.AddRange(filesOfOtherExtensions); } - catch (DirectoryNotFoundException) + catch (IOException) { // No big deal. Maybe the season folder doesn't already exist. } @@ -575,7 +578,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization result.ExtractedName = nameWithoutYear; result.ExtractedYear = yearInName; - var series = _libraryManager.GetItemList(new Controller.Entities.InternalItemsQuery + var series = _libraryManager.GetItemList(new InternalItemsQuery { IncludeItemTypes = new[] { typeof(Series).Name }, Recursive = true @@ -593,7 +596,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization if (info != null) { - series = _libraryManager.GetItemList(new Controller.Entities.InternalItemsQuery + series = _libraryManager.GetItemList(new InternalItemsQuery { IncludeItemTypes = new[] { typeof(Series).Name }, Recursive = true, @@ -808,8 +811,8 @@ namespace MediaBrowser.Server.Implementations.FileOrganization { try { - var sourceFileInfo = new FileInfo(sourcePath); - var destinationFileInfo = new FileInfo(newPath); + var sourceFileInfo = _fileSystem.GetFileInfo(sourcePath); + var destinationFileInfo = _fileSystem.GetFileInfo(newPath); if (sourceFileInfo.Length == destinationFileInfo.Length) { @@ -820,7 +823,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization { return false; } - catch (DirectoryNotFoundException) + catch (IOException) { return false; } diff --git a/MediaBrowser.Server.Implementations/FileOrganization/Extensions.cs b/Emby.Server.Implementations/FileOrganization/Extensions.cs index c560152db..506bc0327 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/Extensions.cs +++ b/Emby.Server.Implementations/FileOrganization/Extensions.cs @@ -2,7 +2,7 @@ using MediaBrowser.Model.FileOrganization; using System.Collections.Generic; -namespace MediaBrowser.Server.Implementations.FileOrganization +namespace Emby.Server.Implementations.FileOrganization { public static class ConfigurationExtension { diff --git a/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationNotifier.cs b/Emby.Server.Implementations/FileOrganization/FileOrganizationNotifier.cs index 141dcf9b4..2a0176547 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationNotifier.cs +++ b/Emby.Server.Implementations/FileOrganization/FileOrganizationNotifier.cs @@ -8,7 +8,7 @@ using System; using System.Threading; using MediaBrowser.Model.Tasks; -namespace MediaBrowser.Server.Implementations.FileOrganization +namespace Emby.Server.Implementations.FileOrganization { /// <summary> /// Class SessionInfoWebSocketListener diff --git a/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs b/Emby.Server.Implementations/FileOrganization/FileOrganizationService.cs index de33c39e6..4094e6b9b 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs +++ b/Emby.Server.Implementations/FileOrganization/FileOrganizationService.cs @@ -21,7 +21,7 @@ using MediaBrowser.Common.IO; using MediaBrowser.Controller.IO; using MediaBrowser.Model.Tasks; -namespace MediaBrowser.Server.Implementations.FileOrganization +namespace Emby.Server.Implementations.FileOrganization { public class FileOrganizationService : IFileOrganizationService { diff --git a/MediaBrowser.Server.Implementations/FileOrganization/NameUtils.cs b/Emby.Server.Implementations/FileOrganization/NameUtils.cs index 624133d4f..eb22ca4ea 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/NameUtils.cs +++ b/Emby.Server.Implementations/FileOrganization/NameUtils.cs @@ -2,10 +2,9 @@ using MediaBrowser.Controller.Entities; using System; using System.Globalization; -using System.Linq; -using System.Text; +using MediaBrowser.Controller.Extensions; -namespace MediaBrowser.Server.Implementations.FileOrganization +namespace Emby.Server.Implementations.FileOrganization { public static class NameUtils { @@ -54,7 +53,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization private static string GetComparableName(string name) { - name = RemoveDiacritics(name); + name = name.RemoveDiacritics(); name = " " + name + " "; @@ -78,19 +77,5 @@ namespace MediaBrowser.Server.Implementations.FileOrganization return name.Trim(); } - - /// <summary> - /// Removes the diacritics. - /// </summary> - /// <param name="text">The text.</param> - /// <returns>System.String.</returns> - private static string RemoveDiacritics(string text) - { - return String.Concat( - text.Normalize(NormalizationForm.FormD) - .Where(ch => CharUnicodeInfo.GetUnicodeCategory(ch) != - UnicodeCategory.NonSpacingMark) - ).Normalize(NormalizationForm.FormC); - } } } diff --git a/MediaBrowser.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs b/Emby.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs index ca41db80c..5be7ba7ad 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs +++ b/Emby.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs @@ -13,7 +13,7 @@ using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; using MediaBrowser.Model.Tasks; -namespace MediaBrowser.Server.Implementations.FileOrganization +namespace Emby.Server.Implementations.FileOrganization { public class OrganizerScheduledTask : IScheduledTask, IConfigurableScheduledTask { diff --git a/MediaBrowser.Server.Implementations/FileOrganization/TvFolderOrganizer.cs b/Emby.Server.Implementations/FileOrganization/TvFolderOrganizer.cs index d83aee25b..2850c3a61 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/TvFolderOrganizer.cs +++ b/Emby.Server.Implementations/FileOrganization/TvFolderOrganizer.cs @@ -14,7 +14,7 @@ using MediaBrowser.Common.IO; using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; -namespace MediaBrowser.Server.Implementations.FileOrganization +namespace Emby.Server.Implementations.FileOrganization { public class TvFolderOrganizer { @@ -191,7 +191,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization _fileSystem.DeleteDirectory(path, false); } catch (UnauthorizedAccessException) { } - catch (DirectoryNotFoundException) { } + catch (IOException) { } } } catch (UnauthorizedAccessException) { } diff --git a/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs b/Emby.Server.Implementations/Library/CoreResolutionIgnoreRule.cs index f20d87c4b..2e69cd2ef 100644 --- a/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs +++ b/Emby.Server.Implementations/Library/CoreResolutionIgnoreRule.cs @@ -10,7 +10,7 @@ using MediaBrowser.Common.IO; using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; -namespace MediaBrowser.Server.Implementations.Library +namespace Emby.Server.Implementations.Library { /// <summary> /// Provides the core resolver ignore rules diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs index 18feaa849..7ae00d94c 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/Emby.Server.Implementations/Library/LibraryManager.cs @@ -18,9 +18,6 @@ using MediaBrowser.Naming.Audio; using MediaBrowser.Naming.Common; using MediaBrowser.Naming.TV; using MediaBrowser.Naming.Video; -using MediaBrowser.Server.Implementations.Library.Validators; -using MediaBrowser.Server.Implementations.Logging; -using MediaBrowser.Server.Implementations.ScheduledTasks; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -30,6 +27,10 @@ using System.Linq; using System.Net; using System.Threading; using System.Threading.Tasks; +using Emby.Server.Implementations.Library.Resolvers; +using Emby.Server.Implementations.Library.Validators; +using Emby.Server.Implementations.Logging; +using Emby.Server.Implementations.ScheduledTasks; using MediaBrowser.Model.IO; using MediaBrowser.Controller.Channels; using MediaBrowser.Model.Channels; @@ -37,14 +38,13 @@ using MediaBrowser.Model.Dto; using MediaBrowser.Model.Extensions; using MediaBrowser.Model.Library; using MediaBrowser.Model.Net; -using MediaBrowser.Server.Implementations.Library.Resolvers; using SortOrder = MediaBrowser.Model.Entities.SortOrder; using VideoResolver = MediaBrowser.Naming.Video.VideoResolver; using MediaBrowser.Common.Configuration; using MediaBrowser.Common.IO; using MediaBrowser.Model.Tasks; -namespace MediaBrowser.Server.Implementations.Library +namespace Emby.Server.Implementations.Library { /// <summary> /// Class LibraryManager @@ -403,7 +403,7 @@ namespace MediaBrowser.Server.Implementations.Library { _fileSystem.DeleteDirectory(metadataPath, true); } - catch (DirectoryNotFoundException) + catch (IOException) { } @@ -1189,7 +1189,8 @@ namespace MediaBrowser.Server.Implementations.Library { Name = Path.GetFileName(dir), - Locations = Directory.EnumerateFiles(dir, "*.mblink", SearchOption.TopDirectoryOnly) + Locations = _fileSystem.GetFilePaths(dir, false) + .Where(i => string.Equals(ShortcutFileExtension, Path.GetExtension(i), StringComparison.OrdinalIgnoreCase)) .Select(_fileSystem.ResolveShortcut) .OrderBy(i => i) .ToList(), @@ -2302,11 +2303,11 @@ namespace MediaBrowser.Server.Implementations.Library var episodeInfo = locationType == LocationType.FileSystem || locationType == LocationType.Offline ? resolver.Resolve(episode.Path, isFolder) : - new Naming.TV.EpisodeInfo(); + new MediaBrowser.Naming.TV.EpisodeInfo(); if (episodeInfo == null) { - episodeInfo = new Naming.TV.EpisodeInfo(); + episodeInfo = new MediaBrowser.Naming.TV.EpisodeInfo(); } var changed = false; @@ -2787,10 +2788,7 @@ namespace MediaBrowser.Server.Implementations.Library { var path = Path.Combine(virtualFolderPath, collectionType + ".collection"); - using (File.Create(path)) - { - - } + _fileSystem.WriteAllBytes(path, new byte[] {}); } CollectionFolder.SaveLibraryOptions(virtualFolderPath, options); @@ -2827,21 +2825,20 @@ namespace MediaBrowser.Server.Implementations.Library private bool ValidateNetworkPath(string path) { - if (Environment.OSVersion.Platform == PlatformID.Win32NT) - { - // We can't validate protocol-based paths, so just allow them - if (path.IndexOf("://", StringComparison.OrdinalIgnoreCase) == -1) - { - return Directory.Exists(path); - } - } + //if (Environment.OSVersion.Platform == PlatformID.Win32NT) + //{ + // // We can't validate protocol-based paths, so just allow them + // if (path.IndexOf("://", StringComparison.OrdinalIgnoreCase) == -1) + // { + // return _fileSystem.DirectoryExists(path); + // } + //} // Without native support for unc, we cannot validate this when running under mono return true; } private const string ShortcutFileExtension = ".mblink"; - private const string ShortcutFileSearch = "*" + ShortcutFileExtension; public void AddMediaPath(string virtualFolderName, MediaPathInfo pathInfo) { AddMediaPathInternal(virtualFolderName, pathInfo, true); @@ -2863,12 +2860,12 @@ namespace MediaBrowser.Server.Implementations.Library if (!_fileSystem.DirectoryExists(path)) { - throw new DirectoryNotFoundException("The path does not exist."); + throw new FileNotFoundException("The path does not exist."); } if (!string.IsNullOrWhiteSpace(pathInfo.NetworkPath) && !ValidateNetworkPath(pathInfo.NetworkPath)) { - throw new DirectoryNotFoundException("The network path does not exist."); + throw new FileNotFoundException("The network path does not exist."); } var rootFolderPath = ConfigurationManager.ApplicationPaths.DefaultUserViewsPath; @@ -2911,7 +2908,7 @@ namespace MediaBrowser.Server.Implementations.Library if (!string.IsNullOrWhiteSpace(pathInfo.NetworkPath) && !ValidateNetworkPath(pathInfo.NetworkPath)) { - throw new DirectoryNotFoundException("The network path does not exist."); + throw new FileNotFoundException("The network path does not exist."); } var rootFolderPath = ConfigurationManager.ApplicationPaths.DefaultUserViewsPath; @@ -2973,7 +2970,7 @@ namespace MediaBrowser.Server.Implementations.Library if (!_fileSystem.DirectoryExists(path)) { - throw new DirectoryNotFoundException("The media folder does not exist"); + throw new FileNotFoundException("The media folder does not exist"); } _libraryMonitorFactory().Stop(); @@ -3044,10 +3041,12 @@ namespace MediaBrowser.Server.Implementations.Library if (!_fileSystem.DirectoryExists(virtualFolderPath)) { - throw new DirectoryNotFoundException(string.Format("The media collection {0} does not exist", virtualFolderName)); + throw new FileNotFoundException(string.Format("The media collection {0} does not exist", virtualFolderName)); } - var shortcut = Directory.EnumerateFiles(virtualFolderPath, ShortcutFileSearch, SearchOption.AllDirectories).FirstOrDefault(f => _fileSystem.ResolveShortcut(f).Equals(mediaPath, StringComparison.OrdinalIgnoreCase)); + var shortcut = _fileSystem.GetFilePaths(virtualFolderPath, true) + .Where(i => string.Equals(ShortcutFileExtension, Path.GetExtension(i), StringComparison.OrdinalIgnoreCase)) + .FirstOrDefault(f => _fileSystem.ResolveShortcut(f).Equals(mediaPath, StringComparison.OrdinalIgnoreCase)); if (!string.IsNullOrEmpty(shortcut)) { diff --git a/MediaBrowser.Server.Implementations/Library/LocalTrailerPostScanTask.cs b/Emby.Server.Implementations/Library/LocalTrailerPostScanTask.cs index 78107b82d..7424ed5e5 100644 --- a/MediaBrowser.Server.Implementations/Library/LocalTrailerPostScanTask.cs +++ b/Emby.Server.Implementations/Library/LocalTrailerPostScanTask.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; -namespace MediaBrowser.Server.Implementations.Library +namespace Emby.Server.Implementations.Library { public class LocalTrailerPostScanTask : ILibraryPostScanTask { diff --git a/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs b/Emby.Server.Implementations/Library/MediaSourceManager.cs index 0f1931dda..93c406ebc 100644 --- a/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs +++ b/Emby.Server.Implementations/Library/MediaSourceManager.cs @@ -18,8 +18,9 @@ using MediaBrowser.Common.IO; using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; using MediaBrowser.Model.Configuration; +using MediaBrowser.Model.Threading; -namespace MediaBrowser.Server.Implementations.Library +namespace Emby.Server.Implementations.Library { public class MediaSourceManager : IMediaSourceManager, IDisposable { @@ -32,8 +33,9 @@ namespace MediaBrowser.Server.Implementations.Library private IMediaSourceProvider[] _providers; private readonly ILogger _logger; private readonly IUserDataManager _userDataManager; + private readonly ITimerFactory _timerFactory; - public MediaSourceManager(IItemRepository itemRepo, IUserManager userManager, ILibraryManager libraryManager, ILogger logger, IJsonSerializer jsonSerializer, IFileSystem fileSystem, IUserDataManager userDataManager) + public MediaSourceManager(IItemRepository itemRepo, IUserManager userManager, ILibraryManager libraryManager, ILogger logger, IJsonSerializer jsonSerializer, IFileSystem fileSystem, IUserDataManager userDataManager, ITimerFactory timerFactory) { _itemRepo = itemRepo; _userManager = userManager; @@ -42,6 +44,7 @@ namespace MediaBrowser.Server.Implementations.Library _jsonSerializer = jsonSerializer; _fileSystem = fileSystem; _userDataManager = userDataManager; + _timerFactory = timerFactory; } public void AddParts(IEnumerable<IMediaSourceProvider> providers) @@ -551,14 +554,14 @@ namespace MediaBrowser.Server.Implementations.Library return new Tuple<IMediaSourceProvider, string>(provider, keyId); } - private Timer _closeTimer; + private ITimer _closeTimer; private readonly TimeSpan _openStreamMaxAge = TimeSpan.FromSeconds(180); private void StartCloseTimer() { StopCloseTimer(); - _closeTimer = new Timer(CloseTimerCallback, null, _openStreamMaxAge, _openStreamMaxAge); + _closeTimer = _timerFactory.Create(CloseTimerCallback, null, _openStreamMaxAge, _openStreamMaxAge); } private void StopCloseTimer() diff --git a/MediaBrowser.Server.Implementations/Library/MusicManager.cs b/Emby.Server.Implementations/Library/MusicManager.cs index 3ff434898..7669dd0bf 100644 --- a/MediaBrowser.Server.Implementations/Library/MusicManager.cs +++ b/Emby.Server.Implementations/Library/MusicManager.cs @@ -6,7 +6,7 @@ using System; using System.Collections.Generic; using System.Linq; -namespace MediaBrowser.Server.Implementations.Library +namespace Emby.Server.Implementations.Library { public class MusicManager : IMusicManager { diff --git a/MediaBrowser.Server.Implementations/Library/PathExtensions.cs b/Emby.Server.Implementations/Library/PathExtensions.cs index 6c0e3237e..28ed2f53c 100644 --- a/MediaBrowser.Server.Implementations/Library/PathExtensions.cs +++ b/Emby.Server.Implementations/Library/PathExtensions.cs @@ -1,7 +1,7 @@ using System; using System.Text.RegularExpressions; -namespace MediaBrowser.Server.Implementations.Library +namespace Emby.Server.Implementations.Library { public static class PathExtensions { diff --git a/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs b/Emby.Server.Implementations/Library/ResolverHelper.cs index c7d9d39b8..1d3cacc1d 100644 --- a/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs +++ b/Emby.Server.Implementations/Library/ResolverHelper.cs @@ -9,7 +9,7 @@ using MediaBrowser.Common.IO; using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; -namespace MediaBrowser.Server.Implementations.Library +namespace Emby.Server.Implementations.Library { /// <summary> /// Class ResolverHelper @@ -112,7 +112,7 @@ namespace MediaBrowser.Server.Implementations.Library /// <summary> /// The MB name regex /// </summary> - private static readonly Regex MbNameRegex = new Regex(@"(\[.*?\])", RegexOptions.Compiled); + private static readonly Regex MbNameRegex = new Regex(@"(\[.*?\])"); internal static string StripBrackets(string inputString) { diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs b/Emby.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs index 039a17100..d8805355a 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs @@ -3,12 +3,12 @@ using MediaBrowser.Controller.Resolvers; using MediaBrowser.Model.Entities; using System; -namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio +namespace Emby.Server.Implementations.Library.Resolvers.Audio { /// <summary> /// Class AudioResolver /// </summary> - public class AudioResolver : ItemResolver<Controller.Entities.Audio.Audio> + public class AudioResolver : ItemResolver<MediaBrowser.Controller.Entities.Audio.Audio> { private readonly ILibraryManager _libraryManager; @@ -31,7 +31,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio /// </summary> /// <param name="args">The args.</param> /// <returns>Entities.Audio.Audio.</returns> - protected override Controller.Entities.Audio.Audio Resolve(ItemResolveArgs args) + protected override MediaBrowser.Controller.Entities.Audio.Audio Resolve(ItemResolveArgs args) { // Return audio if the path is a file and has a matching extension @@ -57,7 +57,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio string.Equals(collectionType, CollectionType.Music, StringComparison.OrdinalIgnoreCase) || isMixed) { - return new Controller.Entities.Audio.Audio(); + return new MediaBrowser.Controller.Entities.Audio.Audio(); } } } diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs b/Emby.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs index c1ac7d68c..f8e105195 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs @@ -5,17 +5,17 @@ using MediaBrowser.Controller.Resolvers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; using MediaBrowser.Naming.Audio; -using MediaBrowser.Server.Implementations.Logging; using System; using System.Collections.Generic; using System.IO; +using Emby.Server.Implementations.Logging; using MediaBrowser.Common.IO; using MediaBrowser.Model.IO; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.IO; using MediaBrowser.Model.Configuration; -namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio +namespace Emby.Server.Implementations.Library.Resolvers.Audio { /// <summary> /// Class MusicAlbumResolver diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs b/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs index be651b9c8..2971405b9 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs @@ -11,7 +11,7 @@ using MediaBrowser.Model.IO; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.IO; -namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio +namespace Emby.Server.Implementations.Library.Resolvers.Audio { /// <summary> /// Class MusicArtistResolver diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs b/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs index 4dce16139..b7819eb68 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs @@ -2,17 +2,17 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Model.Entities; using MediaBrowser.Naming.Video; -using MediaBrowser.Server.Implementations.Logging; using System; using System.IO; +using Emby.Server.Implementations.Logging; -namespace MediaBrowser.Server.Implementations.Library.Resolvers +namespace Emby.Server.Implementations.Library.Resolvers { /// <summary> /// Resolves a Path into a Video or Video subclass /// </summary> /// <typeparam name="T"></typeparam> - public abstract class BaseVideoResolver<T> : Controller.Resolvers.ItemResolver<T> + public abstract class BaseVideoResolver<T> : MediaBrowser.Controller.Resolvers.ItemResolver<T> where T : Video, new() { protected readonly ILibraryManager LibraryManager; @@ -45,7 +45,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers var namingOptions = ((LibraryManager)LibraryManager).GetNamingOptions(); // If the path is a file check for a matching extensions - var parser = new Naming.Video.VideoResolver(namingOptions, new PatternsLogger()); + var parser = new MediaBrowser.Naming.Video.VideoResolver(namingOptions, new PatternsLogger()); if (args.IsDirectory) { diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs b/Emby.Server.Implementations/Library/Resolvers/FolderResolver.cs index ff07c5282..5e73baa5c 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/FolderResolver.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Resolvers; -namespace MediaBrowser.Server.Implementations.Library.Resolvers +namespace Emby.Server.Implementations.Library.Resolvers { /// <summary> /// Class FolderResolver diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/ItemResolver.cs b/Emby.Server.Implementations/Library/Resolvers/ItemResolver.cs index a03eda263..b4a37be5f 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/ItemResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/ItemResolver.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Resolvers; -namespace MediaBrowser.Server.Implementations.Library.Resolvers +namespace Emby.Server.Implementations.Library.Resolvers { /// <summary> /// Class ItemResolver diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs b/Emby.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs index e3447afc9..df441c5ed 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs @@ -5,7 +5,7 @@ using MediaBrowser.Model.Entities; using System; using System.IO; -namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies +namespace Emby.Server.Implementations.Library.Resolvers.Movies { /// <summary> /// Class BoxSetResolver diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/Emby.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs index bb1d57688..d8c8b2024 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs @@ -7,16 +7,16 @@ using MediaBrowser.Controller.Resolvers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Extensions; using MediaBrowser.Naming.Video; -using MediaBrowser.Server.Implementations.Logging; using System; using System.Collections.Generic; using System.IO; using System.Linq; +using Emby.Server.Implementations.Logging; using MediaBrowser.Common.IO; using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; -namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies +namespace Emby.Server.Implementations.Library.Resolvers.Movies { /// <summary> /// Class MovieResolver diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/PhotoAlbumResolver.cs b/Emby.Server.Implementations/Library/Resolvers/PhotoAlbumResolver.cs index 957fafb92..3d7ede879 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/PhotoAlbumResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/PhotoAlbumResolver.cs @@ -7,7 +7,7 @@ using System; using System.IO; using System.Linq; -namespace MediaBrowser.Server.Implementations.Library.Resolvers +namespace Emby.Server.Implementations.Library.Resolvers { public class PhotoAlbumResolver : FolderResolver<PhotoAlbum> { diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/PhotoResolver.cs b/Emby.Server.Implementations/Library/Resolvers/PhotoResolver.cs index 549ad522e..df39e57ad 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/PhotoResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/PhotoResolver.cs @@ -11,7 +11,7 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.IO; using MediaBrowser.Model.Configuration; -namespace MediaBrowser.Server.Implementations.Library.Resolvers +namespace Emby.Server.Implementations.Library.Resolvers { public class PhotoResolver : ItemResolver<Photo> { diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/PlaylistResolver.cs b/Emby.Server.Implementations/Library/Resolvers/PlaylistResolver.cs index a95739f22..8c59cf20f 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/PlaylistResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/PlaylistResolver.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Playlists; using System; using System.IO; -namespace MediaBrowser.Server.Implementations.Library.Resolvers +namespace Emby.Server.Implementations.Library.Resolvers { public class PlaylistResolver : FolderResolver<Playlist> { diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/SpecialFolderResolver.cs b/Emby.Server.Implementations/Library/Resolvers/SpecialFolderResolver.cs index 7a6198a00..1bec1073d 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/SpecialFolderResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/SpecialFolderResolver.cs @@ -9,7 +9,7 @@ using MediaBrowser.Common.IO; using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; -namespace MediaBrowser.Server.Implementations.Library.Resolvers +namespace Emby.Server.Implementations.Library.Resolvers { class SpecialFolderResolver : FolderResolver<Folder> { diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/EpisodeResolver.cs b/Emby.Server.Implementations/Library/Resolvers/TV/EpisodeResolver.cs index 6edc4a009..2a4cc49b7 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/EpisodeResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/TV/EpisodeResolver.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Library; using System.Linq; using MediaBrowser.Model.Entities; -namespace MediaBrowser.Server.Implementations.Library.Resolvers.TV +namespace Emby.Server.Implementations.Library.Resolvers.TV { /// <summary> /// Class EpisodeResolver diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs b/Emby.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs index fc4929748..c065feda1 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Naming.Common; using MediaBrowser.Naming.TV; -namespace MediaBrowser.Server.Implementations.Library.Resolvers.TV +namespace Emby.Server.Implementations.Library.Resolvers.TV { /// <summary> /// Class SeasonResolver diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs b/Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs index 83566e2c1..44eb0e3e2 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs @@ -6,18 +6,18 @@ using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; using MediaBrowser.Naming.Common; using MediaBrowser.Naming.TV; -using MediaBrowser.Server.Implementations.Logging; using System; using System.Collections.Generic; using System.IO; using System.Linq; +using Emby.Server.Implementations.Logging; using MediaBrowser.Common.IO; using MediaBrowser.Model.IO; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.IO; using MediaBrowser.Model.Configuration; -namespace MediaBrowser.Server.Implementations.Library.Resolvers.TV +namespace Emby.Server.Implementations.Library.Resolvers.TV { /// <summary> /// Class SeriesResolver @@ -171,7 +171,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.TV .ToList(); } - var episodeResolver = new Naming.TV.EpisodeResolver(namingOptions, new PatternsLogger()); + var episodeResolver = new MediaBrowser.Naming.TV.EpisodeResolver(namingOptions, new PatternsLogger()); var episodeInfo = episodeResolver.Resolve(fullName, false, false); if (episodeInfo != null && episodeInfo.EpisodeNumber.HasValue) { diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/VideoResolver.cs b/Emby.Server.Implementations/Library/Resolvers/VideoResolver.cs index c7f21cef1..b5e1bf5f7 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/VideoResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/VideoResolver.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Resolvers; -namespace MediaBrowser.Server.Implementations.Library.Resolvers +namespace Emby.Server.Implementations.Library.Resolvers { /// <summary> /// Resolves a Path into a Video diff --git a/MediaBrowser.Server.Implementations/Library/SearchEngine.cs b/Emby.Server.Implementations/Library/SearchEngine.cs index c266fb191..afdf65c06 100644 --- a/MediaBrowser.Server.Implementations/Library/SearchEngine.cs +++ b/Emby.Server.Implementations/Library/SearchEngine.cs @@ -1,7 +1,5 @@ -using MediaBrowser.Common.Extensions; -using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; -using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Logging; using MediaBrowser.Model.Querying; @@ -11,13 +9,10 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using MediaBrowser.Controller.Extensions; -using MediaBrowser.Model.Extensions; -namespace MediaBrowser.Server.Implementations.Library +namespace Emby.Server.Implementations.Library { /// <summary> - /// Class LuceneSearchEngine - /// http://www.codeproject.com/Articles/320219/Lucene-Net-ultra-fast-search-for-MVC-or-WebForms /// </summary> public class SearchEngine : ISearchEngine { diff --git a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs b/Emby.Server.Implementations/Library/UserViewManager.cs index 6a4e26ff9..b93f565a3 100644 --- a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs +++ b/Emby.Server.Implementations/Library/UserViewManager.cs @@ -15,7 +15,7 @@ using System.Threading.Tasks; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Model.Globalization; -namespace MediaBrowser.Server.Implementations.Library +namespace Emby.Server.Implementations.Library { public class UserViewManager : IUserViewManager { diff --git a/MediaBrowser.Server.Implementations/Library/Validators/ArtistsPostScanTask.cs b/Emby.Server.Implementations/Library/Validators/ArtistsPostScanTask.cs index 91b035a35..4d718dbee 100644 --- a/MediaBrowser.Server.Implementations/Library/Validators/ArtistsPostScanTask.cs +++ b/Emby.Server.Implementations/Library/Validators/ArtistsPostScanTask.cs @@ -5,7 +5,7 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Persistence; -namespace MediaBrowser.Server.Implementations.Library.Validators +namespace Emby.Server.Implementations.Library.Validators { /// <summary> /// Class ArtistsPostScanTask diff --git a/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs b/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs index 3dcdbeae9..643c5970e 100644 --- a/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Persistence; -namespace MediaBrowser.Server.Implementations.Library.Validators +namespace Emby.Server.Implementations.Library.Validators { /// <summary> /// Class ArtistsValidator diff --git a/MediaBrowser.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs b/Emby.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs index f3891180e..ee6c4461c 100644 --- a/MediaBrowser.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs +++ b/Emby.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs @@ -5,7 +5,7 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Persistence; -namespace MediaBrowser.Server.Implementations.Library.Validators +namespace Emby.Server.Implementations.Library.Validators { /// <summary> /// Class GameGenresPostScanTask diff --git a/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs b/Emby.Server.Implementations/Library/Validators/GameGenresValidator.cs index b06c0b3b9..b1820bb91 100644 --- a/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/GameGenresValidator.cs @@ -7,7 +7,7 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Persistence; -namespace MediaBrowser.Server.Implementations.Library.Validators +namespace Emby.Server.Implementations.Library.Validators { class GameGenresValidator { diff --git a/MediaBrowser.Server.Implementations/Library/Validators/GenresPostScanTask.cs b/Emby.Server.Implementations/Library/Validators/GenresPostScanTask.cs index ed2429769..be46decfb 100644 --- a/MediaBrowser.Server.Implementations/Library/Validators/GenresPostScanTask.cs +++ b/Emby.Server.Implementations/Library/Validators/GenresPostScanTask.cs @@ -5,7 +5,7 @@ using System.Threading.Tasks; using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.Logging; -namespace MediaBrowser.Server.Implementations.Library.Validators +namespace Emby.Server.Implementations.Library.Validators { public class GenresPostScanTask : ILibraryPostScanTask { diff --git a/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs b/Emby.Server.Implementations/Library/Validators/GenresValidator.cs index f35bb5136..d8956f78a 100644 --- a/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/GenresValidator.cs @@ -8,7 +8,7 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Persistence; -namespace MediaBrowser.Server.Implementations.Library.Validators +namespace Emby.Server.Implementations.Library.Validators { class GenresValidator { diff --git a/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs b/Emby.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs index 777532ff8..cd4021548 100644 --- a/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs +++ b/Emby.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs @@ -5,7 +5,7 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Persistence; -namespace MediaBrowser.Server.Implementations.Library.Validators +namespace Emby.Server.Implementations.Library.Validators { /// <summary> /// Class MusicGenresPostScanTask diff --git a/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs b/Emby.Server.Implementations/Library/Validators/MusicGenresValidator.cs index 2be99f106..983c881b7 100644 --- a/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/MusicGenresValidator.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Persistence; -namespace MediaBrowser.Server.Implementations.Library.Validators +namespace Emby.Server.Implementations.Library.Validators { class MusicGenresValidator { diff --git a/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs b/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs index d9a7199be..813f07fff 100644 --- a/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs @@ -15,7 +15,7 @@ using MediaBrowser.Common.IO; using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; -namespace MediaBrowser.Server.Implementations.Library.Validators +namespace Emby.Server.Implementations.Library.Validators { /// <summary> /// Class PeopleValidator diff --git a/MediaBrowser.Server.Implementations/Library/Validators/StudiosPostScanTask.cs b/Emby.Server.Implementations/Library/Validators/StudiosPostScanTask.cs index 77c6d5146..d23efb6d3 100644 --- a/MediaBrowser.Server.Implementations/Library/Validators/StudiosPostScanTask.cs +++ b/Emby.Server.Implementations/Library/Validators/StudiosPostScanTask.cs @@ -5,7 +5,7 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Persistence; -namespace MediaBrowser.Server.Implementations.Library.Validators +namespace Emby.Server.Implementations.Library.Validators { /// <summary> /// Class MusicGenresPostScanTask diff --git a/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs b/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs index a19b8158a..6faab7bb9 100644 --- a/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Persistence; -namespace MediaBrowser.Server.Implementations.Library.Validators +namespace Emby.Server.Implementations.Library.Validators { class StudiosValidator { diff --git a/MediaBrowser.Server.Implementations/Library/Validators/YearsPostScanTask.cs b/Emby.Server.Implementations/Library/Validators/YearsPostScanTask.cs index 164b14223..ae43c77f0 100644 --- a/MediaBrowser.Server.Implementations/Library/Validators/YearsPostScanTask.cs +++ b/Emby.Server.Implementations/Library/Validators/YearsPostScanTask.cs @@ -4,7 +4,7 @@ using System; using System.Threading; using System.Threading.Tasks; -namespace MediaBrowser.Server.Implementations.Library.Validators +namespace Emby.Server.Implementations.Library.Validators { public class YearsPostScanTask : ILibraryPostScanTask { diff --git a/Emby.Server.Implementations/Logging/PatternsLogger.cs b/Emby.Server.Implementations/Logging/PatternsLogger.cs new file mode 100644 index 000000000..6dbf33d61 --- /dev/null +++ b/Emby.Server.Implementations/Logging/PatternsLogger.cs @@ -0,0 +1,63 @@ +using Patterns.Logging; +using System; + +namespace Emby.Server.Implementations.Logging +{ + public class PatternsLogger : ILogger + { + private readonly MediaBrowser.Model.Logging.ILogger _logger; + + public PatternsLogger() + : this(new MediaBrowser.Model.Logging.NullLogger()) + { + } + + public PatternsLogger(MediaBrowser.Model.Logging.ILogger logger) + { + _logger = logger; + } + + public void Debug(string message, params object[] paramList) + { + _logger.Debug(message, paramList); + } + + public void Error(string message, params object[] paramList) + { + _logger.Error(message, paramList); + } + + public void ErrorException(string message, Exception exception, params object[] paramList) + { + _logger.ErrorException(message, exception, paramList); + } + + public void Fatal(string message, params object[] paramList) + { + _logger.Fatal(message, paramList); + } + + public void FatalException(string message, Exception exception, params object[] paramList) + { + _logger.FatalException(message, exception, paramList); + } + + public void Info(string message, params object[] paramList) + { + _logger.Info(message, paramList); + } + + public void Warn(string message, params object[] paramList) + { + _logger.Warn(message, paramList); + } + + public void Log(LogSeverity severity, string message, params object[] paramList) + { + } + + public void LogMultiline(string message, LogSeverity severity, System.Text.StringBuilder additionalContent) + { + } + } +} diff --git a/MediaBrowser.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs b/Emby.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs index ed1d21d9a..88f4f1f81 100644 --- a/MediaBrowser.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs +++ b/Emby.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs @@ -20,9 +20,9 @@ using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.Net; using MediaBrowser.Model.Globalization; using MediaBrowser.Model.Tasks; -using MediaBrowser.Server.Implementations.ScheduledTasks; +using Emby.Server.Implementations.ScheduledTasks; -namespace MediaBrowser.Server.Implementations.Persistence +namespace Emby.Server.Implementations.Persistence { public class CleanDatabaseScheduledTask : IScheduledTask { @@ -37,6 +37,7 @@ namespace MediaBrowser.Server.Implementations.Persistence public const int MigrationVersion = 23; public static bool EnableUnavailableMessage = false; + const int LatestSchemaVersion = 109; public CleanDatabaseScheduledTask(ILibraryManager libraryManager, IItemRepository itemRepo, ILogger logger, IServerConfigurationManager config, IFileSystem fileSystem, IHttpServer httpServer, ILocalizationManager localization, ITaskManager taskManager) { @@ -113,9 +114,9 @@ namespace MediaBrowser.Server.Implementations.Persistence _config.SaveConfiguration(); } - if (_config.Configuration.SchemaVersion < SqliteItemRepository.LatestSchemaVersion) + if (_config.Configuration.SchemaVersion < LatestSchemaVersion) { - _config.Configuration.SchemaVersion = SqliteItemRepository.LatestSchemaVersion; + _config.Configuration.SchemaVersion = LatestSchemaVersion; _config.SaveConfiguration(); } diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs b/Emby.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs index e695adb54..fb07b8e99 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs @@ -1,13 +1,13 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Library; -using MediaBrowser.Server.Implementations.Library; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; +using Emby.Server.Implementations.Library; using MediaBrowser.Model.Tasks; -namespace MediaBrowser.Server.Implementations.ScheduledTasks +namespace Emby.Server.Implementations.ScheduledTasks { /// <summary> /// Class RefreshMediaLibraryTask diff --git a/MediaBrowser.Server.Implementations/Sorting/AirTimeComparer.cs b/Emby.Server.Implementations/Sorting/AirTimeComparer.cs index 7e6a252cd..bc05e9af3 100644 --- a/MediaBrowser.Server.Implementations/Sorting/AirTimeComparer.cs +++ b/Emby.Server.Implementations/Sorting/AirTimeComparer.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class AirTimeComparer : IBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/AiredEpisodeOrderComparer.cs b/Emby.Server.Implementations/Sorting/AiredEpisodeOrderComparer.cs index 91abbe34c..494668cb9 100644 --- a/MediaBrowser.Server.Implementations/Sorting/AiredEpisodeOrderComparer.cs +++ b/Emby.Server.Implementations/Sorting/AiredEpisodeOrderComparer.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { class AiredEpisodeOrderComparer : IBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/AlbumArtistComparer.cs b/Emby.Server.Implementations/Sorting/AlbumArtistComparer.cs index 3c79b0c32..cd3834080 100644 --- a/MediaBrowser.Server.Implementations/Sorting/AlbumArtistComparer.cs +++ b/Emby.Server.Implementations/Sorting/AlbumArtistComparer.cs @@ -5,7 +5,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { /// <summary> /// Class AlbumArtistComparer diff --git a/MediaBrowser.Server.Implementations/Sorting/AlbumComparer.cs b/Emby.Server.Implementations/Sorting/AlbumComparer.cs index f455d5c2b..68f5f173e 100644 --- a/MediaBrowser.Server.Implementations/Sorting/AlbumComparer.cs +++ b/Emby.Server.Implementations/Sorting/AlbumComparer.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { /// <summary> /// Class AlbumComparer diff --git a/MediaBrowser.Server.Implementations/Sorting/AlphanumComparator.cs b/Emby.Server.Implementations/Sorting/AlphanumComparator.cs index 232bdb3b5..4bfcda1ac 100644 --- a/MediaBrowser.Server.Implementations/Sorting/AlphanumComparator.cs +++ b/Emby.Server.Implementations/Sorting/AlphanumComparator.cs @@ -2,7 +2,7 @@ using System.Text; using MediaBrowser.Controller.Sorting; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class AlphanumComparator : IComparer<string> { diff --git a/MediaBrowser.Server.Implementations/Sorting/ArtistComparer.cs b/Emby.Server.Implementations/Sorting/ArtistComparer.cs index 9ff8a5ace..edb195820 100644 --- a/MediaBrowser.Server.Implementations/Sorting/ArtistComparer.cs +++ b/Emby.Server.Implementations/Sorting/ArtistComparer.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { /// <summary> /// Class ArtistComparer diff --git a/MediaBrowser.Server.Implementations/Sorting/BudgetComparer.cs b/Emby.Server.Implementations/Sorting/BudgetComparer.cs index 87a7325c6..f3aef69f1 100644 --- a/MediaBrowser.Server.Implementations/Sorting/BudgetComparer.cs +++ b/Emby.Server.Implementations/Sorting/BudgetComparer.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class BudgetComparer : IBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/CommunityRatingComparer.cs b/Emby.Server.Implementations/Sorting/CommunityRatingComparer.cs index bdd18a648..396bbbdb9 100644 --- a/MediaBrowser.Server.Implementations/Sorting/CommunityRatingComparer.cs +++ b/Emby.Server.Implementations/Sorting/CommunityRatingComparer.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class CommunityRatingComparer : IBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/CriticRatingComparer.cs b/Emby.Server.Implementations/Sorting/CriticRatingComparer.cs index 9484130cb..877dbfcc1 100644 --- a/MediaBrowser.Server.Implementations/Sorting/CriticRatingComparer.cs +++ b/Emby.Server.Implementations/Sorting/CriticRatingComparer.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { /// <summary> /// Class CriticRatingComparer diff --git a/MediaBrowser.Server.Implementations/Sorting/DateCreatedComparer.cs b/Emby.Server.Implementations/Sorting/DateCreatedComparer.cs index 9862f0a8a..c436fcb4a 100644 --- a/MediaBrowser.Server.Implementations/Sorting/DateCreatedComparer.cs +++ b/Emby.Server.Implementations/Sorting/DateCreatedComparer.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { /// <summary> /// Class DateCreatedComparer diff --git a/MediaBrowser.Server.Implementations/Sorting/DateLastMediaAddedComparer.cs b/Emby.Server.Implementations/Sorting/DateLastMediaAddedComparer.cs index 5080edffd..fc92505ac 100644 --- a/MediaBrowser.Server.Implementations/Sorting/DateLastMediaAddedComparer.cs +++ b/Emby.Server.Implementations/Sorting/DateLastMediaAddedComparer.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class DateLastMediaAddedComparer : IUserBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/DatePlayedComparer.cs b/Emby.Server.Implementations/Sorting/DatePlayedComparer.cs index 3edf23020..388d2772e 100644 --- a/MediaBrowser.Server.Implementations/Sorting/DatePlayedComparer.cs +++ b/Emby.Server.Implementations/Sorting/DatePlayedComparer.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { /// <summary> /// Class DatePlayedComparer diff --git a/MediaBrowser.Server.Implementations/Sorting/GameSystemComparer.cs b/Emby.Server.Implementations/Sorting/GameSystemComparer.cs index eb83b98e9..4ee30397d 100644 --- a/MediaBrowser.Server.Implementations/Sorting/GameSystemComparer.cs +++ b/Emby.Server.Implementations/Sorting/GameSystemComparer.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class GameSystemComparer : IBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs b/Emby.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs index 658708dba..27485f09e 100644 --- a/MediaBrowser.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs +++ b/Emby.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class IsFavoriteOrLikeComparer : IUserBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/IsFolderComparer.cs b/Emby.Server.Implementations/Sorting/IsFolderComparer.cs index d2341d065..756d13bd8 100644 --- a/MediaBrowser.Server.Implementations/Sorting/IsFolderComparer.cs +++ b/Emby.Server.Implementations/Sorting/IsFolderComparer.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class IsFolderComparer : IBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/IsPlayedComparer.cs b/Emby.Server.Implementations/Sorting/IsPlayedComparer.cs index aebfbdb1c..987dc54a5 100644 --- a/MediaBrowser.Server.Implementations/Sorting/IsPlayedComparer.cs +++ b/Emby.Server.Implementations/Sorting/IsPlayedComparer.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class IsPlayedComparer : IUserBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/IsUnplayedComparer.cs b/Emby.Server.Implementations/Sorting/IsUnplayedComparer.cs index f1c6a5a4e..0f4e4c37e 100644 --- a/MediaBrowser.Server.Implementations/Sorting/IsUnplayedComparer.cs +++ b/Emby.Server.Implementations/Sorting/IsUnplayedComparer.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class IsUnplayedComparer : IUserBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/MetascoreComparer.cs b/Emby.Server.Implementations/Sorting/MetascoreComparer.cs index bfd162661..9759e0228 100644 --- a/MediaBrowser.Server.Implementations/Sorting/MetascoreComparer.cs +++ b/Emby.Server.Implementations/Sorting/MetascoreComparer.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class MetascoreComparer : IBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/NameComparer.cs b/Emby.Server.Implementations/Sorting/NameComparer.cs index 49f86c485..8ab5e5172 100644 --- a/MediaBrowser.Server.Implementations/Sorting/NameComparer.cs +++ b/Emby.Server.Implementations/Sorting/NameComparer.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { /// <summary> /// Class NameComparer diff --git a/MediaBrowser.Server.Implementations/Sorting/OfficialRatingComparer.cs b/Emby.Server.Implementations/Sorting/OfficialRatingComparer.cs index 3b1939b70..3eab4fccc 100644 --- a/MediaBrowser.Server.Implementations/Sorting/OfficialRatingComparer.cs +++ b/Emby.Server.Implementations/Sorting/OfficialRatingComparer.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Globalization; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class OfficialRatingComparer : IBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/PlayCountComparer.cs b/Emby.Server.Implementations/Sorting/PlayCountComparer.cs index 8b14efffc..aecad7c58 100644 --- a/MediaBrowser.Server.Implementations/Sorting/PlayCountComparer.cs +++ b/Emby.Server.Implementations/Sorting/PlayCountComparer.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { /// <summary> /// Class PlayCountComparer diff --git a/MediaBrowser.Server.Implementations/Sorting/PlayersComparer.cs b/Emby.Server.Implementations/Sorting/PlayersComparer.cs index 5bcd080d7..3b54517c3 100644 --- a/MediaBrowser.Server.Implementations/Sorting/PlayersComparer.cs +++ b/Emby.Server.Implementations/Sorting/PlayersComparer.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class PlayersComparer : IBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/PremiereDateComparer.cs b/Emby.Server.Implementations/Sorting/PremiereDateComparer.cs index ffe1fc24a..d7219c86f 100644 --- a/MediaBrowser.Server.Implementations/Sorting/PremiereDateComparer.cs +++ b/Emby.Server.Implementations/Sorting/PremiereDateComparer.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { /// <summary> /// Class PremiereDateComparer diff --git a/MediaBrowser.Server.Implementations/Sorting/ProductionYearComparer.cs b/Emby.Server.Implementations/Sorting/ProductionYearComparer.cs index 16d531334..ea479419a 100644 --- a/MediaBrowser.Server.Implementations/Sorting/ProductionYearComparer.cs +++ b/Emby.Server.Implementations/Sorting/ProductionYearComparer.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { /// <summary> /// Class ProductionYearComparer diff --git a/MediaBrowser.Server.Implementations/Sorting/RandomComparer.cs b/Emby.Server.Implementations/Sorting/RandomComparer.cs index b1677331a..1fbecde56 100644 --- a/MediaBrowser.Server.Implementations/Sorting/RandomComparer.cs +++ b/Emby.Server.Implementations/Sorting/RandomComparer.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { /// <summary> /// Class RandomComparer diff --git a/MediaBrowser.Server.Implementations/Sorting/RevenueComparer.cs b/Emby.Server.Implementations/Sorting/RevenueComparer.cs index 6caa27ac3..62e43eac1 100644 --- a/MediaBrowser.Server.Implementations/Sorting/RevenueComparer.cs +++ b/Emby.Server.Implementations/Sorting/RevenueComparer.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class RevenueComparer : IBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/RuntimeComparer.cs b/Emby.Server.Implementations/Sorting/RuntimeComparer.cs index 793cb265e..63c4758cb 100644 --- a/MediaBrowser.Server.Implementations/Sorting/RuntimeComparer.cs +++ b/Emby.Server.Implementations/Sorting/RuntimeComparer.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { /// <summary> /// Class RuntimeComparer diff --git a/MediaBrowser.Server.Implementations/Sorting/SeriesSortNameComparer.cs b/Emby.Server.Implementations/Sorting/SeriesSortNameComparer.cs index 6bc1264a4..b315d33c3 100644 --- a/MediaBrowser.Server.Implementations/Sorting/SeriesSortNameComparer.cs +++ b/Emby.Server.Implementations/Sorting/SeriesSortNameComparer.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { class SeriesSortNameComparer : IBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/SortNameComparer.cs b/Emby.Server.Implementations/Sorting/SortNameComparer.cs index 873753a2b..f2a764840 100644 --- a/MediaBrowser.Server.Implementations/Sorting/SortNameComparer.cs +++ b/Emby.Server.Implementations/Sorting/SortNameComparer.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { /// <summary> /// Class SortNameComparer diff --git a/MediaBrowser.Server.Implementations/Sorting/StartDateComparer.cs b/Emby.Server.Implementations/Sorting/StartDateComparer.cs index 7e6f24ec1..6be5f4883 100644 --- a/MediaBrowser.Server.Implementations/Sorting/StartDateComparer.cs +++ b/Emby.Server.Implementations/Sorting/StartDateComparer.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class StartDateComparer : IBaseItemComparer { diff --git a/MediaBrowser.Server.Implementations/Sorting/StudioComparer.cs b/Emby.Server.Implementations/Sorting/StudioComparer.cs index 83ab4dfc2..6735022af 100644 --- a/MediaBrowser.Server.Implementations/Sorting/StudioComparer.cs +++ b/Emby.Server.Implementations/Sorting/StudioComparer.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Querying; using System.Linq; -namespace MediaBrowser.Server.Implementations.Sorting +namespace Emby.Server.Implementations.Sorting { public class StudioComparer : IBaseItemComparer { diff --git a/Emby.Server.Implementations/packages.config b/Emby.Server.Implementations/packages.config new file mode 100644 index 000000000..97e40a2f4 --- /dev/null +++ b/Emby.Server.Implementations/packages.config @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="MediaBrowser.Naming" version="1.0.0.57" targetFramework="portable45-net45+win8" /> + <package id="Patterns.Logging" version="1.0.0.4" targetFramework="portable45-net45+win8" /> +</packages>
\ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/IO/FileRefresher.cs b/MediaBrowser.Server.Implementations/IO/FileRefresher.cs index eeefdd65a..2742e1a26 100644 --- a/MediaBrowser.Server.Implementations/IO/FileRefresher.cs +++ b/MediaBrowser.Server.Implementations/IO/FileRefresher.cs @@ -14,7 +14,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Model.Extensions; using MediaBrowser.Model.Logging; using MediaBrowser.Model.Tasks; -using MediaBrowser.Server.Implementations.ScheduledTasks; +using MediaBrowser.Model.Threading; namespace MediaBrowser.Server.Implementations.IO { @@ -26,13 +26,14 @@ namespace MediaBrowser.Server.Implementations.IO private IServerConfigurationManager ConfigurationManager { get; set; } private readonly IFileSystem _fileSystem; private readonly List<string> _affectedPaths = new List<string>(); - private Timer _timer; + private ITimer _timer; + private readonly ITimerFactory _timerFactory; private readonly object _timerLock = new object(); public string Path { get; private set; } public event EventHandler<EventArgs> Completed; - public FileRefresher(string path, IFileSystem fileSystem, IServerConfigurationManager configurationManager, ILibraryManager libraryManager, ITaskManager taskManager, ILogger logger) + public FileRefresher(string path, IFileSystem fileSystem, IServerConfigurationManager configurationManager, ILibraryManager libraryManager, ITaskManager taskManager, ILogger logger, ITimerFactory timerFactory) { logger.Debug("New file refresher created for {0}", path); Path = path; @@ -42,6 +43,7 @@ namespace MediaBrowser.Server.Implementations.IO LibraryManager = libraryManager; TaskManager = taskManager; Logger = logger; + _timerFactory = timerFactory; AddPath(path); } @@ -88,7 +90,7 @@ namespace MediaBrowser.Server.Implementations.IO if (_timer == null) { - _timer = new Timer(OnTimerCallback, null, TimeSpan.FromSeconds(ConfigurationManager.Configuration.LibraryMonitorDelay), TimeSpan.FromMilliseconds(-1)); + _timer = _timerFactory.Create(OnTimerCallback, null, TimeSpan.FromSeconds(ConfigurationManager.Configuration.LibraryMonitorDelay), TimeSpan.FromMilliseconds(-1)); } else { @@ -163,7 +165,7 @@ namespace MediaBrowser.Server.Implementations.IO // If the root folder changed, run the library task so the user can see it if (itemsToRefresh.Any(i => i is AggregateFolder)) { - TaskManager.CancelIfRunningAndQueue<RefreshMediaLibraryTask>(); + LibraryManager.ValidateMediaLibrary(new Progress<double>(), CancellationToken.None); return; } @@ -268,11 +270,11 @@ namespace MediaBrowser.Server.Implementations.IO return false; } } - catch (DirectoryNotFoundException) - { - // File may have been deleted - return false; - } + //catch (DirectoryNotFoundException) + //{ + // // File may have been deleted + // return false; + //} catch (FileNotFoundException) { // File may have been deleted diff --git a/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs b/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs index 77981b528..1f2a6255e 100644 --- a/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs +++ b/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs @@ -16,6 +16,7 @@ using MediaBrowser.Model.IO; using MediaBrowser.Controller; using MediaBrowser.Controller.IO; using MediaBrowser.Model.Tasks; +using MediaBrowser.Model.Threading; namespace MediaBrowser.Server.Implementations.IO { @@ -136,12 +137,12 @@ namespace MediaBrowser.Server.Implementations.IO private IServerConfigurationManager ConfigurationManager { get; set; } private readonly IFileSystem _fileSystem; - private readonly IServerApplicationHost _appHost; + private readonly ITimerFactory _timerFactory; /// <summary> /// Initializes a new instance of the <see cref="LibraryMonitor" /> class. /// </summary> - public LibraryMonitor(ILogManager logManager, ITaskManager taskManager, ILibraryManager libraryManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem, IServerApplicationHost appHost) + public LibraryMonitor(ILogManager logManager, ITaskManager taskManager, ILibraryManager libraryManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem, ITimerFactory timerFactory) { if (taskManager == null) { @@ -153,7 +154,7 @@ namespace MediaBrowser.Server.Implementations.IO Logger = logManager.GetLogger(GetType().Name); ConfigurationManager = configurationManager; _fileSystem = fileSystem; - _appHost = appHost; + _timerFactory = timerFactory; SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; } @@ -528,7 +529,7 @@ namespace MediaBrowser.Server.Implementations.IO } } - var newRefresher = new FileRefresher(path, _fileSystem, ConfigurationManager, LibraryManager, TaskManager, Logger); + var newRefresher = new FileRefresher(path, _fileSystem, ConfigurationManager, LibraryManager, TaskManager, Logger, _timerFactory); newRefresher.Completed += NewRefresher_Completed; _activeRefreshers.Add(newRefresher); } diff --git a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs index 397e5fc9f..1e5f760ca 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs @@ -15,7 +15,6 @@ using MediaBrowser.Model.Events; using MediaBrowser.Model.LiveTv; using MediaBrowser.Model.Logging; using MediaBrowser.Model.Serialization; -using MediaBrowser.Server.Implementations.FileOrganization; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -1528,28 +1527,28 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV private async void OnSuccessfulRecording(TimerInfo timer, string path) { - if (timer.IsProgramSeries && GetConfiguration().EnableAutoOrganize) - { - try - { - // this is to account for the library monitor holding a lock for additional time after the change is complete. - // ideally this shouldn't be hard-coded - await Task.Delay(30000).ConfigureAwait(false); - - var organize = new EpisodeFileOrganizer(_organizationService, _config, _fileSystem, _logger, _libraryManager, _libraryMonitor, _providerManager); - - var result = await organize.OrganizeEpisodeFile(path, _config.GetAutoOrganizeOptions(), false, CancellationToken.None).ConfigureAwait(false); - - if (result.Status == FileSortingStatus.Success) - { - return; - } - } - catch (Exception ex) - { - _logger.ErrorException("Error processing new recording", ex); - } - } + //if (timer.IsProgramSeries && GetConfiguration().EnableAutoOrganize) + //{ + // try + // { + // // this is to account for the library monitor holding a lock for additional time after the change is complete. + // // ideally this shouldn't be hard-coded + // await Task.Delay(30000).ConfigureAwait(false); + + // var organize = new EpisodeFileOrganizer(_organizationService, _config, _fileSystem, _logger, _libraryManager, _libraryMonitor, _providerManager); + + // var result = await organize.OrganizeEpisodeFile(path, _config.GetAutoOrganizeOptions(), false, CancellationToken.None).ConfigureAwait(false); + + // if (result.Status == FileSortingStatus.Success) + // { + // return; + // } + // } + // catch (Exception ex) + // { + // _logger.ErrorException("Error processing new recording", ex); + // } + //} } private void SaveNfo(TimerInfo timer, string recordingPath, string seriesPath) diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index 037c6bd0c..fc71ef8a0 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -108,7 +108,6 @@ <Compile Include="..\SharedVersion.cs"> <Link>Properties\SharedVersion.cs</Link> </Compile> - <Compile Include="Activity\ActivityManager.cs" /> <Compile Include="Activity\ActivityRepository.cs" /> <Compile Include="Archiving\ZipClient.cs" /> <Compile Include="Collections\CollectionsDynamicFolder.cs" /> @@ -122,7 +121,6 @@ <Compile Include="Devices\DeviceManager.cs" /> <Compile Include="Devices\DeviceRepository.cs" /> <Compile Include="Devices\CameraUploadsFolder.cs" /> - <Compile Include="Dto\DtoService.cs" /> <Compile Include="EntryPoints\ActivityLogEntryPoint.cs" /> <Compile Include="EntryPoints\AutomaticRestartEntryPoint.cs" /> <Compile Include="EntryPoints\ExternalPortForwarding.cs" /> @@ -134,16 +132,9 @@ <Compile Include="EntryPoints\RefreshUsersMetadata.cs" /> <Compile Include="EntryPoints\UsageEntryPoint.cs" /> <Compile Include="EntryPoints\UsageReporter.cs" /> - <Compile Include="FileOrganization\EpisodeFileOrganizer.cs" /> - <Compile Include="FileOrganization\Extensions.cs" /> - <Compile Include="FileOrganization\FileOrganizationNotifier.cs" /> - <Compile Include="FileOrganization\FileOrganizationService.cs" /> - <Compile Include="FileOrganization\NameUtils.cs" /> - <Compile Include="FileOrganization\TvFolderOrganizer.cs" /> <Compile Include="EntryPoints\UdpServerEntryPoint.cs" /> <Compile Include="EntryPoints\ServerEventNotifier.cs" /> <Compile Include="EntryPoints\UserDataChangeNotifier.cs" /> - <Compile Include="FileOrganization\OrganizerScheduledTask.cs" /> <Compile Include="HttpServer\IHttpListener.cs" /> <Compile Include="HttpServer\Security\AuthorizationContext.cs" /> <Compile Include="HttpServer\ContainerAdapter.cs" /> @@ -171,45 +162,8 @@ <Compile Include="IO\LibraryMonitor.cs" /> <Compile Include="IO\MemoryStreamProvider.cs" /> <Compile Include="IO\ThrottledStream.cs" /> - <Compile Include="Library\CoreResolutionIgnoreRule.cs" /> - <Compile Include="Library\LibraryManager.cs" /> - <Compile Include="Library\LocalTrailerPostScanTask.cs" /> - <Compile Include="Library\MediaSourceManager.cs" /> - <Compile Include="Library\MusicManager.cs" /> - <Compile Include="Library\PathExtensions.cs" /> - <Compile Include="Library\Resolvers\SpecialFolderResolver.cs" /> - <Compile Include="Library\Resolvers\BaseVideoResolver.cs" /> - <Compile Include="Library\Resolvers\PhotoAlbumResolver.cs" /> - <Compile Include="Library\Resolvers\PhotoResolver.cs" /> - <Compile Include="Library\Resolvers\PlaylistResolver.cs" /> - <Compile Include="Library\SearchEngine.cs" /> - <Compile Include="Library\ResolverHelper.cs" /> - <Compile Include="Library\Resolvers\Audio\AudioResolver.cs" /> - <Compile Include="Library\Resolvers\Audio\MusicAlbumResolver.cs" /> - <Compile Include="Library\Resolvers\Audio\MusicArtistResolver.cs" /> - <Compile Include="Library\Resolvers\ItemResolver.cs" /> - <Compile Include="Library\Resolvers\FolderResolver.cs" /> - <Compile Include="Library\Resolvers\Movies\BoxSetResolver.cs" /> - <Compile Include="Library\Resolvers\Movies\MovieResolver.cs" /> - <Compile Include="Library\Resolvers\TV\EpisodeResolver.cs" /> - <Compile Include="Library\Resolvers\TV\SeasonResolver.cs" /> - <Compile Include="Library\Resolvers\TV\SeriesResolver.cs" /> - <Compile Include="Library\Resolvers\VideoResolver.cs" /> <Compile Include="Library\UserDataManager.cs" /> <Compile Include="Library\UserManager.cs" /> - <Compile Include="Library\UserViewManager.cs" /> - <Compile Include="Library\Validators\ArtistsPostScanTask.cs" /> - <Compile Include="Library\Validators\ArtistsValidator.cs" /> - <Compile Include="Library\Validators\GameGenresPostScanTask.cs" /> - <Compile Include="Library\Validators\GameGenresValidator.cs" /> - <Compile Include="Library\Validators\GenresPostScanTask.cs" /> - <Compile Include="Library\Validators\GenresValidator.cs" /> - <Compile Include="Library\Validators\MusicGenresPostScanTask.cs" /> - <Compile Include="Library\Validators\MusicGenresValidator.cs" /> - <Compile Include="Library\Validators\PeopleValidator.cs" /> - <Compile Include="Library\Validators\StudiosPostScanTask.cs" /> - <Compile Include="Library\Validators\StudiosValidator.cs" /> - <Compile Include="Library\Validators\YearsPostScanTask.cs" /> <Compile Include="LiveTv\ChannelImageProvider.cs" /> <Compile Include="LiveTv\EmbyTV\DirectRecorder.cs" /> <Compile Include="LiveTv\EmbyTV\EmbyTV.cs" /> @@ -267,19 +221,16 @@ <Compile Include="News\NewsEntryPoint.cs" /> <Compile Include="Notifications\IConfigurableNotificationService.cs" /> <Compile Include="Persistence\BaseSqliteRepository.cs" /> - <Compile Include="Persistence\CleanDatabaseScheduledTask.cs" /> <Compile Include="Persistence\DataExtensions.cs" /> <Compile Include="Persistence\IDbConnector.cs" /> <Compile Include="Persistence\MediaStreamColumns.cs" /> <Compile Include="Reflection\AssemblyInfo.cs" /> - <Compile Include="ScheduledTasks\RefreshMediaLibraryTask.cs" /> <Compile Include="Security\MBLicenseFile.cs" /> <Compile Include="Security\PluginSecurityManager.cs" /> <Compile Include="Security\RegRecord.cs" /> <Compile Include="Serialization\JsonSerializer.cs" /> <Compile Include="Social\SharingManager.cs" /> <Compile Include="Social\SharingRepository.cs" /> - <Compile Include="Sorting\StartDateComparer.cs" /> <Compile Include="Sync\SyncHelper.cs" /> <Compile Include="Sync\SyncJobOptions.cs" /> <Compile Include="Sync\SyncNotificationEntryPoint.cs" /> @@ -311,40 +262,10 @@ </Compile> <Compile Include="Session\SessionWebSocketListener.cs" /> <Compile Include="Session\WebSocketController.cs" /> - <Compile Include="Sorting\AiredEpisodeOrderComparer.cs" /> - <Compile Include="Sorting\AirTimeComparer.cs" /> - <Compile Include="Sorting\AlbumArtistComparer.cs" /> - <Compile Include="Sorting\AlbumComparer.cs" /> - <Compile Include="Sorting\AlphanumComparator.cs" /> - <Compile Include="Sorting\ArtistComparer.cs" /> - <Compile Include="Sorting\BudgetComparer.cs" /> - <Compile Include="Sorting\CommunityRatingComparer.cs" /> - <Compile Include="Sorting\CriticRatingComparer.cs" /> - <Compile Include="Sorting\DateCreatedComparer.cs" /> - <Compile Include="Sorting\DateLastMediaAddedComparer.cs" /> - <Compile Include="Sorting\DatePlayedComparer.cs" /> - <Compile Include="Sorting\GameSystemComparer.cs" /> - <Compile Include="Sorting\IsFavoriteOrLikeComparer.cs" /> - <Compile Include="Sorting\IsFolderComparer.cs" /> - <Compile Include="Sorting\IsPlayedComparer.cs" /> - <Compile Include="Sorting\IsUnplayedComparer.cs" /> - <Compile Include="Sorting\MetascoreComparer.cs" /> - <Compile Include="Sorting\NameComparer.cs" /> - <Compile Include="Sorting\OfficialRatingComparer.cs" /> - <Compile Include="Sorting\PlayCountComparer.cs" /> - <Compile Include="Sorting\PlayersComparer.cs" /> - <Compile Include="Sorting\PremiereDateComparer.cs" /> - <Compile Include="Sorting\ProductionYearComparer.cs" /> - <Compile Include="Sorting\RandomComparer.cs" /> - <Compile Include="Sorting\RevenueComparer.cs" /> - <Compile Include="Sorting\RuntimeComparer.cs" /> - <Compile Include="Sorting\SeriesSortNameComparer.cs" /> - <Compile Include="Sorting\SortNameComparer.cs" /> <Compile Include="Persistence\SqliteDisplayPreferencesRepository.cs" /> <Compile Include="Persistence\SqliteItemRepository.cs" /> <Compile Include="Persistence\SqliteUserDataRepository.cs" /> <Compile Include="Persistence\SqliteUserRepository.cs" /> - <Compile Include="Sorting\StudioComparer.cs" /> <Compile Include="Sync\AppSyncProvider.cs" /> <Compile Include="Sync\CloudSyncProfile.cs" /> <Compile Include="Sync\IHasSyncQuality.cs" /> diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs index c5a9fbc19..eb5a8a2e5 100644 --- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs +++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs @@ -54,9 +54,7 @@ using MediaBrowser.Server.Implementations.Collections; using MediaBrowser.Server.Implementations.Configuration; using MediaBrowser.Server.Implementations.Connect; using MediaBrowser.Server.Implementations.Devices; -using MediaBrowser.Server.Implementations.Dto; using MediaBrowser.Server.Implementations.EntryPoints; -using MediaBrowser.Server.Implementations.FileOrganization; using MediaBrowser.Server.Implementations.HttpServer; using MediaBrowser.Server.Implementations.HttpServer.Security; using MediaBrowser.Server.Implementations.IO; @@ -107,8 +105,13 @@ using Emby.Dlna.ContentDirectory; using Emby.Dlna.Main; using Emby.Dlna.MediaReceiverRegistrar; using Emby.Dlna.Ssdp; +using Emby.Server.Implementations.Activity; using Emby.Server.Implementations.Channels; using Emby.Server.Implementations.Collections; +using Emby.Server.Implementations.Dto; +using Emby.Server.Implementations.FileOrganization; +using Emby.Server.Implementations.Library; +using Emby.Server.Implementations.Persistence; using Emby.Server.Implementations.Playlists; using Emby.Server.Implementations.Updates; using MediaBrowser.Model.Activity; @@ -588,7 +591,7 @@ namespace MediaBrowser.Server.Startup.Common var musicManager = new MusicManager(LibraryManager); RegisterSingleInstance<IMusicManager>(new MusicManager(LibraryManager)); - LibraryMonitor = new LibraryMonitor(LogManager, TaskManager, LibraryManager, ServerConfigurationManager, FileSystemManager, this); + LibraryMonitor = new LibraryMonitor(LogManager, TaskManager, LibraryManager, ServerConfigurationManager, FileSystemManager, TimerFactory); RegisterSingleInstance(LibraryMonitor); ProviderManager = new ProviderManager(HttpClient, ServerConfigurationManager, LibraryMonitor, LogManager, FileSystemManager, ApplicationPaths, () => LibraryManager, JsonSerializer, MemoryStreamProvider); @@ -639,7 +642,7 @@ namespace MediaBrowser.Server.Startup.Common ChannelManager = new ChannelManager(UserManager, DtoService, LibraryManager, LogManager.GetLogger("ChannelManager"), ServerConfigurationManager, FileSystemManager, UserDataManager, JsonSerializer, LocalizationManager, HttpClient, ProviderManager); RegisterSingleInstance(ChannelManager); - MediaSourceManager = new MediaSourceManager(ItemRepository, UserManager, LibraryManager, LogManager.GetLogger("MediaSourceManager"), JsonSerializer, FileSystemManager, UserDataManager); + MediaSourceManager = new MediaSourceManager(ItemRepository, UserManager, LibraryManager, LogManager.GetLogger("MediaSourceManager"), JsonSerializer, FileSystemManager, UserDataManager, TimerFactory); RegisterSingleInstance(MediaSourceManager); SessionManager = new SessionManager(UserDataManager, LogManager.GetLogger("SessionManager"), LibraryManager, UserManager, musicManager, DtoService, ImageProcessor, JsonSerializer, this, HttpClient, AuthenticationRepository, DeviceManager, MediaSourceManager); diff --git a/MediaBrowser.Server.Startup.Common/Migrations/DbMigration.cs b/MediaBrowser.Server.Startup.Common/Migrations/DbMigration.cs index 4a1b4000e..e095275b1 100644 --- a/MediaBrowser.Server.Startup.Common/Migrations/DbMigration.cs +++ b/MediaBrowser.Server.Startup.Common/Migrations/DbMigration.cs @@ -1,4 +1,5 @@ using System.Threading.Tasks; +using Emby.Server.Implementations.Persistence; using MediaBrowser.Controller.Configuration; using MediaBrowser.Model.Tasks; using MediaBrowser.Server.Implementations.Persistence; |
