コード例 #1
0
        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();
        }
コード例 #2
0
        /// <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();
        }
コード例 #3
0
        /// <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();
        }