private void addProductsAndQualities() { foreach (ProductTypeEnum product in Enum.GetValues(typeof(ProductTypeEnum))) { Products.Add(new SelectListItem() { Text = product.ToString(), Value = ((int)product).ToString() }); } for (int i = 0; i < 5; ++i) { Quality.Add(new SelectListItem() { Text = i.ToString(), Value = i.ToString() }); } }
private void UpdateUiFromTheWorkerThread(object state) { Quality.Clear(); var availableAudioFormats = state as List <string>; var qualityDynamic = new List <string>(); var qualityDynamicFormat = new List <string>(); availableAudioFormats.Reverse(); bool addOpus = true, addVorbis = true, addM4a = true; foreach (var item in availableAudioFormats) { if (HelpersModel.FindFormat(item).Contains("opus")) { if (addOpus) { qualityDynamic.Add(Localization.Properties.Resources.AudioQualityRawWebm); qualityDynamic.Add(Localization.Properties.Resources.AudioQualityRawOpus); addOpus = false; } } if (HelpersModel.FindFormat(item).Contains("vorbis")) { if (addVorbis) { qualityDynamic.Add(Localization.Properties.Resources.AudioQualityRawVorbis); addVorbis = false; } } if (HelpersModel.FindFormat(item).Contains("m4a")) { if (addM4a) { qualityDynamic.Add(Localization.Properties.Resources.AudioQualityRawAac); addM4a = false; } } qualityDynamicFormat.Add(ArragementDynamicFormatsOutput(item)); } qualityDynamic.ForEach(Quality.Add); QualityDefault.ForEach(Quality.Add); qualityDynamicFormat.ForEach(Quality.Add); Quality.Add(Localization.Properties.Resources.AudioAndVideoBestYouTubeQuality); var optimalQualityIndex = Quality.ToList().FindIndex(x => x.Contains("m4a")); var defaultQualityCount = 19; if (optimalQualityIndex != -1) { if (IsUsingLastQualitySelected && Quality.Count == defaultQualityCount) { SelectedQuality = Quality[_lastUsedQualityIndex]; } else { SelectedQuality = Quality[optimalQualityIndex]; } } else { Quality.Clear(); Quality.Add(Localization.Properties.Resources.AudioQualityCouldNotBeRetrieved); SelectedQuality = Quality[0]; if (_isOnline) { StandardOutput = Localization.Properties.Resources.StandardOutputYouTubeLinkIsInvalid; Log.Error(StandardOutput); } else { StandardOutput = Localization.Properties.Resources.StandardOutputNoInternetConnection; Log.Error(StandardOutput); } IsButtonEnabled = false; return; } StandardOutput = Localization.Properties.Resources.StandardOutputReady; IsComboBoxEnabled = true; }