/// <summary> /// /// </summary> public override void ThreadFunc() { foreach (FileInfo fi in infos) { OnStatusUpdate(fi.Name); TagLib.File tag_file = TagLib.File.Create(fi.FullName); TagLib.Tag id3v2 = tag_file.GetTag(TagLib.TagTypes.Id3v2); OrganizeFormatEvaluator eval = new OrganizeFormatEvaluator(format, id3v2); // HACK LOOK AT THIS!!! string fn = eval.Value.TrimStart('\\'); char[] chars = System.IO.Path.GetInvalidFileNameChars(); foreach (char c in chars) { fn = fn.Replace(c, '_'); } string fullname = String.Format("{0}\\{1}{2}", fi.DirectoryName, fn, fi.Extension); fi.MoveTo(fullname); //Tools.Functions.MoveTo( fi, dir.TrimEnd( '\\' ), false ); } OnStatusUpdate("Finished"); OnFinished(); // HACK!! System.Threading.Thread.Sleep(0); //SafeClose(); }
public override void ThreadFunc() { foreach (FileInfo fi in infos) { OnStatusUpdate(fi.FullName); TagLib.File tag_file = TagLib.File.Create(fi.FullName); TagLib.Tag id3v1 = tag_file.GetTag(TagLib.TagTypes.Id3v1); OrganizeFormatEvaluator eval = new OrganizeFormatEvaluator(format, id3v1); string dir = String.Format("{0}\\{1}", path.TrimEnd('\\'), eval.Value.TrimStart('\\')); if (!Directory.Exists(dir)) { //TODO MessageBox() Directory.CreateDirectory(dir); } if (copy) { fi.CopyTo(dir + "\\" + fi.Name, overwrite); } else { Tools.Functions.MoveTo(fi, dir + "\\" + fi.Name, overwrite); } } // hold open for at least ... System.Threading.Thread.Sleep(1000); //SafeClose(); OnFinished(); }
/// <summary> /// /// </summary> public override void ThreadFunc() { foreach (FileInfo fi in infos) { OnStatusUpdate(fi.Name); TagLib.File tag_file = TagLib.File.Create(fi.FullName); TagLib.Tag id3v1 = tag_file.GetTag(TagLib.TagTypes.Id3v1); OrganizeFormatEvaluator eval = new OrganizeFormatEvaluator(format, id3v1); string fullname = String.Format("{0}\\{1}{2}", fi.DirectoryName, eval.Value.TrimStart('\\'), fi.Extension); fi.MoveTo(fullname); //Tools.Functions.MoveTo( fi, dir.TrimEnd( '\\' ), false ); } OnStatusUpdate("Finished"); OnFinished(); // HACK!! System.Threading.Thread.Sleep(0); //SafeClose(); }