public EnumBluRayLineItemType GetLineItemType(ProcessOutputLineItem processOutputLineItem) { EnumBluRayLineItemType type; if (this.IsHeaderLine(processOutputLineItem)) { type = EnumBluRayLineItemType.BluRayTitleHeaderLine; } else if (this.IsChapterLine(processOutputLineItem)) { type = EnumBluRayLineItemType.BluRayTitleChapterLine; } else if (this.IsVideoLine(processOutputLineItem)) { type = EnumBluRayLineItemType.BluRayTitleVideoLine; } else if (this.IsAudioLine(processOutputLineItem)) { type = EnumBluRayLineItemType.BluRayTitleAudioLine; } else if (this.IsSubtitleLine(processOutputLineItem)) { type = EnumBluRayLineItemType.BluRayTitleSubtitleLine; } else { type = EnumBluRayLineItemType.BluRayTitleEmptyLine; } return type; }
public void bluraysummarylineitemidentifierservice_can_identify_bluray_header_line_item_test() { ProcessOutputLineItem lineItem = new ProcessOutputLineItem() { Id =1 , Text = "1) 00010.mpls, 3:04:31" }; ILineItemIdentifierService service = new BluRaySummaryLineItemIdentifierService(); EnumBluRayLineItemType type = service.GetLineItemType(lineItem); type.Should().Be(EnumBluRayLineItemType.BluRaySummaryHeaderLine); }
public void bluraytitlelineitemidentifierservice_can_identify_bluray_header_line_item_test() { ProcessOutputLineItem lineItem = new ProcessOutputLineItem() { Id = 1, Text = "M2TS, 1 video track, 1 audio track, 1 subtitle track, 0:58:28, 50i" }; ILineItemIdentifierService service = new BluRayTitleLineItemIdentifierService(); EnumBluRayLineItemType type = service.GetLineItemType(lineItem); type.Should().Be(EnumBluRayLineItemType.BluRayTitleHeaderLine); }
public void bluraysummarylineitemidentifierservice_can_identify_bluray_detail_line_item_test() { ProcessOutputLineItem lineItem = new ProcessOutputLineItem() { Id = 1, Text = "- DTS Master Audio, Swedish, multi-channel, 48kHz" }; ILineItemIdentifierService service = new BluRaySummaryLineItemIdentifierService(); EnumBluRayLineItemType type = service.GetLineItemType(lineItem); type.Should().Be(EnumBluRayLineItemType.BluRaySummaryDetailLine); }
public void bluraytitlelineitemidentifierservice_can_identify_bluray_audio_line_item_test() { ProcessOutputLineItem lineItem = new ProcessOutputLineItem() { Id = 1, Text = "3: DTS Master Audio, French, 5.1 channels, 24 bits, 48kHz" }; ILineItemIdentifierService service = new BluRayTitleLineItemIdentifierService(); EnumBluRayLineItemType type = service.GetLineItemType(lineItem); type.Should().Be(EnumBluRayLineItemType.BluRayTitleAudioLine); }
public void bluraytitlelineitemidentifierservice_can_identify_bluray_chapter_line_item_test() { ProcessOutputLineItem lineItem = new ProcessOutputLineItem() { Id = 1, Text = "1: Chapters, 6 chapters" }; ILineItemIdentifierService service = new BluRayTitleLineItemIdentifierService(); EnumBluRayLineItemType type = service.GetLineItemType(lineItem); type.Should().Be(EnumBluRayLineItemType.BluRayTitleChapterLine); }
private bool IsEmptyLine(ProcessOutputLineItem processOutputLineItem) { if (processOutputLineItem.Text == "") return true; else return false; }
public void bluraytitlelineitemidentifierservice_can_identify_bluray_subtitle_line_item_test() { ProcessOutputLineItem lineItem = new ProcessOutputLineItem() { Id = 1, Text = "4: Subtitle (pgs), French" }; ILineItemIdentifierService service = new BluRayTitleLineItemIdentifierService(); EnumBluRayLineItemType type = service.GetLineItemType(lineItem); type.Should().Be(EnumBluRayLineItemType.BluRayTitleSubtitleLine); }
public void bluraysummarylineitemidentifierservice_can_identify_bluray_empty_line_item_test() { ProcessOutputLineItem lineItem = new ProcessOutputLineItem() { Id = 1, Text = "" }; ILineItemIdentifierService service = new BluRaySummaryLineItemIdentifierService(); EnumBluRayLineItemType type = service.GetLineItemType(lineItem); type.Should().Be(EnumBluRayLineItemType.BluRaySummaryEmptyLine); }
public void bluraytitlelineitemidentifierservice_can_identify_bluray_video_line_item_test() { ProcessOutputLineItem lineItem = new ProcessOutputLineItem() { Id = 1, Text = "2: h264/AVC, 1080i50 (16:9)" }; ILineItemIdentifierService service = new BluRayTitleLineItemIdentifierService(); EnumBluRayLineItemType type = service.GetLineItemType(lineItem); type.Should().Be(EnumBluRayLineItemType.BluRayTitleVideoLine); }
private bool IsHeaderLine(ProcessOutputLineItem processOutputLineItem) { string[] values = new string[] { ".mpls", ".m2ts" }; bool isHeader = values.Any(v => processOutputLineItem.Text.ToLower().Contains(v)); return isHeader; }
private bool IsDetailLine(ProcessOutputLineItem processOutputLineItem) { string[] values = new string[] { "chapters", "h264", "dts", "ac3", "pcm", "stero", "raw","truehd","avc","mpeg2","vc-1" }; bool isDetail = values.Any(v => processOutputLineItem.Text.ToLower().Contains(v)); return isDetail; }
private bool IsVideoLine(ProcessOutputLineItem processOutputLineItem) { string[] values = new string[] { "h264","avc","1080", "mpeg-4", "mpeg2" }; bool isChapter = values.Any(v => processOutputLineItem.Text.ToLower().Contains(v)); return isChapter; }
private bool IsAudioLine(ProcessOutputLineItem processOutputLineItem) { string[] values = new string[] { "dts", "audio", "channels", "ac3", "pcm", "truehd" }; bool isChapter = values.Any(v => processOutputLineItem.Text.ToLower().Contains(v)); return isChapter; }
private bool IsSubtitleLine(ProcessOutputLineItem processOutputLineItem) { string[] values = new string[] { "pgs" }; bool isChapter = values.Any(v => processOutputLineItem.Text.ToLower().Contains(v)); return isChapter; }
public string GetLanguage(ProcessOutputLineItem lineItem) { var languages = _languageService.GetLanguages(); string lineItemLanguage = "undetermined"; foreach (MKVMergeLanguageItem language in languages) { if (lineItem.Text.ToLower().Contains(language.Language.ToLower())) { return lineItemLanguage = language.Language; } } return lineItemLanguage; }
public EnumAudioType GetAudioType(ProcessOutputLineItem lineItem) { EnumAudioType type = EnumAudioType.AC3; if (this.IsAudioType(lineItem, "dts master audio")) { type = EnumAudioType.DTSMA; } else if (this.IsAudioType(lineItem, "dts express")) { type = EnumAudioType.DTSEXPRESS; } else if (this.IsAudioType(lineItem, "truehd")) { type = EnumAudioType.TrueHD; } else if (this.IsAudioType(lineItem, "pcm")) { type = EnumAudioType.LPCM; } return type; }
public EnumBluRayLineItemType GetLineItemType(ProcessOutputLineItem processOutputLineItem) { EnumBluRayLineItemType type; if (this.IsHeaderLine(processOutputLineItem)) { type = EnumBluRayLineItemType.BluRaySummaryHeaderLine; } else if (this.IsDetailLine(processOutputLineItem)) { type = EnumBluRayLineItemType.BluRaySummaryDetailLine; } else if (this.IsEmptyLine(processOutputLineItem)) { type = EnumBluRayLineItemType.BluRaySummaryEmptyLine; } else { type = EnumBluRayLineItemType.BluRayError; } return type; }
public string GetId(ProcessOutputLineItem lineItem) { string[] splitted = lineItem.Text.Split(' '); return splitted[0]; }
public string RemoveEac3ToIdFromHeaderLineItem(ProcessOutputLineItem lineItem) { if (!this.IsIdHeader(lineItem)) return lineItem.Text; int closedParenthesis = lineItem.Text.IndexOf(")") + 1; string headerText = lineItem.Text.Substring(closedParenthesis, lineItem.Text.Length - closedParenthesis).Trim(); return headerText; }
public bool IsIdHeader(ProcessOutputLineItem lineItem) { string firstPhrase = this.GetId(lineItem); string pattern = @"^(\d+)\)"; Regex regEx = new Regex(pattern, RegexOptions.IgnoreCase); bool isMatch = regEx.IsMatch(firstPhrase); return isMatch; }
private void SetVideo(ProcessOutputLineItem lineItem) { if (_bluRayTtileInfo.Video == null) _bluRayTtileInfo.Video = new BluRayTitleVideo() { Id = this.GetId(lineItem), IsSelected = true, Text = lineItem.Text }; }
private void SetSubtitle(ProcessOutputLineItem lineItem) { if (_bluRayTtileInfo.Subtitles == null) _bluRayTtileInfo.Subtitles = new List<BluRayTitleSubtitle>(); BluRayTitleSubtitle subtitle = new BluRayTitleSubtitle(); subtitle.Id = this.GetId(lineItem); subtitle.Language = this.GetLanguage(lineItem); subtitle.Text = lineItem.Text; _bluRayTtileInfo.Subtitles.Add(subtitle); }
private void SetChapter(ProcessOutputLineItem lineItem) { _bluRayTtileInfo.Chapter = new BluRayTitleChapter() { Id = this.GetId(lineItem), IsSelected = true, Text = lineItem.Text }; }
private void SetAudio(ProcessOutputLineItem lineItem) { string id = this.GetId(lineItem); if (!this.IsIdValid(id)) return; if (_bluRayTtileInfo.AudioList == null) _bluRayTtileInfo.AudioList = new List<BluRayTitleAudio>(); BluRayTitleAudio audio = new BluRayTitleAudio(); audio.Id = id; audio.IsSelected = false; audio.AudioType = this.GetAudioType(lineItem); audio.Language = this.GetLanguage(lineItem); audio.Text = lineItem.Text; audio.OriginalAudioType = audio.AudioType; audio.IsLossless = this.SetIsLosslessAudioFlag(audio.OriginalAudioType); _bluRayTtileInfo.AudioList.Add(audio); }
public bool IsAudioType(ProcessOutputLineItem processOutputLineItem, string criteria ) { string[] values = new string[] { criteria }; bool isAudio = values.Any(v => processOutputLineItem.Text.ToLower().Contains(v)); return isAudio; }