private void LoadSettingsInternal() { cbxCaptureDevices.Items.Clear(); foreach (DsDevice ds in DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice)) { cbxCaptureDevices.Items.Add(ds.Name); } List <SystemCodecEntry> systemCodecs = VideoCodecs.GetSupportedVideoCodecs(); foreach (SystemCodecEntry codec in systemCodecs) { RadioButton rbCodec = gbxCompression .Controls .Cast <Control>() .SingleOrDefault(x => x is RadioButton && string.Equals(x.Text, codec.DeviceName.ToString())) as RadioButton; if (rbCodec != null) { rbCodec.Enabled = codec.DeviceName != null && codec.IsInstalled; rbCodec.Tag = codec; rbCodec.Checked = codec.DeviceName == settings.PreferredCompressorDevice; } } cbxOtherCodecs.Items.Clear(); foreach (DsDevice ds in DsDevice.GetDevicesOfCat(FilterCategory.VideoCompressorCategory).Where(x => systemCodecs.All(y => y.DeviceName != x.Name))) { cbxOtherCodecs.Items.Add(ds.Name); if (ds.Name == settings.PreferredCompressorDevice) { cbxOtherCodecs.SelectedItem = ds.Name; rbCompressionUnsupported.Checked = true; } } if (cbxCaptureDevices.Items.Count > 0) { if (cbxCaptureDevices.Items.Contains(settings.PreferredCaptureDevice)) { cbxCaptureDevices.SelectedIndex = cbxCaptureDevices.Items.IndexOf(settings.PreferredCaptureDevice); } else { cbxCaptureDevices.SelectedIndex = 0; } } cbxSensorType.Items.Clear(); cbxSensorType.Items.Add(VideoFrameLayout.Monochrome); cbxSensorType.Items.Add(VideoFrameLayout.Color); //cbxSensorType.Items.Add(VideoFrameLayout.BayerRGGB); cbxSensorType.SelectedItem = settings.SimulatedImageLayout; cbxMonochromePixelsFrom.Items.Clear(); cbxMonochromePixelsFrom.Items.Add(LumaConversionMode.R); cbxMonochromePixelsFrom.Items.Add(LumaConversionMode.G); cbxMonochromePixelsFrom.Items.Add(LumaConversionMode.B); cbxMonochromePixelsFrom.Items.Add(LumaConversionMode.GrayScale); cbxMonochromePixelsFrom.SelectedItem = settings.LumaConversionMode; }