public Long(string[] photoPaths) { this.buffer = new Collection.Synchronized.Queue <Raster.Image>(); this.PhotoPaths = photoPaths; this.Wrap = (this.Count <= 1000); // If the number of photos is larger than some arbitrary value, playback should not loop. this.loader = Parallel.RepeatThread.Start("PhotoLoader", this.Wrap ? (Action)this.WrappingLoader : this.Loader); }
public override void Close() { if (this.loader.NotNull()) { this.loader.Stop(); this.loader.Abort(); this.loader.Dispose(); this.loader = null; } this.Clear(); this.buffer = null; }