/// <summary>
        /// Main processing function, called by BackgroundWorker thread
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void DoProcess(object sender, DoWorkEventArgs e)
        {
            _bw = (BackgroundWorker)sender;

            _bw.ReportProgress(-10, _status);
            _bw.ReportProgress(0, _status);

            SubtitleInfo sub     = _jobInfo.SubtitleStreams[_jobInfo.StreamId];
            string       inFile  = sub.TempFile;
            string       outFile = Path.ChangeExtension(inFile, "converted.srt");

            _bw.ReportProgress(0, _readingstatus);
            TextSubtitle textSub = null;

            switch (sub.Format)
            {
            case "SSA":
            case "ASS":
                textSub = SSAReader.ReadFile(inFile);
                break;

            case "UTF-8":
                textSub = SRTReader.ReadFile(inFile);
                break;
            }

            if (textSub == null)
            {
                return;
            }

            _bw.ReportProgress(50, _writingstatus);

            if (SRTWriter.WriteFile(outFile, textSub))
            {
                sub.Format         = "UTF-8";
                sub.NeedConversion = false;
                _jobInfo.TempFiles.Add(inFile);
                sub.TempFile      = outFile;
                _jobInfo.ExitCode = 0;
            }

            _bw.ReportProgress(100);
            _jobInfo.CompletedStep = _jobInfo.NextStep;
            e.Result = _jobInfo;
        }
Пример #2
0
 void saveToFile()
 {
     writer = new SRTWriter();
     writer.writeToFile(texts, times, Application.dataPath + "/SRTFiles/newSRTFile.txt");
 }
 void saveToFile()
 {
     writer = new SRTWriter();
     writer.writeToFile(texts, times, AssetDatabase.GetAssetPath(source));
 }