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); }
public SrtSubtitleTests() { using StreamReader sr = new StreamReader(Path.Combine(Environment.CurrentDirectory, "sample-subtitle.srt")); string subtitleText = sr.ReadToEnd(); Subtitle = new SrtSubtitle(subtitleText); }
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); }
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()); }
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(); }
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); } }
public SrtSubtitleViewModel(MainViewModel mainViewModel, SrtSubtitle subtitle) { this.MainViewModel = mainViewModel; this.subtitle = subtitle; }
public SrtSubtitleViewModel(SubtitleDialogViewModel subtitleDialogViewModel, SrtSubtitle subtitle) { this.SubtitleDialogViewModel = subtitleDialogViewModel; this.subtitle = subtitle; }