Moved TV into the main project and added Series properties to DTOBaseItem

This commit is contained in:
LukePulverenti Luke Pulverenti luke pulverenti 2012-09-08 15:05:18 -04:00
parent 2884df296c
commit 8b39ed2f63
31 changed files with 126 additions and 341 deletions

View File

@ -1,11 +1,12 @@
using MediaBrowser.Controller;
using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Entities.TV;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api
{
@ -92,7 +93,7 @@ namespace MediaBrowser.Api
}
AttachBasicFields(dto, item, user);
// Make sure all the tasks we kicked off have completed.
if (tasks.Count > 0)
{
@ -116,7 +117,7 @@ namespace MediaBrowser.Api
{
dto.Genres = item.Genres.ToArray();
}
dto.HasArt = !string.IsNullOrEmpty(item.ArtImagePath);
dto.HasBanner = !string.IsNullOrEmpty(item.BannerImagePath);
dto.HasLogo = !string.IsNullOrEmpty(item.LogoImagePath);
@ -182,6 +183,7 @@ namespace MediaBrowser.Api
dto.IsVirtualFolder = folder.IsVirtualFolder;
}
// Add AudioInfo
Audio audio = item as Audio;
if (audio != null)
@ -196,6 +198,7 @@ namespace MediaBrowser.Api
};
}
// Add VideoInfo
Video video = item as Video;
if (video != null)
@ -219,6 +222,21 @@ namespace MediaBrowser.Api
dto.VideoInfo.Subtitles = video.Subtitles.ToArray();
}
}
// Add SeriesInfo
Series series = item as Series;
if (series != null)
{
DayOfWeek[] airDays = series.AirDays == null ? new DayOfWeek[] { } : series.AirDays.ToArray(); ;
dto.SeriesInfo = new SeriesInfo()
{
AirDays = airDays,
AirTime = series.AirTime,
Status = series.Status
};
}
}
/// <summary>

View File

@ -8,6 +8,7 @@ using MediaBrowser.Controller.Weather;
using MediaBrowser.Model.Authentication;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Entities.TV;
using MediaBrowser.Model.Progress;
using System;
using System.Collections.Generic;
@ -111,12 +112,6 @@ namespace MediaBrowser.Controller
// Sort the providers by priority
MetadataProviders = MetadataProvidersEnumerable.OrderBy(e => e.Priority).ToArray();
// Initialize the metadata providers
Parallel.ForEach(MetadataProviders, provider =>
{
provider.Init();
});
}
/// <summary>
@ -126,17 +121,26 @@ namespace MediaBrowser.Controller
/// </summary>
void ItemController_PreBeginResolvePath(object sender, PreBeginResolveEventArgs e)
{
// Ignore hidden files and folders
if (e.IsHidden || e.IsSystemFile)
{
// Ignore hidden files and folders
e.Cancel = true;
}
// Ignore any folders named "trailers"
else if (Path.GetFileName(e.Path).Equals("trailers", StringComparison.OrdinalIgnoreCase))
{
// Ignore any folders named "trailers"
e.Cancel = true;
}
// Don't try and resolve files within the season metadata folder
else if (Path.GetFileName(e.Path).Equals("metadata", StringComparison.OrdinalIgnoreCase) && e.IsDirectory)
{
if (e.Parent is Season || e.Parent is Series)
{
e.Cancel = true;
}
}
}
/// <summary>
@ -383,26 +387,5 @@ namespace MediaBrowser.Controller
}
}
}
protected override void DisposeComposableParts()
{
base.DisposeComposableParts();
DisposeProviders();
}
/// <summary>
/// Disposes all providers
/// </summary>
private void DisposeProviders()
{
if (MetadataProviders != null)
{
foreach (var provider in MetadataProviders)
{
provider.Dispose();
}
}
}
}
}

View File

@ -59,8 +59,17 @@
<ItemGroup>
<Compile Include="Providers\Movies\MovieProviderFromXml.cs" />
<Compile Include="Providers\Movies\MovieSpecialFeaturesProvider.cs" />
<Compile Include="Providers\TV\EpisodeImageFromMediaLocationProvider.cs" />
<Compile Include="Providers\TV\EpisodeProviderFromXml.cs" />
<Compile Include="Providers\TV\EpisodeXmlParser.cs" />
<Compile Include="Providers\TV\SeriesProviderFromXml.cs" />
<Compile Include="Providers\TV\SeriesXmlParser.cs" />
<Compile Include="Resolvers\Movies\BoxSetResolver.cs" />
<Compile Include="Resolvers\Movies\MovieResolver.cs" />
<Compile Include="Resolvers\TV\EpisodeResolver.cs" />
<Compile Include="Resolvers\TV\SeasonResolver.cs" />
<Compile Include="Resolvers\TV\SeriesResolver.cs" />
<Compile Include="Resolvers\TV\TVUtils.cs" />
<Compile Include="ServerApplicationPaths.cs" />
<Compile Include="Library\ItemResolveEventArgs.cs" />
<Compile Include="FFMpeg\FFProbe.cs" />
@ -82,7 +91,7 @@
<Compile Include="Resolvers\FolderResolver.cs" />
<Compile Include="Resolvers\VideoResolver.cs" />
<Compile Include="Weather\WeatherClient.cs" />
<Compile Include="Xml\BaseItemXmlParser.cs" />
<Compile Include="Providers\BaseItemXmlParser.cs" />
<Compile Include="Xml\XmlExtensions.cs" />
</ItemGroup>
<ItemGroup>

View File

@ -1,17 +1,15 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using MediaBrowser.Common.Logging;
using MediaBrowser.Controller.FFMpeg;
using MediaBrowser.Controller.FFMpeg;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.Linq;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.Providers
{
//[Export(typeof(BaseMetadataProvider))]
[Export(typeof(BaseMetadataProvider))]
public class AudioInfoProvider : BaseMediaInfoProvider<Audio>
{
public override MetadataProviderPriority Priority
@ -161,7 +159,7 @@ namespace MediaBrowser.Controller.Providers
{
await Task.Run(() =>
{
T myItem = item as T;
/*T myItem = item as T;
if (CanSkipFFProbe(myItem))
{
@ -192,43 +190,12 @@ namespace MediaBrowser.Controller.Providers
}
}
Fetch(myItem, result);
Fetch(myItem, result);*/
});
}
protected abstract void Fetch(T item, FFProbeResult result);
public override void Init()
{
base.Init();
EnsureCacheSubFolders(CacheDirectory);
}
private void EnsureCacheSubFolders(string root)
{
// Do this now so that we don't have to do this on every operation, which would require us to create a lock in order to maintain thread-safety
for (int i = 0; i <= 9; i++)
{
EnsureDirectory(Path.Combine(root, i.ToString()));
}
EnsureDirectory(Path.Combine(root, "a"));
EnsureDirectory(Path.Combine(root, "b"));
EnsureDirectory(Path.Combine(root, "c"));
EnsureDirectory(Path.Combine(root, "d"));
EnsureDirectory(Path.Combine(root, "e"));
EnsureDirectory(Path.Combine(root, "f"));
}
private void EnsureDirectory(string path)
{
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
}
protected virtual bool CanSkipFFProbe(T item)
{
return false;

View File

@ -1,10 +1,11 @@
using System;
using MediaBrowser.Controller.Xml;
using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Controller.Xml
namespace MediaBrowser.Controller.Providers
{
/// <summary>
/// Provides a base class for parsing metadata xml

View File

@ -1,26 +1,11 @@
using System;
using System.Threading.Tasks;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.Providers
{
public abstract class BaseMetadataProvider : IDisposable
public abstract class BaseMetadataProvider
{
/// <summary>
/// If the provider needs any startup routines, add them here
/// </summary>
public virtual void Init()
{
}
/// <summary>
/// Disposes anything created during Init
/// </summary>
public virtual void Dispose()
{
}
public abstract bool Supports(BaseEntity item);
public virtual bool RequiresInternet

View File

@ -1,9 +1,8 @@
using System.ComponentModel.Composition;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
using System.ComponentModel.Composition;
using System.IO;
using System.Threading.Tasks;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Xml;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Controller.Providers
{

View File

@ -1,10 +1,10 @@
using System;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.IO;
using System.Threading.Tasks;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Controller.Providers
{

View File

@ -1,10 +1,10 @@
using System.Collections.Generic;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.IO;
using System.Threading.Tasks;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Controller.Providers
{

View File

@ -1,13 +1,12 @@
using System.ComponentModel.Composition;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Entities.TV;
using System.ComponentModel.Composition;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.TV.Entities;
namespace MediaBrowser.TV.Providers
namespace MediaBrowser.Controller.Providers.TV
{
[Export(typeof(BaseMetadataProvider))]
public class EpisodeImageFromMediaLocationProvider : BaseMetadataProvider

View File

@ -1,13 +1,11 @@
using System.ComponentModel.Composition;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Entities.TV;
using System.ComponentModel.Composition;
using System.IO;
using System.Threading.Tasks;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.TV.Entities;
using MediaBrowser.TV.Metadata;
namespace MediaBrowser.TV.Providers
namespace MediaBrowser.Controller.Providers.TV
{
[Export(typeof(BaseMetadataProvider))]
public class EpisodeProviderFromXml : BaseMetadataProvider

View File

@ -1,9 +1,8 @@
using System.IO;
using MediaBrowser.Model.Entities.TV;
using System.IO;
using System.Xml;
using MediaBrowser.Controller.Xml;
using MediaBrowser.TV.Entities;
namespace MediaBrowser.TV.Metadata
namespace MediaBrowser.Controller.Providers.TV
{
public class EpisodeXmlParser : BaseItemXmlParser<Episode>
{

View File

@ -1,13 +1,11 @@
using System.ComponentModel.Composition;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Entities.TV;
using System.ComponentModel.Composition;
using System.IO;
using System.Threading.Tasks;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.TV.Entities;
using MediaBrowser.TV.Metadata;
namespace MediaBrowser.TV.Providers
namespace MediaBrowser.Controller.Providers.TV
{
[Export(typeof(BaseMetadataProvider))]
public class SeriesProviderFromXml : BaseMetadataProvider

View File

@ -1,10 +1,9 @@
using System;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Entities.TV;
using System;
using System.Xml;
using MediaBrowser.Controller.Xml;
using MediaBrowser.Model.Entities;
using MediaBrowser.TV.Entities;
namespace MediaBrowser.TV.Metadata
namespace MediaBrowser.Controller.Providers.TV
{
public class SeriesXmlParser : BaseItemXmlParser<Series>
{

View File

@ -1,13 +1,13 @@
using System;
using MediaBrowser.Controller.FFMpeg;
using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.Linq;
using MediaBrowser.Controller.FFMpeg;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Controller.Providers
{
//[Export(typeof(BaseMetadataProvider))]
[Export(typeof(BaseMetadataProvider))]
public class VideoInfoProvider : BaseMediaInfoProvider<Video>
{
public override MetadataProviderPriority Priority
@ -163,15 +163,5 @@ namespace MediaBrowser.Controller.Providers
return true;
}
public override void Init()
{
base.Init();
// This is an optimzation. Do this now so that it doesn't have to be done upon first serialization.
ProtoBuf.Meta.RuntimeTypeModel.Default.Add(typeof(FFProbeResult), true);
ProtoBuf.Meta.RuntimeTypeModel.Default.Add(typeof(MediaStream), true);
ProtoBuf.Meta.RuntimeTypeModel.Default.Add(typeof(MediaFormat), true);
}
}
}

View File

@ -1,9 +1,8 @@
using System.ComponentModel.Composition;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Resolvers;
using MediaBrowser.TV.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities.TV;
using System.ComponentModel.Composition;
namespace MediaBrowser.TV.Resolvers
namespace MediaBrowser.Controller.Resolvers.TV
{
[Export(typeof(IBaseItemResolver))]
public class EpisodeResolver : BaseVideoResolver<Episode>

View File

@ -1,10 +1,9 @@
using System.ComponentModel.Composition;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities.TV;
using System.ComponentModel.Composition;
using System.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Resolvers;
using MediaBrowser.TV.Entities;
namespace MediaBrowser.TV.Resolvers
namespace MediaBrowser.Controller.Resolvers.TV
{
[Export(typeof(IBaseItemResolver))]
public class SeasonResolver : BaseFolderResolver<Season>

View File

@ -1,12 +1,11 @@
using System;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Entities.TV;
using System;
using System.ComponentModel.Composition;
using System.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Resolvers;
using MediaBrowser.Model.Entities;
using MediaBrowser.TV.Entities;
namespace MediaBrowser.TV.Resolvers
namespace MediaBrowser.Controller.Resolvers.TV
{
[Export(typeof(IBaseItemResolver))]
public class SeriesResolver : BaseFolderResolver<Series>

View File

@ -1,8 +1,8 @@
using System;
using MediaBrowser.Controller.IO;
using System;
using System.Text.RegularExpressions;
using MediaBrowser.Controller.IO;
namespace MediaBrowser.TV
namespace MediaBrowser.Controller.Resolvers.TV
{
public static class TVUtils
{

View File

@ -1,75 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{5758B2C7-949A-421D-B268-70A950CF8741}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MediaBrowser.InternetProviders</RootNamespace>
<AssemblyName>MediaBrowser.InternetProviders</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Plugin.cs" />
<Compile Include="PluginConfiguration.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj">
<Project>{9142eefa-7570-41e1-bfcc-468bb571af2f}</Project>
<Name>MediaBrowser.Common</Name>
</ProjectReference>
<ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj">
<Project>{17e1f4e6-8abd-4fe5-9ecf-43d4b6087ba2}</Project>
<Name>MediaBrowser.Controller</Name>
</ProjectReference>
<ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj">
<Project>{7eeeb4bb-f3e8-48fc-b4c5-70f0fff8329b}</Project>
<Name>MediaBrowser.Model</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>xcopy "$(TargetPath)" "$(SolutionDir)\ProgramData\Plugins\" /y</PostBuildEvent>
</PropertyGroup>
<!-- 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.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -1,14 +0,0 @@
using System.ComponentModel.Composition;
using MediaBrowser.Common.Plugins;
namespace MediaBrowser.InternetProviders
{
[Export(typeof(BasePlugin))]
public class Plugin : BaseGenericPlugin<PluginConfiguration>
{
public override string Name
{
get { return "Internet Providers"; }
}
}
}

View File

@ -1,8 +0,0 @@
using MediaBrowser.Model.Plugins;
namespace MediaBrowser.InternetProviders
{
public class PluginConfiguration : BasePluginConfiguration
{
}
}

View File

@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("MediaBrowser.InternetProviders")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("MediaBrowser.InternetProviders")]
[assembly: AssemblyCopyright("Copyright © 2012")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("520717d0-3257-41b2-8da2-6aa8b8248250")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -157,7 +157,7 @@ namespace MediaBrowser.Model.DTO
public VideoInfo VideoInfo { get; set; }
[ProtoMember(44)]
public VideoInfo SeriesInfo { get; set; }
public SeriesInfo SeriesInfo { get; set; }
[ProtoMember(45)]
public bool IsNew { get; set; }

View File

@ -0,0 +1,7 @@

namespace MediaBrowser.Model.Entities.TV
{
public class Episode : Video
{
}
}

View File

@ -1,19 +1,18 @@
using System;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.TV.Entities
namespace MediaBrowser.Model.Entities.TV
{
public class Season : Folder
{
/// <summary>
/// Store these to reduce disk access in Episode Resolver
/// </summary>
internal string[] MetadataFiles { get; set; }
public string[] MetadataFiles { get; set; }
/// <summary>
/// Determines if the metafolder contains a given file
/// </summary>
internal bool ContainsMetadataFile(string file)
public bool ContainsMetadataFile(string file)
{
for (int i = 0; i < MetadataFiles.Length; i++)
{

View File

@ -1,8 +1,7 @@
using System;
using System.Collections.Generic;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.TV.Entities
namespace MediaBrowser.Model.Entities.TV
{
public class Series : Folder
{

View File

@ -54,6 +54,9 @@
<Compile Include="Entities\Movies\Movie.cs" />
<Compile Include="Entities\Person.cs" />
<Compile Include="Entities\Studio.cs" />
<Compile Include="Entities\TV\Episode.cs" />
<Compile Include="Entities\TV\Season.cs" />
<Compile Include="Entities\TV\Series.cs" />
<Compile Include="Entities\Video.cs" />
<Compile Include="Entities\Year.cs" />
<Compile Include="Plugins\BasePluginConfiguration.cs" />

View File

@ -1,8 +0,0 @@
using MediaBrowser.Model.Entities;
namespace MediaBrowser.TV.Entities
{
public class Episode : Video
{
}
}

View File

@ -44,20 +44,8 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Entities\Episode.cs" />
<Compile Include="Providers\EpisodeImageFromMediaLocationProvider.cs" />
<Compile Include="Providers\EpisodeProviderFromXml.cs" />
<Compile Include="Providers\SeriesProviderFromXml.cs" />
<Compile Include="Resolvers\EpisodeResolver.cs" />
<Compile Include="Metadata\EpisodeXmlParser.cs" />
<Compile Include="Plugin.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Entities\Season.cs" />
<Compile Include="Resolvers\SeasonResolver.cs" />
<Compile Include="Entities\Series.cs" />
<Compile Include="Resolvers\SeriesResolver.cs" />
<Compile Include="Metadata\SeriesXmlParser.cs" />
<Compile Include="TVUtils.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj">

View File

@ -3,12 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Controller", "MediaBrowser.Controller\MediaBrowser.Controller.csproj", "{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.TV", "MediaBrowser.TV\MediaBrowser.TV.csproj", "{32DFC600-CD2F-4B2D-B39A-3B4C6C32F9B4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Api", "MediaBrowser.Api\MediaBrowser.Api.csproj", "{4FD51AC5-2C16-4308-A993-C3A84F3B4582}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.InternetProviders", "MediaBrowser.InternetProviders\MediaBrowser.InternetProviders.csproj", "{5758B2C7-949A-421D-B268-70A950CF8741}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Common", "MediaBrowser.Common\MediaBrowser.Common.csproj", "{9142EEFA-7570-41E1-BFCC-468BB571AF2F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Model", "MediaBrowser.Model\MediaBrowser.Model.csproj", "{7EEEB4BB-F3E8-48FC-B4C5-70F0FFF8329B}"
@ -32,18 +28,10 @@ Global
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Release|Any CPU.Build.0 = Release|Any CPU
{32DFC600-CD2F-4B2D-B39A-3B4C6C32F9B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{32DFC600-CD2F-4B2D-B39A-3B4C6C32F9B4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{32DFC600-CD2F-4B2D-B39A-3B4C6C32F9B4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{32DFC600-CD2F-4B2D-B39A-3B4C6C32F9B4}.Release|Any CPU.Build.0 = Release|Any CPU
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Release|Any CPU.Build.0 = Release|Any CPU
{5758B2C7-949A-421D-B268-70A950CF8741}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5758B2C7-949A-421D-B268-70A950CF8741}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5758B2C7-949A-421D-B268-70A950CF8741}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5758B2C7-949A-421D-B268-70A950CF8741}.Release|Any CPU.Build.0 = Release|Any CPU
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Release|Any CPU.ActiveCfg = Release|Any CPU