Ejemplo n.º 1
0
 private void processfile(FileInfo file)
 {
     if (!isactive)
     {
         return;
     }
     if ((file.Extension == ".mts") || (file.Extension == ".m2ts"))
     {
         try
         {
             String          message      = "   Opening File: " + file.FullName;
             SubGenEventArgs neweventargs = new SubGenEventArgs(message, false, "");
             if (OnSubgenResult != null)
             {
                 OnSubgenResult(this, neweventargs);
             }
             SubFile newvideofile = new SubFile();
             newvideofile.FpsType   = cameratype;
             newvideofile.VideoFile = file.FullName;
             newvideofile.MakeSubTitles();
             newvideofile.RemoveSubTime();
             String filename = "   Processed File: " + file.FullName;
             neweventargs = new SubGenEventArgs(filename, false, "");
             if (OnSubgenResult != null)
             {
                 OnSubgenResult(this, neweventargs);
             }
             if (showsubtime)
             {
                 savesubtitles(file, newvideofile.FullSubOutput);
             }
             else
             {
                 savesubtitles(file, newvideofile.NoTimeSubOutput);
             }
         }
         catch
         {
             String          filename     = "   Error Processing File: " + file.FullName;
             SubGenEventArgs neweventargs = new SubGenEventArgs(filename, true, "");
             if (OnSubgenResult != null)
             {
                 OnSubgenResult(this, neweventargs);
             }
         }
         //
         //  add code to actually generate and save the subtitles in here
         //  try/catch to find errors and trigger appropriate event
         //
         //Thread.Sleep(2000); //to simulate reading a real file - erase when code wired up.
     }
 }
Ejemplo n.º 2
0
 private void generatesubtitles()
 {
     try
     {
         subtitle_handle.MakeSubTitles();   //calls the c dll, may be slow from large file, hence separate thread
         //subtitle_handle.SplitSubTitles();
         //Thread.Sleep(4000);                   //simulate large file - comment this out when done
         subtitle_handle.RemoveSubTime();        //automatically remove time
         btn_subgen.Invoke((MethodInvoker) delegate()
         {
             rtb_subcontent.Text = subtitle_handle.FullSubOutput;
             //rtb_subcontent.Text = subtitle_handle.NoTimeSubOutput;
             rtb_subcontent.Enabled = true;
             btn_savesubs.Enabled   = true;
             btn_subgen.Enabled     = true;
             cb_timedisp.Enabled    = true;
             //Cursor = Cursors.Default;
         });  //methodinvoker is HANDY!
         //btn_subgen.Invoke(new MethodInvoker (delegate() { rtb_subcontent.Text = subtitle_handle.FullSubOutput; }));  //this also works!
     }
     catch (System.Exception e)
     {
         btn_subgen.Invoke((MethodInvoker) delegate()
         {
             String errormessage = "There is a problem with the video file.\nYou may not have selected a .mts or .m2ts\nfile or it may be corrupt.\n\nThe error type is: " + e.Message;
             MessageBox.Show(errormessage,
                             "File Open Error");
         });
     }
     finally
     {
         btn_subgen.Invoke((MethodInvoker) delegate()
         {
             UseWaitCursor  = false;
             timer1.Enabled = false;
         });
     }
 }