mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-04 03:27:21 -05:00 
			
		
		
		
	separate player selection into it's own script
This commit is contained in:
		
							parent
							
								
									cf720d2d65
								
							
						
					
					
						commit
						853dbfc558
					
				@ -261,10 +261,11 @@ namespace Emby.Server.Implementations.IO
 | 
				
			|||||||
            // In order to determine if the file is being written to, we have to request write access
 | 
					            // In order to determine if the file is being written to, we have to request write access
 | 
				
			||||||
            // But if the server only has readonly access, this is going to cause this entire algorithm to fail
 | 
					            // But if the server only has readonly access, this is going to cause this entire algorithm to fail
 | 
				
			||||||
            // So we'll take a best guess about our access level
 | 
					            // So we'll take a best guess about our access level
 | 
				
			||||||
            var requestedFileAccess = ConfigurationManager.Configuration.SaveLocalMeta
 | 
					            //var requestedFileAccess = ConfigurationManager.Configuration.SaveLocalMeta
 | 
				
			||||||
                ? FileAccessMode.ReadWrite
 | 
					            //    ? FileAccessMode.ReadWrite
 | 
				
			||||||
                : FileAccessMode.Read;
 | 
					            //    : FileAccessMode.Read;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var requestedFileAccess = FileAccessMode.Read;
 | 
				
			||||||
            try
 | 
					            try
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                using (_fileSystem.GetFileStream(path, FileOpenMode.Open, requestedFileAccess, FileShareMode.ReadWrite))
 | 
					                using (_fileSystem.GetFileStream(path, FileOpenMode.Open, requestedFileAccess, FileShareMode.ReadWrite))
 | 
				
			||||||
 | 
				
			|||||||
@ -1956,30 +1956,6 @@ namespace Emby.Server.Implementations.Library
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var options = collectionFolder == null ? new LibraryOptions() : collectionFolder.GetLibraryOptions();
 | 
					            var options = collectionFolder == null ? new LibraryOptions() : collectionFolder.GetLibraryOptions();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (options.SchemaVersion < 3)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                options.SaveLocalMetadata = ConfigurationManager.Configuration.SaveLocalMeta;
 | 
					 | 
				
			||||||
                options.EnableInternetProviders = ConfigurationManager.Configuration.EnableInternetProviders;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (options.SchemaVersion < 2)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                var chapterOptions = ConfigurationManager.GetConfiguration<ChapterOptions>("chapters");
 | 
					 | 
				
			||||||
                options.ExtractChapterImagesDuringLibraryScan = chapterOptions.ExtractDuringLibraryScan;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (collectionFolder != null)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    if (string.Equals(collectionFolder.CollectionType, "movies", StringComparison.OrdinalIgnoreCase))
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        options.EnableChapterImageExtraction = chapterOptions.EnableMovieChapterImageExtraction;
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                    else if (string.Equals(collectionFolder.CollectionType, CollectionType.TvShows, StringComparison.OrdinalIgnoreCase))
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        options.EnableChapterImageExtraction = chapterOptions.EnableEpisodeChapterImageExtraction;
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            return options;
 | 
					            return options;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -26,11 +26,5 @@ namespace MediaBrowser.Controller.Chapters
 | 
				
			|||||||
        /// <param name="cancellationToken">The cancellation token.</param>
 | 
					        /// <param name="cancellationToken">The cancellation token.</param>
 | 
				
			||||||
        /// <returns>Task.</returns>
 | 
					        /// <returns>Task.</returns>
 | 
				
			||||||
        Task SaveChapters(string itemId, List<ChapterInfo> chapters, CancellationToken cancellationToken);
 | 
					        Task SaveChapters(string itemId, List<ChapterInfo> chapters, CancellationToken cancellationToken);
 | 
				
			||||||
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        /// Gets the configuration.
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        /// <returns>ChapterOptions.</returns>
 | 
					 | 
				
			||||||
        ChapterOptions GetConfiguration();
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -121,7 +121,6 @@ namespace MediaBrowser.Controller.Entities
 | 
				
			|||||||
            {
 | 
					            {
 | 
				
			||||||
                LibraryOptions[path] = options;
 | 
					                LibraryOptions[path] = options;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                options.SchemaVersion = 3;
 | 
					 | 
				
			||||||
                XmlSerializer.SerializeToFile(options, GetLibraryOptionsPath(path));
 | 
					                XmlSerializer.SerializeToFile(options, GetLibraryOptionsPath(path));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -1,11 +0,0 @@
 | 
				
			|||||||
namespace MediaBrowser.Model.Configuration
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class ChapterOptions
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public bool EnableMovieChapterImageExtraction { get; set; }
 | 
					 | 
				
			||||||
        public bool EnableEpisodeChapterImageExtraction { get; set; }
 | 
					 | 
				
			||||||
        public bool EnableOtherVideoChapterImageExtraction { get; set; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public bool ExtractDuringLibraryScan { get; set; }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -5,7 +5,6 @@
 | 
				
			|||||||
        public bool EnableArchiveMediaFiles { get; set; }
 | 
					        public bool EnableArchiveMediaFiles { get; set; }
 | 
				
			||||||
        public bool EnablePhotos { get; set; }
 | 
					        public bool EnablePhotos { get; set; }
 | 
				
			||||||
        public bool EnableRealtimeMonitor { get; set; }
 | 
					        public bool EnableRealtimeMonitor { get; set; }
 | 
				
			||||||
        public int SchemaVersion { get; set; }
 | 
					 | 
				
			||||||
        public bool EnableChapterImageExtraction { get; set; }
 | 
					        public bool EnableChapterImageExtraction { get; set; }
 | 
				
			||||||
        public bool ExtractChapterImagesDuringLibraryScan { get; set; }
 | 
					        public bool ExtractChapterImagesDuringLibraryScan { get; set; }
 | 
				
			||||||
        public bool DownloadImagesInAdvance { get; set; }
 | 
					        public bool DownloadImagesInAdvance { get; set; }
 | 
				
			||||||
 | 
				
			|||||||
@ -54,12 +54,6 @@ namespace MediaBrowser.Model.Configuration
 | 
				
			|||||||
        /// <value>The value pointing to the file system where the ssl certiifcate is located..</value>
 | 
					        /// <value>The value pointing to the file system where the ssl certiifcate is located..</value>
 | 
				
			||||||
        public string CertificatePath { get; set; }
 | 
					        public string CertificatePath { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        /// Gets or sets a value indicating whether [enable internet providers].
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        /// <value><c>true</c> if [enable internet providers]; otherwise, <c>false</c>.</value>
 | 
					 | 
				
			||||||
        public bool EnableInternetProviders { get; set; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// Gets or sets a value indicating whether this instance is port authorized.
 | 
					        /// Gets or sets a value indicating whether this instance is port authorized.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
@ -87,12 +81,6 @@ namespace MediaBrowser.Model.Configuration
 | 
				
			|||||||
        /// <value>The display name of the season zero.</value>
 | 
					        /// <value>The display name of the season zero.</value>
 | 
				
			||||||
        public string SeasonZeroDisplayName { get; set; }
 | 
					        public string SeasonZeroDisplayName { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        /// Gets or sets a value indicating whether [save local meta].
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        /// <value><c>true</c> if [save local meta]; otherwise, <c>false</c>.</value>
 | 
					 | 
				
			||||||
        public bool SaveLocalMeta { get; set; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// Gets or sets the preferred metadata language.
 | 
					        /// Gets or sets the preferred metadata language.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
@ -243,8 +231,6 @@ namespace MediaBrowser.Model.Configuration
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            LibraryMonitorDelay = 60;
 | 
					            LibraryMonitorDelay = 60;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            EnableInternetProviders = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            PathSubstitutions = new PathSubstitution[] { };
 | 
					            PathSubstitutions = new PathSubstitution[] { };
 | 
				
			||||||
            ContentTypes = new NameValuePair[] { };
 | 
					            ContentTypes = new NameValuePair[] { };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -78,7 +78,6 @@
 | 
				
			|||||||
    <Compile Include="Collections\CollectionCreationResult.cs" />
 | 
					    <Compile Include="Collections\CollectionCreationResult.cs" />
 | 
				
			||||||
    <Compile Include="Configuration\AccessSchedule.cs" />
 | 
					    <Compile Include="Configuration\AccessSchedule.cs" />
 | 
				
			||||||
    <Compile Include="Configuration\ChannelOptions.cs" />
 | 
					    <Compile Include="Configuration\ChannelOptions.cs" />
 | 
				
			||||||
    <Compile Include="Configuration\ChapterOptions.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="Configuration\CinemaModeConfiguration.cs" />
 | 
					    <Compile Include="Configuration\CinemaModeConfiguration.cs" />
 | 
				
			||||||
    <Compile Include="Configuration\EncodingOptions.cs" />
 | 
					    <Compile Include="Configuration\EncodingOptions.cs" />
 | 
				
			||||||
    <Compile Include="Configuration\FanartOptions.cs" />
 | 
					    <Compile Include="Configuration\FanartOptions.cs" />
 | 
				
			||||||
 | 
				
			|||||||
@ -43,25 +43,5 @@ namespace MediaBrowser.Providers.Chapters
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            return _itemRepo.SaveChapters(new Guid(itemId), chapters, cancellationToken);
 | 
					            return _itemRepo.SaveChapters(new Guid(itemId), chapters, cancellationToken);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					 | 
				
			||||||
        public ChapterOptions GetConfiguration()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            return _config.GetConfiguration<ChapterOptions>("chapters");
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public class ChapterConfigurationStore : IConfigurationFactory
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public IEnumerable<ConfigurationStore> GetConfigurations()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            return new List<ConfigurationStore>
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                new ConfigurationStore
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    Key = "chapters",
 | 
					 | 
				
			||||||
                    ConfigurationType = typeof (ChapterOptions)
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            };
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -510,25 +510,19 @@ namespace MediaBrowser.Providers.Manager
 | 
				
			|||||||
                Type = MetadataPluginType.LocalMetadataProvider
 | 
					                Type = MetadataPluginType.LocalMetadataProvider
 | 
				
			||||||
            }));
 | 
					            }));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (item.IsInternetMetadataEnabled())
 | 
					            // Fetchers
 | 
				
			||||||
 | 
					            list.AddRange(providers.Where(i => (i is IRemoteMetadataProvider)).Select(i => new MetadataPlugin
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                // Fetchers
 | 
					                Name = i.Name,
 | 
				
			||||||
                list.AddRange(providers.Where(i => (i is IRemoteMetadataProvider)).Select(i => new MetadataPlugin
 | 
					                Type = MetadataPluginType.MetadataFetcher
 | 
				
			||||||
                {
 | 
					            }));
 | 
				
			||||||
                    Name = i.Name,
 | 
					 | 
				
			||||||
                    Type = MetadataPluginType.MetadataFetcher
 | 
					 | 
				
			||||||
                }));
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (item.IsSaveLocalMetadataEnabled())
 | 
					            // Savers
 | 
				
			||||||
 | 
					            list.AddRange(_savers.Where(i => IsSaverEnabledForItem(i, item, ItemUpdateType.MetadataEdit, true)).OrderBy(i => i.Name).Select(i => new MetadataPlugin
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                // Savers
 | 
					                Name = i.Name,
 | 
				
			||||||
                list.AddRange(_savers.Where(i => IsSaverEnabledForItem(i, item, ItemUpdateType.MetadataEdit, true)).OrderBy(i => i.Name).Select(i => new MetadataPlugin
 | 
					                Type = MetadataPluginType.MetadataSaver
 | 
				
			||||||
                {
 | 
					            }));
 | 
				
			||||||
                    Name = i.Name,
 | 
					 | 
				
			||||||
                    Type = MetadataPluginType.MetadataSaver
 | 
					 | 
				
			||||||
                }));
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void AddImagePlugins<T>(List<MetadataPlugin> list, T item, List<IImageProvider> imageProviders)
 | 
					        private void AddImagePlugins<T>(List<MetadataPlugin> list, T item, List<IImageProvider> imageProviders)
 | 
				
			||||||
 | 
				
			|||||||
@ -417,7 +417,7 @@ namespace MediaBrowser.Providers.MediaInfo
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            if (!string.IsNullOrWhiteSpace(data.Name))
 | 
					            if (!string.IsNullOrWhiteSpace(data.Name))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (string.IsNullOrWhiteSpace(video.Name) || string.Equals(video.Name, Path.GetFileNameWithoutExtension(video.Path), StringComparison.OrdinalIgnoreCase))
 | 
					                if (string.IsNullOrWhiteSpace(video.Name) || (string.Equals(video.Name, Path.GetFileNameWithoutExtension(video.Path), StringComparison.OrdinalIgnoreCase) && !video.ProviderIds.Any()))
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    // Don't use the embedded name for extras because it will often be the same name as the movie
 | 
					                    // Don't use the embedded name for extras because it will often be the same name as the movie
 | 
				
			||||||
                    if (!video.ExtraType.HasValue && !video.IsOwnedItem)
 | 
					                    if (!video.ExtraType.HasValue && !video.IsOwnedItem)
 | 
				
			||||||
 | 
				
			|||||||
@ -156,6 +156,9 @@
 | 
				
			|||||||
    <Content Include="dashboard-ui\components\navdrawer\navdrawer.js">
 | 
					    <Content Include="dashboard-ui\components\navdrawer\navdrawer.js">
 | 
				
			||||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
					      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
				
			||||||
    </Content>
 | 
					    </Content>
 | 
				
			||||||
 | 
					    <Content Include="dashboard-ui\components\playerselection.js">
 | 
				
			||||||
 | 
					      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
				
			||||||
 | 
					    </Content>
 | 
				
			||||||
    <Content Include="dashboard-ui\components\remotecontrol.js">
 | 
					    <Content Include="dashboard-ui\components\remotecontrol.js">
 | 
				
			||||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
					      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
				
			||||||
    </Content>
 | 
					    </Content>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user