void SelectCaptureDevice(String lastCapDevStr = null) { ScreenSource selectedScreenSource = ScreenSource.Undefined; if (comboBoxDeviceCapture.SelectedIndex < 0) { return; } string selectedDevice = getSelectedTargetDeviceName(); if (selectedDevice == null) { return; } string selectedSourceString = comboBoxDeviceCapture.SelectedItem.ToString(); ScreenSource currentScreenSource; if (comboBoxDeviceCapture.SelectedIndex == 0) { currentScreenSource = ScreenSource.Disabled; } else if (comboBoxDeviceCapture.SelectedIndex == 1) { currentScreenSource = ScreenSource.ScreenCap; } else { int index = captureComboBoxItemToIndex(comboBoxDeviceCapture.SelectedItem.ToString()); currentScreenSource = IndexToScreenSource(index); } selectedScreenSource = currentScreenSource; if (selectedDevice == GetCurrentTargetDevice()) { this.Enabled = false; DaVinciAPI.NativeMethods.SetCurrentCaptureDevice(ScreenSourceToCaptureName(selectedScreenSource)); refreshDeviceProperties(); this.Enabled = true; } else { this.Enabled = false; DaVinciAPI.NativeMethods.SetCaptureDeviceForTargetDevice(selectedDevice, ScreenSourceToCaptureName(selectedScreenSource)); this.Enabled = true; } }
private string ScreenSourceToCaptureName(ScreenSource screenSource) { switch (screenSource) { case ScreenSource.Disabled: return("Disabled"); case ScreenSource.ScreenCap: return("HyperSoftCam"); case ScreenSource.CameraIndex0: return(TestUtil.captureDevices[2]); case ScreenSource.CameraIndex1: return(TestUtil.captureDevices[3]); case ScreenSource.CameraIndex2: return(TestUtil.captureDevices[4]); case ScreenSource.CameraIndex3: return(TestUtil.captureDevices[5]); case ScreenSource.CameraIndex4: return(TestUtil.captureDevices[6]); case ScreenSource.CameraIndex5: return(TestUtil.captureDevices[7]); case ScreenSource.CameraIndex6: return(TestUtil.captureDevices[8]); case ScreenSource.CameraIndex7: return(TestUtil.captureDevices[9]); default: return("Undefined"); } }
public void OnSourceUpdated(ScreenSource source) { Console.WriteLine("OnSourceUpdated"); }
public void OnSourceRemoved(ScreenSource source) { Console.WriteLine("OnSourceRemoved"); }