public void AddMedias(IMediaInfo[] medias) { Medias.AddRange(medias); if (AutoSave) { Save(); } }
public void GenerateLibraryThreadMedia(object param) { var tmp = (Tuple <String, String[], ManualResetEvent, ClickStyle, int>)param; var done = new List <MediaItem>(); try { foreach (var ext in tmp.Item2) { var files = Directory.GetFiles(tmp.Item1, "*" + ext, SearchOption.AllDirectories); foreach (String file in files) { var cont = false; lock (Paths) { cont = Paths.Contains(file); if (!cont) { Paths.Add(file); } } if (!cont) { var media = MediaItem.Create(file); if (media != null) { done.Add(media); if (done.Count >= tmp.Item5) { lock (Medias) Medias.AddRange(done); done.Clear(); lock (MW) MW.UpdateCurrentPanel(tmp.Item4); } } } } } if (done.Count > 0) { lock (Medias) Medias.AddRange(done); done.Clear(); lock (MW) MW.UpdateCurrentPanel(tmp.Item4); } } catch (ArgumentException) { ConfigFile.Instance.Data.BiblioFiles.Remove(tmp.Item1); } catch (Exception) { } tmp.Item3.Set(); }
public void AddMedias(IMediaInfo[] mediaInfo) { Medias.AddRange(mediaInfo); }