Example #1
0
        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 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);
        }
Example #3
0
 private void SetChapter(ProcessOutputLineItem lineItem)
 {
     _bluRayTtileInfo.Chapter = new BluRayTitleChapter()
     {
         Id = this.GetId(lineItem), IsSelected = true, Text = lineItem.Text
     };
 }
        private bool IsSubtitleLine(ProcessOutputLineItem processOutputLineItem)
        {
            string[] values = new string[] { "pgs" };

            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 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);
        }
Example #7
0
        private bool IsHeaderLine(ProcessOutputLineItem processOutputLineItem)
        {
            string[] values = new string[] { ".mpls", ".m2ts" };

            bool isHeader = values.Any(v => processOutputLineItem.Text.ToLower().Contains(v));

            return(isHeader);
        }
Example #8
0
        public bool IsAudioType(ProcessOutputLineItem processOutputLineItem, string criteria)
        {
            string[] values = new string[] { criteria };

            bool isAudio = values.Any(v => processOutputLineItem.Text.ToLower().Contains(v));

            return(isAudio);
        }
Example #9
0
        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);
        }
        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);
        }
        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_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_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);
        }
Example #14
0
 private bool IsEmptyLine(ProcessOutputLineItem processOutputLineItem)
 {
     if (processOutputLineItem.Text == "")
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
        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);
        }
        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 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_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);
        }
Example #20
0
 private void SetVideo(ProcessOutputLineItem lineItem)
 {
     if (_bluRayTtileInfo.Video == null)
     {
         _bluRayTtileInfo.Video = new BluRayTitleVideo()
         {
             Id = this.GetId(lineItem), IsSelected = true, Text = lineItem.Text
         }
     }
     ;
 }
        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);
        }
Example #22
0
        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);
        }
Example #23
0
        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);
        }
Example #24
0
        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);
        }
Example #25
0
        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);
        }
Example #26
0
 public string GetId(ProcessOutputLineItem lineItem)
 {
     string[] splitted = lineItem.Text.Split(' ');
     return(splitted[0]);
 }