remember display mirroring

This commit is contained in:
Luke Pulverenti
2014-08-25 22:30:52 -04:00
parent 73082a0449
commit 6780e146a0
20 changed files with 123 additions and 114 deletions

View File

@@ -20,7 +20,8 @@ namespace MediaBrowser.Controller.Entities.Audio
IHasMusicGenres,
IHasLookupInfo<SongInfo>,
IHasTags,
IHasMediaSources
IHasMediaSources,
IThemeMedia
{
public string FormatName { get; set; }
public long? Size { get; set; }
@@ -28,6 +29,8 @@ namespace MediaBrowser.Controller.Entities.Audio
public int? TotalBitrate { get; set; }
public List<string> Tags { get; set; }
public bool IsThemeMedia { get; set; }
public Audio()
{
Artists = new List<string>();

View File

@@ -749,7 +749,18 @@ namespace MediaBrowser.Controller.Entities
var themeVideosChanged = !item.ThemeVideoIds.SequenceEqual(newThemeVideoIds);
var tasks = newThemeVideos.Select(i => i.RefreshMetadata(options, cancellationToken));
var tasks = newThemeVideos.Select(i =>
{
var subOptions = new MetadataRefreshOptions(options);
if (!i.IsThemeMedia)
{
i.IsThemeMedia = true;
subOptions.ForceSave = true;
}
return i.RefreshMetadata(subOptions, cancellationToken);
});
await Task.WhenAll(tasks).ConfigureAwait(false);
@@ -768,7 +779,18 @@ namespace MediaBrowser.Controller.Entities
var themeSongsChanged = !item.ThemeSongIds.SequenceEqual(newThemeSongIds);
var tasks = newThemeSongs.Select(i => i.RefreshMetadata(options, cancellationToken));
var tasks = newThemeSongs.Select(i =>
{
var subOptions = new MetadataRefreshOptions(options);
if (!i.IsThemeMedia)
{
i.IsThemeMedia = true;
subOptions.ForceSave = true;
}
return i.RefreshMetadata(subOptions, cancellationToken);
});
await Task.WhenAll(tasks).ConfigureAwait(false);

View File

@@ -0,0 +1,8 @@

namespace MediaBrowser.Controller.Entities
{
public interface IThemeMedia
{
bool IsThemeMedia { get; }
}
}

View File

@@ -24,7 +24,8 @@ namespace MediaBrowser.Controller.Entities
IHasTags,
ISupportsPlaceHolders,
IHasMediaSources,
IHasShortOverview
IHasShortOverview,
IThemeMedia
{
public bool IsMultiPart { get; set; }
public bool HasLocalAlternateVersions { get; set; }
@@ -33,6 +34,8 @@ namespace MediaBrowser.Controller.Entities
public List<Guid> AdditionalPartIds { get; set; }
public List<Guid> LocalAlternateVersionIds { get; set; }
public bool IsThemeMedia { get; set; }
public string FormatName { get; set; }
public long? Size { get; set; }
public string Container { get; set; }

View File

@@ -151,6 +151,7 @@
<Compile Include="Entities\ISupportsBoxSetGrouping.cs" />
<Compile Include="Entities\ISupportsPlaceHolders.cs" />
<Compile Include="Entities\ItemImageInfo.cs" />
<Compile Include="Entities\IThemeMedia.cs" />
<Compile Include="Entities\LinkedChild.cs" />
<Compile Include="Entities\MusicVideo.cs" />
<Compile Include="Entities\IHasAwards.cs" />

View File

@@ -1,6 +1,7 @@
using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
namespace MediaBrowser.Controller.Providers
{
@@ -23,6 +24,18 @@ namespace MediaBrowser.Controller.Providers
{
MetadataRefreshMode = MetadataRefreshMode.Default;
}
public MetadataRefreshOptions(MetadataRefreshOptions copy)
{
MetadataRefreshMode = copy.MetadataRefreshMode;
ForceSave = copy.ForceSave;
ReplaceAllMetadata = copy.ReplaceAllMetadata;
ImageRefreshMode = copy.ImageRefreshMode;
DirectoryService = copy.DirectoryService;
ReplaceAllImages = copy.ReplaceAllImages;
ReplaceImages = copy.ReplaceImages.ToList();
}
}
public class ImageRefreshOptions