mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-11-15 18:08:53 -07:00
Moved TV into the main project and added Series properties to DTOBaseItem
This commit is contained in:
parent
2884df296c
commit
8b39ed2f63
@ -1,11 +1,12 @@
|
|||||||
using MediaBrowser.Controller;
|
using MediaBrowser.Controller;
|
||||||
using MediaBrowser.Model.DTO;
|
using MediaBrowser.Model.DTO;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
|
using MediaBrowser.Model.Entities.TV;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Net;
|
using System.Net;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Api
|
namespace MediaBrowser.Api
|
||||||
{
|
{
|
||||||
@ -182,6 +183,7 @@ namespace MediaBrowser.Api
|
|||||||
dto.IsVirtualFolder = folder.IsVirtualFolder;
|
dto.IsVirtualFolder = folder.IsVirtualFolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add AudioInfo
|
||||||
Audio audio = item as Audio;
|
Audio audio = item as Audio;
|
||||||
|
|
||||||
if (audio != null)
|
if (audio != null)
|
||||||
@ -196,6 +198,7 @@ namespace MediaBrowser.Api
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add VideoInfo
|
||||||
Video video = item as Video;
|
Video video = item as Video;
|
||||||
|
|
||||||
if (video != null)
|
if (video != null)
|
||||||
@ -219,6 +222,21 @@ namespace MediaBrowser.Api
|
|||||||
dto.VideoInfo.Subtitles = video.Subtitles.ToArray();
|
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>
|
/// <summary>
|
||||||
|
@ -8,6 +8,7 @@ using MediaBrowser.Controller.Weather;
|
|||||||
using MediaBrowser.Model.Authentication;
|
using MediaBrowser.Model.Authentication;
|
||||||
using MediaBrowser.Model.Configuration;
|
using MediaBrowser.Model.Configuration;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
|
using MediaBrowser.Model.Entities.TV;
|
||||||
using MediaBrowser.Model.Progress;
|
using MediaBrowser.Model.Progress;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -111,12 +112,6 @@ namespace MediaBrowser.Controller
|
|||||||
|
|
||||||
// Sort the providers by priority
|
// Sort the providers by priority
|
||||||
MetadataProviders = MetadataProvidersEnumerable.OrderBy(e => e.Priority).ToArray();
|
MetadataProviders = MetadataProvidersEnumerable.OrderBy(e => e.Priority).ToArray();
|
||||||
|
|
||||||
// Initialize the metadata providers
|
|
||||||
Parallel.ForEach(MetadataProviders, provider =>
|
|
||||||
{
|
|
||||||
provider.Init();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -126,17 +121,26 @@ namespace MediaBrowser.Controller
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
void ItemController_PreBeginResolvePath(object sender, PreBeginResolveEventArgs e)
|
void ItemController_PreBeginResolvePath(object sender, PreBeginResolveEventArgs e)
|
||||||
{
|
{
|
||||||
|
// Ignore hidden files and folders
|
||||||
if (e.IsHidden || e.IsSystemFile)
|
if (e.IsHidden || e.IsSystemFile)
|
||||||
{
|
{
|
||||||
// Ignore hidden files and folders
|
|
||||||
e.Cancel = true;
|
e.Cancel = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Ignore any folders named "trailers"
|
||||||
else if (Path.GetFileName(e.Path).Equals("trailers", StringComparison.OrdinalIgnoreCase))
|
else if (Path.GetFileName(e.Path).Equals("trailers", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
// Ignore any folders named "trailers"
|
|
||||||
e.Cancel = true;
|
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>
|
/// <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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,8 +59,17 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Providers\Movies\MovieProviderFromXml.cs" />
|
<Compile Include="Providers\Movies\MovieProviderFromXml.cs" />
|
||||||
<Compile Include="Providers\Movies\MovieSpecialFeaturesProvider.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\BoxSetResolver.cs" />
|
||||||
<Compile Include="Resolvers\Movies\MovieResolver.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="ServerApplicationPaths.cs" />
|
||||||
<Compile Include="Library\ItemResolveEventArgs.cs" />
|
<Compile Include="Library\ItemResolveEventArgs.cs" />
|
||||||
<Compile Include="FFMpeg\FFProbe.cs" />
|
<Compile Include="FFMpeg\FFProbe.cs" />
|
||||||
@ -82,7 +91,7 @@
|
|||||||
<Compile Include="Resolvers\FolderResolver.cs" />
|
<Compile Include="Resolvers\FolderResolver.cs" />
|
||||||
<Compile Include="Resolvers\VideoResolver.cs" />
|
<Compile Include="Resolvers\VideoResolver.cs" />
|
||||||
<Compile Include="Weather\WeatherClient.cs" />
|
<Compile Include="Weather\WeatherClient.cs" />
|
||||||
<Compile Include="Xml\BaseItemXmlParser.cs" />
|
<Compile Include="Providers\BaseItemXmlParser.cs" />
|
||||||
<Compile Include="Xml\XmlExtensions.cs" />
|
<Compile Include="Xml\XmlExtensions.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -1,17 +1,15 @@
|
|||||||
using System;
|
using MediaBrowser.Controller.FFMpeg;
|
||||||
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.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Model.Entities;
|
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
|
namespace MediaBrowser.Controller.Providers
|
||||||
{
|
{
|
||||||
//[Export(typeof(BaseMetadataProvider))]
|
[Export(typeof(BaseMetadataProvider))]
|
||||||
public class AudioInfoProvider : BaseMediaInfoProvider<Audio>
|
public class AudioInfoProvider : BaseMediaInfoProvider<Audio>
|
||||||
{
|
{
|
||||||
public override MetadataProviderPriority Priority
|
public override MetadataProviderPriority Priority
|
||||||
@ -161,7 +159,7 @@ namespace MediaBrowser.Controller.Providers
|
|||||||
{
|
{
|
||||||
await Task.Run(() =>
|
await Task.Run(() =>
|
||||||
{
|
{
|
||||||
T myItem = item as T;
|
/*T myItem = item as T;
|
||||||
|
|
||||||
if (CanSkipFFProbe(myItem))
|
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);
|
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)
|
protected virtual bool CanSkipFFProbe(T item)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
using System;
|
using MediaBrowser.Controller.Xml;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using MediaBrowser.Model.Entities;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Controller.Xml
|
namespace MediaBrowser.Controller.Providers
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Provides a base class for parsing metadata xml
|
/// Provides a base class for parsing metadata xml
|
@ -1,26 +1,11 @@
|
|||||||
using System;
|
using MediaBrowser.Controller.Library;
|
||||||
using System.Threading.Tasks;
|
|
||||||
using MediaBrowser.Controller.Library;
|
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Controller.Providers
|
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 abstract bool Supports(BaseEntity item);
|
||||||
|
|
||||||
public virtual bool RequiresInternet
|
public virtual bool RequiresInternet
|
||||||
|
@ -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.IO;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Controller.Library;
|
|
||||||
using MediaBrowser.Controller.Xml;
|
|
||||||
using MediaBrowser.Model.Entities;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Controller.Providers
|
namespace MediaBrowser.Controller.Providers
|
||||||
{
|
{
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
using System;
|
using MediaBrowser.Controller.Library;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel.Composition;
|
using System.ComponentModel.Composition;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Controller.Library;
|
|
||||||
using MediaBrowser.Model.Entities;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Controller.Providers
|
namespace MediaBrowser.Controller.Providers
|
||||||
{
|
{
|
||||||
|
@ -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.ComponentModel.Composition;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Controller.IO;
|
|
||||||
using MediaBrowser.Controller.Library;
|
|
||||||
using MediaBrowser.Model.Entities;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Controller.Providers
|
namespace MediaBrowser.Controller.Providers
|
||||||
{
|
{
|
||||||
|
@ -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.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
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))]
|
[Export(typeof(BaseMetadataProvider))]
|
||||||
public class EpisodeImageFromMediaLocationProvider : BaseMetadataProvider
|
public class EpisodeImageFromMediaLocationProvider : BaseMetadataProvider
|
@ -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.IO;
|
||||||
using System.Threading.Tasks;
|
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))]
|
[Export(typeof(BaseMetadataProvider))]
|
||||||
public class EpisodeProviderFromXml : BaseMetadataProvider
|
public class EpisodeProviderFromXml : BaseMetadataProvider
|
@ -1,9 +1,8 @@
|
|||||||
using System.IO;
|
using MediaBrowser.Model.Entities.TV;
|
||||||
|
using System.IO;
|
||||||
using System.Xml;
|
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>
|
public class EpisodeXmlParser : BaseItemXmlParser<Episode>
|
||||||
{
|
{
|
@ -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.IO;
|
||||||
using System.Threading.Tasks;
|
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))]
|
[Export(typeof(BaseMetadataProvider))]
|
||||||
public class SeriesProviderFromXml : BaseMetadataProvider
|
public class SeriesProviderFromXml : BaseMetadataProvider
|
@ -1,10 +1,9 @@
|
|||||||
using System;
|
using MediaBrowser.Model.Entities;
|
||||||
|
using MediaBrowser.Model.Entities.TV;
|
||||||
|
using System;
|
||||||
using System.Xml;
|
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>
|
public class SeriesXmlParser : BaseItemXmlParser<Series>
|
||||||
{
|
{
|
@ -1,13 +1,13 @@
|
|||||||
using System;
|
using MediaBrowser.Controller.FFMpeg;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel.Composition;
|
using System.ComponentModel.Composition;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using MediaBrowser.Controller.FFMpeg;
|
|
||||||
using MediaBrowser.Model.Entities;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Controller.Providers
|
namespace MediaBrowser.Controller.Providers
|
||||||
{
|
{
|
||||||
//[Export(typeof(BaseMetadataProvider))]
|
[Export(typeof(BaseMetadataProvider))]
|
||||||
public class VideoInfoProvider : BaseMediaInfoProvider<Video>
|
public class VideoInfoProvider : BaseMediaInfoProvider<Video>
|
||||||
{
|
{
|
||||||
public override MetadataProviderPriority Priority
|
public override MetadataProviderPriority Priority
|
||||||
@ -163,15 +163,5 @@ namespace MediaBrowser.Controller.Providers
|
|||||||
|
|
||||||
return true;
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
using System.ComponentModel.Composition;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Model.Entities.TV;
|
||||||
using MediaBrowser.Controller.Resolvers;
|
using System.ComponentModel.Composition;
|
||||||
using MediaBrowser.TV.Entities;
|
|
||||||
|
|
||||||
namespace MediaBrowser.TV.Resolvers
|
namespace MediaBrowser.Controller.Resolvers.TV
|
||||||
{
|
{
|
||||||
[Export(typeof(IBaseItemResolver))]
|
[Export(typeof(IBaseItemResolver))]
|
||||||
public class EpisodeResolver : BaseVideoResolver<Episode>
|
public class EpisodeResolver : BaseVideoResolver<Episode>
|
@ -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 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))]
|
[Export(typeof(IBaseItemResolver))]
|
||||||
public class SeasonResolver : BaseFolderResolver<Season>
|
public class SeasonResolver : BaseFolderResolver<Season>
|
@ -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.ComponentModel.Composition;
|
||||||
using System.IO;
|
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))]
|
[Export(typeof(IBaseItemResolver))]
|
||||||
public class SeriesResolver : BaseFolderResolver<Series>
|
public class SeriesResolver : BaseFolderResolver<Series>
|
@ -1,8 +1,8 @@
|
|||||||
using System;
|
using MediaBrowser.Controller.IO;
|
||||||
|
using System;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using MediaBrowser.Controller.IO;
|
|
||||||
|
|
||||||
namespace MediaBrowser.TV
|
namespace MediaBrowser.Controller.Resolvers.TV
|
||||||
{
|
{
|
||||||
public static class TVUtils
|
public static class TVUtils
|
||||||
{
|
{
|
@ -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>
|
|
@ -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"; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
using MediaBrowser.Model.Plugins;
|
|
||||||
|
|
||||||
namespace MediaBrowser.InternetProviders
|
|
||||||
{
|
|
||||||
public class PluginConfiguration : BasePluginConfiguration
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
@ -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")]
|
|
@ -157,7 +157,7 @@ namespace MediaBrowser.Model.DTO
|
|||||||
public VideoInfo VideoInfo { get; set; }
|
public VideoInfo VideoInfo { get; set; }
|
||||||
|
|
||||||
[ProtoMember(44)]
|
[ProtoMember(44)]
|
||||||
public VideoInfo SeriesInfo { get; set; }
|
public SeriesInfo SeriesInfo { get; set; }
|
||||||
|
|
||||||
[ProtoMember(45)]
|
[ProtoMember(45)]
|
||||||
public bool IsNew { get; set; }
|
public bool IsNew { get; set; }
|
||||||
|
7
MediaBrowser.Model/Entities/TV/Episode.cs
Normal file
7
MediaBrowser.Model/Entities/TV/Episode.cs
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
namespace MediaBrowser.Model.Entities.TV
|
||||||
|
{
|
||||||
|
public class Episode : Video
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -1,19 +1,18 @@
|
|||||||
using System;
|
using System;
|
||||||
using MediaBrowser.Model.Entities;
|
|
||||||
|
|
||||||
namespace MediaBrowser.TV.Entities
|
namespace MediaBrowser.Model.Entities.TV
|
||||||
{
|
{
|
||||||
public class Season : Folder
|
public class Season : Folder
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Store these to reduce disk access in Episode Resolver
|
/// Store these to reduce disk access in Episode Resolver
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal string[] MetadataFiles { get; set; }
|
public string[] MetadataFiles { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determines if the metafolder contains a given file
|
/// Determines if the metafolder contains a given file
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal bool ContainsMetadataFile(string file)
|
public bool ContainsMetadataFile(string file)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < MetadataFiles.Length; i++)
|
for (int i = 0; i < MetadataFiles.Length; i++)
|
||||||
{
|
{
|
@ -1,8 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using MediaBrowser.Model.Entities;
|
|
||||||
|
|
||||||
namespace MediaBrowser.TV.Entities
|
namespace MediaBrowser.Model.Entities.TV
|
||||||
{
|
{
|
||||||
public class Series : Folder
|
public class Series : Folder
|
||||||
{
|
{
|
@ -54,6 +54,9 @@
|
|||||||
<Compile Include="Entities\Movies\Movie.cs" />
|
<Compile Include="Entities\Movies\Movie.cs" />
|
||||||
<Compile Include="Entities\Person.cs" />
|
<Compile Include="Entities\Person.cs" />
|
||||||
<Compile Include="Entities\Studio.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\Video.cs" />
|
||||||
<Compile Include="Entities\Year.cs" />
|
<Compile Include="Entities\Year.cs" />
|
||||||
<Compile Include="Plugins\BasePluginConfiguration.cs" />
|
<Compile Include="Plugins\BasePluginConfiguration.cs" />
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
using MediaBrowser.Model.Entities;
|
|
||||||
|
|
||||||
namespace MediaBrowser.TV.Entities
|
|
||||||
{
|
|
||||||
public class Episode : Video
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
@ -44,20 +44,8 @@
|
|||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<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="Plugin.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.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>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj">
|
<ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj">
|
||||||
|
@ -3,12 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
|||||||
# Visual Studio 2012
|
# Visual Studio 2012
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Controller", "MediaBrowser.Controller\MediaBrowser.Controller.csproj", "{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Controller", "MediaBrowser.Controller\MediaBrowser.Controller.csproj", "{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}"
|
||||||
EndProject
|
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}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Api", "MediaBrowser.Api\MediaBrowser.Api.csproj", "{4FD51AC5-2C16-4308-A993-C3A84F3B4582}"
|
||||||
EndProject
|
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}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Common", "MediaBrowser.Common\MediaBrowser.Common.csproj", "{9142EEFA-7570-41E1-BFCC-468BB571AF2F}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Model", "MediaBrowser.Model\MediaBrowser.Model.csproj", "{7EEEB4BB-F3E8-48FC-B4C5-70F0FFF8329B}"
|
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}.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.ActiveCfg = Release|Any CPU
|
||||||
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Release|Any CPU.Build.0 = 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.ActiveCfg = Debug|Any CPU
|
||||||
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Debug|Any CPU.Build.0 = 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.ActiveCfg = Release|Any CPU
|
||||||
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Release|Any CPU.Build.0 = 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.ActiveCfg = Debug|Any CPU
|
||||||
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Debug|Any CPU.Build.0 = 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
|
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
Loading…
Reference in New Issue
Block a user