Esempio n. 1
0
        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;
        }