public void SortByTrackNumber() { mainWin.InitStatus(files.Count); files.Sort(delegate(TagLib.File x, TagLib.File y) { if (x.Tag.Track < y.Tag.Track) { return(-1); } else if (x.Tag.Track == y.Tag.Track) { return(0); } else { return(1); } }); int index = 0; foreach (TagLib.File file in files) { sortedFilePaths.Add(index, file.Name); mainWin.UpdateStatus("Loading Files", index, files.Count); index++; } files.Clear(); }