コード例 #1
0
ファイル: ListItem.cs プロジェクト: PTVAU/ConductorManager
        public PlayListItem(string file, string type, string date)
        {
            ListFilePath = file;
            ListType = type;
            ListDate = date;

            if (!Load())
                Status = PlayListItemStatus.Error;

            Progress.ForeColor = System.Drawing.Color.FromArgb(128, 255, 128);
            Progress.Minimum = 0;
            Progress.Maximum = ClipList.Count;
            Progress.Value = 0;

            StartButton.Image = global::ConductorManager.Properties.Resources.Play_icon14;
            StartButton.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
            StartButton.Location = new System.Drawing.Point(821, 500);
            StartButton.Size = new System.Drawing.Size(60, 23);
            StartButton.Text = "Start";
            StartButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
            StartButton.Click += new EventHandler(StartButton_Click);

            MainThread = new Thread(new ThreadStart(ProcessList));
        }
コード例 #2
0
ファイル: ListItem.cs プロジェクト: PTVAU/ConductorManager
        private void ProcessList()
        {
            Computer comp = new Computer();
            int copied = 0;

            Status = PlayListItemStatus.Proccessing;
            foreach (ClipItem clip in ClipList)
            {
                try
                {
                    string dest = general.getDestinationFile(clip.VideoFile);

                    if (dest == "")
                    {
                        NoDestinationFiles.Add(clip.VideoFile);
                        ProceedFiles++;
                        continue;
                    }

                    string dir = Path.GetDirectoryName(dest);
                    if (!Directory.Exists(dir))
                    {
                            Directory.CreateDirectory(dir);

                    }

                    if (!File.Exists(dest))
                    {
                        if (!NoLocaling)
                        {

                            comp.FileSystem.CopyFile(clip.VideoFile, dest, UIOption.AllDialogs, UICancelOption.ThrowException);
                            copied++;
                        }
                        else
                        {
                            ProceedFiles++;
                            continue;
                        }
                    }
                    else
                    {
                        if (Settings.PathDateModified(dest))
                        {
                            FileInfo srcfi = new FileInfo(clip.VideoFile);
                            FileInfo dstfi = new FileInfo(dest);

                            if (dstfi.LastWriteTime < srcfi.LastWriteTime || srcfi.Length != dstfi.Length)
                            {
                                if (general.DeleteFile(dest))
                                {
                                    comp.FileSystem.CopyFile(clip.VideoFile, dest, UIOption.AllDialogs, UICancelOption.ThrowException);
                                    copied++;
                                }
                            }
                        }
                    }

                    ProceedFiles++;
                    Content = Content.Replace(clip.VideoFile, dest);

                }
                catch (Exception ex)
                {
                    Status = PlayListItemStatus.Error;
                    MessageBox.Show("Error (File Copy) : " + ex.Message, "File Copy...", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

            if (Status != PlayListItemStatus.Error)
            {
                Status = PlayListItemStatus.Complete;

                try
                {
                    string dest = general.getDestinationFile(ListFilePath);

                    string dir = Path.GetDirectoryName(dest);
                    if (!Directory.Exists(dir))
                        Directory.CreateDirectory(dir);

                    if (File.Exists(dest) && copied == 0)
                    {
                        return;
                    }

                    File.WriteAllText(dest, Content, Encoding.Default);
                }
                catch (Exception ex)
                {
                    Status = PlayListItemStatus.Error;
                    MessageBox.Show("Error (List File Copy) : " + ex.Message, "List File Copy...", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }