/// <summary> /// creates cached thumbs in MP's thumbs dir /// </summary> private void PerformRequest() { Stopwatch benchclock = new Stopwatch(); benchclock.Start(); string path = _filepath; List <GUIListItem> itemlist = null; vDir.SetExtensions(Util.Utils.PictureExtensions); if (!vDir.IsRemote(path)) { itemlist = vDir.GetDirectoryUnProtectedExt(path, true); foreach (GUIListItem item in itemlist) { if (GUIGraphicsContext.CurrentState == GUIGraphicsContext.State.STOPPING) { return; } if (String.IsNullOrEmpty(item.Path)) { continue; } if (path.Length >= item.Path.Length) { Log.Warn("GUIPictures: Omitting outside path {0} from check share {1}", item.Path, path); continue; } if (!item.IsFolder) { int iRotate = PictureDatabase.GetRotation(item.Path); if (iRotate == -1) { Log.Debug("GUIPictures Setting : Database is not available. File {0} has not been added", item.Path); } string thumbnailImage = Util.Utils.GetPicturesThumbPathname(item.Path); string thumbnailImageL = Util.Utils.GetPicturesLargeThumbPathname(item.Path); if (!_noLargeThumbnails && !File.Exists(thumbnailImageL)) { if (Util.Picture.CreateThumbnail(item.Path, thumbnailImageL, (int)Thumbs.ThumbLargeResolution, (int)Thumbs.ThumbLargeResolution, iRotate, Thumbs.SpeedThumbsLarge, true, false)) { Log.Debug("GUIPictures Setting : Creation of missing large thumb successful for {0}", item.Path); count++; } } if (!File.Exists(thumbnailImage)) { if (Util.Picture.CreateThumbnail(item.Path, thumbnailImage, (int)Thumbs.ThumbResolution, (int)Thumbs.ThumbResolution, iRotate, Thumbs.SpeedThumbsSmall, false, false)) { Log.Debug("GUIPictures Setting : Creation of missing thumb successful for {0}", item.Path); count++; } } } } PictureDatabase.Optimize(); } }