Exemple #1
0
        public void SrtCreationTest()
        {
            //Arrange
            SrtSubtitle     srtSubtitle = new SrtSubtitle(@"1708
01:34:46,181 --> 01:34:47,848
Hey!

1709
01:34:52,187 --> 01:34:53,854
What's your name?

1710
01:34:53,938 --> 01:34:55,439
Davis.");
            SrtSubtitleLine line        = new SrtSubtitleLine(
                @"1708
01:34:46,181 --> 01:34:47,848
Hey!");
            //TimeSpan expectedStartTime = line.StartTime;
            TimeSpan expectedStartTime = new TimeSpan(0, 1, 34, 53, 938);
            string   expectedText      = "Hey!";
            //Act
            TimeSpan actualStartTme = srtSubtitle.subtitleLines[2].StartTime;
            string   actualText     = srtSubtitle.subtitleLines[0].Text;

            //Assert
            Assert.Equal(expectedStartTime, actualStartTme);
            Assert.Equal(expectedText, actualText);
        }
Exemple #2
0
        public SrtSubtitleTests()
        {
            using StreamReader sr = new StreamReader(Path.Combine(Environment.CurrentDirectory, "sample-subtitle.srt"));
            string subtitleText = sr.ReadToEnd();

            Subtitle = new SrtSubtitle(subtitleText);
        }
Exemple #3
0
        public void SrtToString()
        {
            //Arrange
            SrtSubtitle srtSubtitle = new SrtSubtitle(@"1708
01:34:46,181 --> 01:34:47,848
Hey!

1709
01:34:52,187 --> 01:34:53,854
What's your name?

1710
01:34:53,938 --> 01:34:55,439
Davis.");
            string      expected    = @"1708
01:34:46,181 --> 01:34:47,848
Hey!

1709
01:34:52,187 --> 01:34:53,854
What's your name?

1710
01:34:53,938 --> 01:34:55,439
Davis.";
            //Act
            string actual = srtSubtitle.ToString();

            //Assert
            Assert.Equal(expected, actual);
        }
Exemple #4
0
 public SrtSubtitleTest()
 {
     _subtitle = new SrtSubtitle(
         new FileInfo(
             Path.Combine(
                 TestContext.CurrentContext.TestDirectory, @"subs\sub1.srt")));
 }
        public SrtSubtitleViewModel(SubtitleDialogViewModel subtitleDialogViewModel, SrtSubtitle subtitle)
        {
            this.SubtitleDialogViewModel = subtitleDialogViewModel;
            this.subtitle = subtitle;

            this.RemoveSubtitle = ReactiveCommand.Create();
            this.RemoveSubtitle.Subscribe(_ => this.RemoveSubtitleImpl());
        }
Exemple #6
0
        private void AddSrtSubtitleImpl()
        {
            string srtFile = FileService.Instance.GetFileNameLoad(
                Config.RememberPreviousFiles ? Config.LastSrtFolder : null,
                SubtitleRes.SrtFilePickerText,
                Utilities.GetFilePickerFilter("srt"));

            if (srtFile != null)
            {
                if (Config.RememberPreviousFiles)
                {
                    Config.LastSrtFolder = Path.GetDirectoryName(srtFile);
                }

                string characterCode = null;
                using (FileStream srtFileStream = File.OpenRead(srtFile))
                {
                    Ude.CharsetDetector detector = new Ude.CharsetDetector();
                    detector.Feed(srtFileStream);
                    detector.DataEnd();
                    if (detector.Charset != null)
                    {
                        this.logger.Log($"Detected encoding {detector.Charset} for {srtFile} with confidence {detector.Confidence}.");
                        characterCode = CharCode.FromUdeCode(detector.Charset);

                        if (characterCode == null)
                        {
                            this.logger.Log("Detected encoding does not match with any available encoding.");
                        }
                        else
                        {
                            this.logger.Log("Picked encoding " + characterCode);
                        }
                    }

                    if (characterCode == null)
                    {
                        Ioc.Get <IMessageBoxService>().Show(this, SubtitleRes.SubtitleCharsetDetectionFailedMessage);
                        characterCode = "UTF-8";
                    }
                }

                SrtSubtitle newSubtitle = new SrtSubtitle {
                    FileName = srtFile, Default = false, CharacterCode = characterCode, LanguageCode = LanguageUtilities.GetDefaultLanguageCode(), Offset = 0
                };
                this.srtSubtitles.Add(new SrtSubtitleViewModel(this, newSubtitle));
            }

            this.UpdateWarningVisibility();
        }
Exemple #7
0
        static void Main(string[] args)
        {
            if (args.Length != 1)
            {
                Console.Error.WriteLine("Call with a subtitle file as argument.");
                return;
            }

            string fileNameExt = args[0];
            string fileName    = NameOnly(fileNameExt);

            SrtSubtitle subtitle = new SrtSubtitle(new FileInfo(fileNameExt));
            AssOutput   sub3d    = new AssOutput(subtitle);

            using (StreamWriter output = new StreamWriter(fileName + ".ass"))
            {
                sub3d.Render(output);
            }
        }
Exemple #8
0
 public SrtSubtitleViewModel(MainViewModel mainViewModel, SrtSubtitle subtitle)
 {
     this.MainViewModel = mainViewModel;
     this.subtitle      = subtitle;
 }
Exemple #9
0
 public SrtSubtitleViewModel(SubtitleDialogViewModel subtitleDialogViewModel, SrtSubtitle subtitle)
 {
     this.SubtitleDialogViewModel = subtitleDialogViewModel;
     this.subtitle = subtitle;
 }