private bool InitializeSubIdx(string vobSubFileName) { VobSubParser vobSubParser = new VobSubParser(true); string idxFileName = Path.ChangeExtension(vobSubFileName, ".idx"); vobSubParser.OpenSubIdx(vobSubFileName, idxFileName); _vobSubMergedPackist = vobSubParser.MergeVobSubPacks(); _palette = vobSubParser.IdxPalette; vobSubParser.VobSubPacks.Clear(); List<int> languageStreamIds = new List<int>(); foreach (var pack in _vobSubMergedPackist) { if (pack.SubPicture.Delay.TotalMilliseconds > 500 && !languageStreamIds.Contains(pack.StreamId)) languageStreamIds.Add(pack.StreamId); } if (languageStreamIds.Count > 1) { DvdSubRipChooseLanguage ChooseLanguage = new DvdSubRipChooseLanguage(); ChooseLanguage.Initialize(_vobSubMergedPackist, _palette, vobSubParser.IdxLanguages, string.Empty); Form form = _main; if (form == null) form = this; ChooseLanguage.Activate(); if (ChooseLanguage.ShowDialog(form) == System.Windows.Forms.DialogResult.OK) { _vobSubMergedPackist = ChooseLanguage.SelectedVobSubMergedPacks; SetTesseractLanguageFromLanguageString(ChooseLanguage.SelectedLanguageString); _importLanguageString = ChooseLanguage.SelectedLanguageString; } else { return false; } } return true; }
/// <summary> /// The initialize sub idx. /// </summary> /// <param name="vobSubFileName"> /// The vob sub file name. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> private bool InitializeSubIdx(string vobSubFileName) { var vobSubParser = new VobSubParser(true); string idxFileName = Path.ChangeExtension(vobSubFileName, ".idx"); vobSubParser.OpenSubIdx(vobSubFileName, idxFileName); this._vobSubMergedPackist = vobSubParser.MergeVobSubPacks(); this._palette = vobSubParser.IdxPalette; vobSubParser.VobSubPacks.Clear(); var languageStreamIds = new List<int>(); foreach (var pack in this._vobSubMergedPackist) { if (pack.SubPicture.Delay.TotalMilliseconds > 500 && !languageStreamIds.Contains(pack.StreamId)) { languageStreamIds.Add(pack.StreamId); } } if (languageStreamIds.Count > 1) { using (var chooseLanguage = new DvdSubRipChooseLanguage()) { if (this.ShowInTaskbar) { chooseLanguage.Icon = (Icon)this.Icon.Clone(); chooseLanguage.ShowInTaskbar = true; chooseLanguage.ShowIcon = true; } chooseLanguage.Initialize(this._vobSubMergedPackist, this._palette, vobSubParser.IdxLanguages, string.Empty); Form form = this._main; if (form == null) { form = this; } chooseLanguage.Activate(); if (chooseLanguage.ShowDialog(form) == DialogResult.OK) { this._vobSubMergedPackist = chooseLanguage.SelectedVobSubMergedPacks; this.SetTesseractLanguageFromLanguageString(chooseLanguage.SelectedLanguageString); this._importLanguageString = chooseLanguage.SelectedLanguageString; } else { return false; } } } return true; }