public BaseScriptableMovieMetadataExtractor(string id)
        {
            try
            {
                bool loaded = _metadataExtractorCustomCategories.TryTake(out _category);

                List <MediaCategory> mediaCategories = new List <MediaCategory>();
                if (loaded)
                {
                    MediaCategory  mediaCategory;
                    IMediaAccessor mediaAccessor = ServiceRegistration.Get <IMediaAccessor>();
                    if (!mediaAccessor.MediaCategories.TryGetValue(_category, out mediaCategory))
                    {
                        mediaCategory = mediaAccessor.RegisterMediaCategory(_category, new List <MediaCategory> {
                            DefaultMediaCategories.Video
                        });
                    }
                    mediaCategories.Add(mediaCategory);
                }

                _metadata = new MetadataExtractorMetadata(new Guid(id), $"Scriptable movie metadata extractor ({(loaded ? _category : "Disabled")})", MetadataExtractorPriority.External, true,
                                                          mediaCategories, new MediaItemAspectMetadata[] { MediaAspect.Metadata, MovieAspect.Metadata });
            }
            catch (Exception ex)
            {
                ServiceRegistration.Get <ILogger>().Error("ScriptableMetadataExtractor: Error initializing metadata extractor", ex);
            }
        }
        static ArgusRecordingSeriesMetadataExtractor()
        {
            MediaCategory  seriesCategory;
            IMediaAccessor mediaAccessor = ServiceRegistration.Get <IMediaAccessor>();

            if (!mediaAccessor.MediaCategories.TryGetValue(MEDIA_CATEGORY_NAME_SERIES, out seriesCategory))
            {
                seriesCategory = mediaAccessor.RegisterMediaCategory(MEDIA_CATEGORY_NAME_SERIES, new List <MediaCategory> {
                    DefaultMediaCategories.Video
                });
            }
            SERIES_MEDIA_CATEGORIES.Add(seriesCategory);
        }
Exemple #3
0
        static MovieMetadataExtractor()
        {
            MediaCategory  movieCategory;
            IMediaAccessor mediaAccessor = ServiceRegistration.Get <IMediaAccessor>();

            if (!mediaAccessor.MediaCategories.TryGetValue(MEDIA_CATEGORY_NAME_MOVIE, out movieCategory))
            {
                movieCategory = mediaAccessor.RegisterMediaCategory(MEDIA_CATEGORY_NAME_MOVIE, new List <MediaCategory> {
                    DefaultMediaCategories.Video
                });
            }
            MEDIA_CATEGORIES.Add(movieCategory);
        }
Exemple #4
0
        static GameMetadataExtractor()
        {
            IMediaAccessor mediaAccessor = ServiceRegistration.Get <IMediaAccessor>();

            if (!mediaAccessor.MediaCategories.TryGetValue(GameCategory.CATEGORY_NAME, out _gameCategory))
            {
                _gameCategory = mediaAccessor.RegisterMediaCategory(GameCategory.CATEGORY_NAME, null);
            }
            MEDIA_CATEGORIES.Add(_gameCategory);
            // All non-default media item aspects must be registered
            IMediaItemAspectTypeRegistration miatr = ServiceRegistration.Get <IMediaItemAspectTypeRegistration>();

            miatr.RegisterLocallyKnownMediaItemAspectTypeAsync(GameAspect.Metadata);
        }
        static SeriesMetadataExtractor()
        {
            MediaCategory  seriesCategory;
            IMediaAccessor mediaAccessor = ServiceRegistration.Get <IMediaAccessor>();

            if (!mediaAccessor.MediaCategories.TryGetValue(MEDIA_CATEGORY_NAME_SERIES, out seriesCategory))
            {
                seriesCategory = mediaAccessor.RegisterMediaCategory(MEDIA_CATEGORY_NAME_SERIES, new List <MediaCategory> {
                    DefaultMediaCategories.Video
                });
            }
            MEDIA_CATEGORIES.Add(seriesCategory);

            // All non-default media item aspects must be registered
            IMediaItemAspectTypeRegistration miatr = ServiceRegistration.Get <IMediaItemAspectTypeRegistration>();

            miatr.RegisterLocallyKnownMediaItemAspectType(TempSeriesAspect.Metadata);
        }
Exemple #6
0
        static MovieMetadataExtractor()
        {
            MediaCategory  movieCategory;
            IMediaAccessor mediaAccessor = ServiceRegistration.Get <IMediaAccessor>();

            if (!mediaAccessor.MediaCategories.TryGetValue(MEDIA_CATEGORY_NAME_MOVIE, out movieCategory))
            {
                movieCategory = mediaAccessor.RegisterMediaCategory(MEDIA_CATEGORY_NAME_MOVIE, new List <MediaCategory> {
                    DefaultMediaCategories.Video
                });
            }
            MEDIA_CATEGORIES.Add(movieCategory);

            // Register reimport support
            IMediaItemAspectTypeRegistration miatr = ServiceRegistration.Get <IMediaItemAspectTypeRegistration>();

            miatr.RegisterLocallySupportedReimportMediaItemAspectTypeAsync(MovieAspect.Metadata);
            miatr.RegisterLocallySupportedReimportMediaItemAspectTypeAsync(VideoAspect.Metadata);
        }
Exemple #7
0
        protected void UpdateMediaCategories(List <EmulatorConfiguration> configurations)
        {
            if (configurations == null || configurations.Count == 0)
            {
                return;
            }

            IMediaAccessor mediaAccessor = ServiceRegistration.Get <IMediaAccessor>();

            foreach (EmulatorConfiguration configuration in configurations)
            {
                foreach (string platform in configuration.Platforms)
                {
                    if (!mediaAccessor.MediaCategories.ContainsKey(platform))
                    {
                        Logger.Debug("GamesMetadataExtractor: Adding Game Category {0}", platform);
                        MediaCategory category = mediaAccessor.RegisterMediaCategory(platform, new[] { _gameCategory });
                        _platformCategories.TryAdd(platform, category);
                    }
                }
            }
        }