added more metadata control

This commit is contained in:
Luke Pulverenti 2013-12-26 01:17:19 -05:00
parent 7c8424bf61
commit 25db52003c
13 changed files with 58 additions and 56 deletions

View File

@ -77,6 +77,9 @@
<Compile Include="..\MediaBrowser.Model\Configuration\BaseApplicationConfiguration.cs">
<Link>Configuration\BaseApplicationConfiguration.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Configuration\ImageDownloadOptions.cs">
<Link>Configuration\ImageDownloadOptions.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Configuration\ManualLoginCategory.cs">
<Link>Configuration\ManualLoginCategory.cs</Link>
</Compile>
@ -146,9 +149,6 @@
<Compile Include="..\MediaBrowser.Model\Entities\IHasProviderIds.cs">
<Link>Entities\IHasProviderIds.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Entities\ImageDownloadOptions.cs">
<Link>Entities\ImageDownloadOptions.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Entities\ImageType.cs">
<Link>Entities\ImageType.cs</Link>
</Compile>

View File

@ -64,6 +64,9 @@
<Compile Include="..\MediaBrowser.Model\Configuration\BaseApplicationConfiguration.cs">
<Link>Configuration\BaseApplicationConfiguration.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Configuration\ImageDownloadOptions.cs">
<Link>Configuration\ImageDownloadOptions.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Configuration\ManualLoginCategory.cs">
<Link>Configuration\ManualLoginCategory.cs</Link>
</Compile>
@ -133,9 +136,6 @@
<Compile Include="..\MediaBrowser.Model\Entities\IHasProviderIds.cs">
<Link>Entities\IHasProviderIds.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Entities\ImageDownloadOptions.cs">
<Link>Entities\ImageDownloadOptions.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Entities\ImageType.cs">
<Link>Entities\ImageType.cs</Link>
</Compile>

View File

@ -1,5 +1,5 @@

namespace MediaBrowser.Model.Entities
namespace MediaBrowser.Model.Configuration
{
/// <summary>
/// Class ImageDownloadOptions
@ -62,4 +62,20 @@ namespace MediaBrowser.Model.Entities
Banner = true;
}
}
/// <summary>
/// Class MetadataOptions.
/// </summary>
public class MetadataOptions
{
public int MaxBackdrops { get; set; }
public int MinBackdropWidth { get; set; }
public MetadataOptions()
{
MaxBackdrops = 3;
MinBackdropWidth = 1280;
}
}
}

View File

@ -1,5 +1,4 @@
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Weather;
using MediaBrowser.Model.Weather;
using System;
namespace MediaBrowser.Model.Configuration
@ -87,12 +86,6 @@ namespace MediaBrowser.Model.Configuration
/// <value>The metadata country code.</value>
public string MetadataCountryCode { get; set; }
/// <summary>
/// Gets or sets the max backdrops.
/// </summary>
/// <value>The max backdrops.</value>
public int MaxBackdrops { get; set; }
/// <summary>
/// Options for specific art to download for movies.
/// </summary>
@ -204,18 +197,6 @@ namespace MediaBrowser.Model.Configuration
/// <value>The image saving convention.</value>
public ImageSavingConvention ImageSavingConvention { get; set; }
/// <summary>
/// Gets or sets the width of the min movie backdrop.
/// </summary>
/// <value>The width of the min movie backdrop.</value>
public int MinMovieBackdropDownloadWidth { get; set; }
/// <summary>
/// Gets or sets the width of the min series backdrop.
/// </summary>
/// <value>The width of the min series backdrop.</value>
public int MinSeriesBackdropDownloadWidth { get; set; }
/// <summary>
/// Gets or sets a value indicating whether [enable people prefix sub folders].
/// </summary>
@ -232,6 +213,12 @@ namespace MediaBrowser.Model.Configuration
public bool EnableEpisodeChapterImageExtraction { get; set; }
public bool EnableOtherVideoChapterImageExtraction { get; set; }
public MetadataOptions MovieOptions { get; set; }
public MetadataOptions TvOptions { get; set; }
public MetadataOptions MusicOptions { get; set; }
public MetadataOptions GameOptions { get; set; }
public MetadataOptions BookOptions { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="ServerConfiguration" /> class.
/// </summary>
@ -272,7 +259,6 @@ namespace MediaBrowser.Model.Configuration
};
DownloadMusicArtistImages = new ImageDownloadOptions();
DownloadMusicAlbumImages = new ImageDownloadOptions();
MaxBackdrops = 3;
SortReplaceCharacters = new[] { ".", "+", "%" };
SortRemoveCharacters = new[] { ",", "&", "-", "{", "}", "'" };
@ -280,8 +266,20 @@ namespace MediaBrowser.Model.Configuration
SeasonZeroDisplayName = "Specials";
MinMovieBackdropDownloadWidth = 1280;
MinSeriesBackdropDownloadWidth = 1280;
MovieOptions = new MetadataOptions();
TvOptions = new MetadataOptions();
MusicOptions = new MetadataOptions()
{
MaxBackdrops = 1
};
GameOptions = new MetadataOptions();
BookOptions = new MetadataOptions
{
MaxBackdrops = 1
};
}
}

View File

@ -118,7 +118,7 @@
<Compile Include="Session\MessageCommand.cs" />
<Compile Include="Session\PlayRequest.cs" />
<Compile Include="Session\PlaystateCommand.cs" />
<Compile Include="Entities\ImageDownloadOptions.cs" />
<Compile Include="Configuration\ImageDownloadOptions.cs" />
<Compile Include="Logging\ILogManager.cs" />
<Compile Include="MediaInfo\BlurayDiscInfo.cs" />
<Compile Include="Entities\ChapterInfo.cs" />

View File

@ -300,7 +300,7 @@ namespace MediaBrowser.Providers.Movies
cancellationToken.ThrowIfCancellationRequested();
var backdropLimit = ConfigurationManager.Configuration.MaxBackdrops;
var backdropLimit = ConfigurationManager.Configuration.MovieOptions.MaxBackdrops;
if (ConfigurationManager.Configuration.DownloadMovieImages.Backdrops &&
item.BackdropImagePaths.Count < backdropLimit)
{

View File

@ -132,8 +132,8 @@ namespace MediaBrowser.Providers.Movies
}
// Don't refresh if we already have both poster and backdrop and we're not refreshing images
if (item.HasImage(ImageType.Primary) &&
item.BackdropImagePaths.Count >= ConfigurationManager.Configuration.MaxBackdrops &&
if (item.HasImage(ImageType.Primary) &&
item.BackdropImagePaths.Count >= ConfigurationManager.Configuration.MovieOptions.MaxBackdrops &&
!item.LockedFields.Contains(MetadataFields.Images))
{
return false;
@ -211,10 +211,10 @@ namespace MediaBrowser.Providers.Movies
cancellationToken.ThrowIfCancellationRequested();
var eligibleBackdrops = images
.Where(i => i.Type == ImageType.Backdrop && i.Width.HasValue && i.Width.Value >= ConfigurationManager.Configuration.MinMovieBackdropDownloadWidth)
.Where(i => i.Type == ImageType.Backdrop && i.Width.HasValue && i.Width.Value >= ConfigurationManager.Configuration.MovieOptions.MinBackdropWidth)
.ToList();
var backdropLimit = ConfigurationManager.Configuration.MaxBackdrops;
var backdropLimit = ConfigurationManager.Configuration.MovieOptions.MaxBackdrops;
// backdrops - only download if earlier providers didn't find any (fanart)
if (eligibleBackdrops.Count > 0 &&

View File

@ -302,7 +302,7 @@ namespace MediaBrowser.Providers.Music
{
cancellationToken.ThrowIfCancellationRequested();
var backdropLimit = ConfigurationManager.Configuration.MaxBackdrops;
var backdropLimit = ConfigurationManager.Configuration.MusicOptions.MaxBackdrops;
if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Backdrops &&
item.BackdropImagePaths.Count < backdropLimit)
{

View File

@ -238,7 +238,7 @@ namespace MediaBrowser.Providers.TV
{
cancellationToken.ThrowIfCancellationRequested();
var backdropLimit = ConfigurationManager.Configuration.MaxBackdrops;
var backdropLimit = ConfigurationManager.Configuration.TvOptions.MaxBackdrops;
if (ConfigurationManager.Configuration.DownloadSeriesImages.Backdrops &&
item.BackdropImagePaths.Count < backdropLimit)
{

View File

@ -137,7 +137,7 @@ namespace MediaBrowser.Providers.TV
protected override bool NeedsRefreshInternal(BaseItem item, BaseProviderInfo providerInfo)
{
if (item.HasImage(ImageType.Primary) && item.HasImage(ImageType.Banner) && item.BackdropImagePaths.Count >= ConfigurationManager.Configuration.MaxBackdrops)
if (item.HasImage(ImageType.Primary) && item.HasImage(ImageType.Banner) && item.BackdropImagePaths.Count >= ConfigurationManager.Configuration.TvOptions.MaxBackdrops)
{
return false;
}
@ -196,7 +196,7 @@ namespace MediaBrowser.Providers.TV
{
foreach (var backdrop in images.Where(i => i.Type == ImageType.Backdrop &&
(!i.Width.HasValue ||
i.Width.Value >= ConfigurationManager.Configuration.MinSeriesBackdropDownloadWidth)))
i.Width.Value >= ConfigurationManager.Configuration.TvOptions.MinBackdropWidth)))
{
var url = backdrop.Url;

View File

@ -228,17 +228,12 @@ namespace MediaBrowser.Server.Implementations.Drawing
// Graphics.FromImage will throw an exception if the PixelFormat is Indexed, so we need to handle that here
using (var thumbnail = new Bitmap(newWidth, newHeight, PixelFormat.Format32bppPArgb))
{
#if __MonoCS__
// Mono throw an exeception if assign 0 to SetResolution
if (originalImage.HorizontalResolution != 0 && originalImage.VerticalResolution != 0)
if (originalImage.HorizontalResolution >= 0 && originalImage.VerticalResolution >= 0)
{
// Preserve the original resolution
thumbnail.SetResolution(originalImage.HorizontalResolution, originalImage.VerticalResolution);
}
#else
// Preserve the original resolution
thumbnail.SetResolution(originalImage.HorizontalResolution, originalImage.VerticalResolution);
#endif
using (var thumbnailGraph = Graphics.FromImage(thumbnail))
{

View File

@ -472,7 +472,7 @@ namespace MediaBrowser.WebDashboard.Api
"alphapicker.js",
"addpluginpage.js",
"advancedconfigurationpage.js",
"advancedmetadataconfigurationpage.js",
"metadataadvanced.js",
"boxsets.js",
"appsplayback.js",
"appsweather.js",
@ -510,7 +510,6 @@ namespace MediaBrowser.WebDashboard.Api
"mediaplayer.js",
"metadataconfigurationpage.js",
"metadataimagespage.js",
"metadataimageextraction.js",
"moviegenres.js",
"movies.js",
"moviepeople.js",

View File

@ -154,9 +154,6 @@
<Content Include="dashboard-ui\livetvtimers.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\metadataimageextraction.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\musicalbumartists.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@ -436,9 +433,6 @@
<Content Include="dashboard-ui\scripts\livetvtimers.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\scripts\metadataimageextraction.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\scripts\musicalbumartists.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@ -1531,12 +1525,12 @@
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="dashboard-ui\advancedmetadata.html">
<Content Include="dashboard-ui\metadataadvanced.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="dashboard-ui\scripts\advancedmetadataconfigurationpage.js">
<Content Include="dashboard-ui\scripts\metadataadvanced.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>