private void ABC_DragDrop(object sender, DragEventArgs e) { //if (!e.Data.GetDataPresent(DataFormats.FileDrop)) return; try { string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); foreach (string file in files) { FileEntryClass newfile = new FileEntryClass(file); FileList.Add(newfile); } GenDGV(); } catch { return; } }
public void Read(out SortableBindingList <FileEntryClass> FileEntries, out OutputMetadata OutputMetaData) { file_entries = new SortableBindingList <FileEntryClass>(); output_metadata = new OutputMetadata(); XDocument doc = XDocument.Load(filename); var outputinfo = from outputdat in (doc.Descendants("OutputData")) select new { OutputFile = (string)outputdat.Element("OutputFile"), Album = (string)outputdat.Element("Album"), AlbumSort = (string)outputdat.Element("AlbumSort"), Artist = (string)outputdat.Element("Artist"), ArtistSort = (string)outputdat.Element("ArtistSort"), Comment = (string)outputdat.Element("Comment"), Composer = (string)outputdat.Element("Composer"), ComposerSort = (string)outputdat.Element("ComposerSort"), Disc = outputdat.Element("Disc").Value, DiscTotal = outputdat.Element("DiscTotal").Value, Title = (string)outputdat.Element("Title"), TitleSort = (string)outputdat.Element("TitleSort"), Track = outputdat.Element("Track").Value, TrackTotal = outputdat.Element("TrackTotal").Value, Year = outputdat.Element("Year").Value, Artwork = (string)outputdat.Element("Artwork") }; var fileinfo = from filedat in (doc.Descendants("FileEntry")) select new { AdHocSort = filedat.Attribute("Index").Value, FileName = (string)filedat.Element("FileName"), FilePath = (string)filedat.Element("FilePath"), Chapter = (bool)filedat.Element("Chapter"), ChapterTitle = (string)filedat.Element("ChapterTitle"), Title = (string)filedat.Element("Title"), Duration = filedat.Element("Duration").Value, TrackNum = filedat.Element("TrackNum").Value }; var output = outputinfo.First(); output_metadata.Album = output.Album; output_metadata.AlbumSort = output.AlbumSort; output_metadata.Artist = output.Artist; output_metadata.ArtistSort = output.ArtistSort; output_metadata.Comment = output.Comment; output_metadata.Composer = output.Composer; output_metadata.ComposerSort = output.ComposerSort; output_metadata.Disc = Convert.ToInt32(output.Disc); output_metadata.DiscTotal = Convert.ToInt32(output.DiscTotal); output_metadata.OutputFile = output.OutputFile; output_metadata.Title = output.Title; output_metadata.TitleSort = output.TitleSort; output_metadata.Track = Convert.ToInt32(output.Track); output_metadata.TrackTotal = Convert.ToInt32(output.TrackTotal); output_metadata.Year = Convert.ToInt32(output.Year); if (output.Artwork != null) { output_metadata.Image = Convert.FromBase64String(output.Artwork); } foreach (var singlefile in fileinfo) { FileEntryClass listfile = new FileEntryClass(singlefile.FilePath); listfile.AdHocSort = Convert.ToInt32(singlefile.AdHocSort); listfile.Chapter = singlefile.Chapter; listfile.ChapterTitle = singlefile.ChapterTitle; listfile.Duration = TimeSpan.FromMilliseconds(Convert.ToInt32(singlefile.Duration)); listfile.FileName = singlefile.FileName; listfile.FilePath = singlefile.FilePath; listfile.Title = singlefile.Title; listfile.TrackNum = Convert.ToInt32(singlefile.TrackNum); file_entries.Add(listfile); } FileEntries = file_entries; OutputMetaData = output_metadata; }