示例#1
0
        private bool AutoloadBackdrop(MovieSheetsGenerator generator, bool loadFromMetadata, MoviesheetsUpdateManager metadatamanager, bool doSelect,
                                      string mask, MoviesheetImageType imgType)
        {
            bool _result = false;

            // check if must populate from masked existing file
            if (doSelect && !string.IsNullOrEmpty(mask))
            {
                string _jpgPath = null;
                if (ConfigHelpers.CheckIfFileExists(MoviePath, mask, out _jpgPath))
                {
                    generator.UpdateBackdrop(imgType, _jpgPath);
                    // add it to the pool too
                    BackdropItem _item = PrepareBackdropItem(_jpgPath, false);
                    AddBackdropToLists(_item, true);
                    _result = true;
                }
            }

            // check if must populate from metadata
            if (!_result && loadFromMetadata && metadatamanager != null)
            {
                string _itemType = null;
                string _path     = null;
                switch (imgType)
                {
                case MoviesheetImageType.Background:
                    _itemType = MoviesheetsUpdateManager.BACKGROUND_STREAM_NAME;
                    _path     = generator.BackdropTempPath;
                    break;

                case MoviesheetImageType.Fanart1:
                    _itemType = MoviesheetsUpdateManager.FANART1_STREAM_NAME;
                    _path     = generator.Fanart1TempPath;
                    break;

                case MoviesheetImageType.Fanart2:
                    _itemType = MoviesheetsUpdateManager.FANART2_STREAM_NAME;
                    _path     = generator.Fanart2TempPath;
                    break;

                case MoviesheetImageType.Fanart3:
                    _itemType = MoviesheetsUpdateManager.FANART3_STREAM_NAME;
                    _path     = generator.Fanart3TempPath;
                    break;
                }

                if (!string.IsNullOrEmpty(_itemType))
                {
                    _result = metadatamanager.GetImage(_itemType, _path);
                    if (_result && File.Exists(_path))
                    {
                        generator.UpdateBackdrop(imgType, _path);
                        // add it to the pool too
                        BackdropItem _item = PrepareBackdropItem(_path, false);
                        AddBackdropToLists(_item, true);
                    }
                }
            }

            return(_result);
        }
示例#2
0
        public bool ExportBackdrop(string sourcePath, MoviesheetImageType imgType)
        {
            bool   _doIt              = false;
            string _name              = null;
            Size   _size              = new Size(0, 0);
            bool   _isMaxQuality      = true;
            double _maxFilesize       = double.PositiveInfinity;
            bool   _overwriteExisting = true;
            bool   _preserveAR        = true;

            ThumbGen.UserOptions.ExportImages _exportOptions = FileManager.Configuration.Options.ExportImagesOptions;
            switch (imgType)
            {
            case MoviesheetImageType.Background:
                _doIt = _exportOptions.AutoExportFanartjpgAsBackground;
                _name = _exportOptions.AutoExportFanartjpgAsBackgroundName + _exportOptions.BackgroundExtension;
                if (_exportOptions.IsResizingBackground)
                {
                    _size.Width  = _exportOptions.BackgroundSizeWidth;
                    _size.Height = _exportOptions.BackgroundSizeHeight;
                }
                _isMaxQuality      = _exportOptions.IsMaxQualityBackground;
                _maxFilesize       = _exportOptions.MaxFilesizeBackground;
                _overwriteExisting = _exportOptions.OverwriteExistingBackground;
                _preserveAR        = _exportOptions.PreserveAspectRatioBackground;
                break;

            case MoviesheetImageType.Fanart1:
                _doIt = _exportOptions.AutoExportFanart1jpgAsBackground;
                _name = _exportOptions.AutoExportFanart1jpgAsBackgroundName + _exportOptions.Fanart1Extension;
                if (_exportOptions.IsResizingFanart1)
                {
                    _size.Width  = _exportOptions.Fanart1SizeWidth;
                    _size.Height = _exportOptions.Fanart1SizeHeight;
                }
                _isMaxQuality      = _exportOptions.IsMaxQualityFanart1;
                _maxFilesize       = _exportOptions.MaxFilesizeFanart1;
                _overwriteExisting = _exportOptions.OverwriteExistingFanart1;
                _preserveAR        = _exportOptions.PreserveAspectRatioFanart1;
                break;

            case MoviesheetImageType.Fanart2:
                _doIt = _exportOptions.AutoExportFanart2jpgAsBackground;
                _name = _exportOptions.AutoExportFanart2jpgAsBackgroundName + _exportOptions.Fanart2Extension;
                if (_exportOptions.IsResizingFanart2)
                {
                    _size.Width  = _exportOptions.Fanart2SizeWidth;
                    _size.Height = _exportOptions.Fanart2SizeHeight;
                }
                _isMaxQuality      = _exportOptions.IsMaxQualityFanart2;
                _maxFilesize       = _exportOptions.MaxFilesizeFanart2;
                _overwriteExisting = _exportOptions.OverwriteExistingFanart2;
                _preserveAR        = _exportOptions.PreserveAspectRatioFanart2;
                break;

            case MoviesheetImageType.Fanart3:
                _doIt = _exportOptions.AutoExportFanart3jpgAsBackground;
                _name = _exportOptions.AutoExportFanart3jpgAsBackgroundName + _exportOptions.Fanart3Extension;
                if (_exportOptions.IsResizingFanart3)
                {
                    _size.Width  = _exportOptions.Fanart3SizeWidth;
                    _size.Height = _exportOptions.Fanart3SizeHeight;
                }
                _isMaxQuality      = _exportOptions.IsMaxQualityFanart3;
                _maxFilesize       = _exportOptions.MaxFilesizeFanart3;
                _overwriteExisting = _exportOptions.OverwriteExistingFanart3;
                _preserveAR        = _exportOptions.PreserveAspectRatioFanart3;
                break;
            }

            return(this.ExportImage(_doIt, _name, sourcePath, _size, _isMaxQuality, _maxFilesize, _overwriteExisting, _preserveAR));
        }