public static List<AudioDevice> GetDevices(DeviceDirection direction) { List<AudioDevice> list = new List<AudioDevice>(); int defaultInputDevice = PortAudioAPI.Pa_GetDefaultInputDevice(); int defaultOutputDevice = PortAudioAPI.Pa_GetDefaultOutputDevice(); int deviceCount = PortAudioAPI.Pa_GetDeviceCount(); for (int device = 0; device < deviceCount; ++device) { PaDeviceInfo deviceInfo = PortAudioAPI.Pa_GetDeviceInfo(device); DeviceDirection deviceDirection = deviceInfo.maxInputChannels > 0 ? (deviceInfo.maxOutputChannels > 0 ? DeviceDirection.InputOutput : DeviceDirection.Input) : DeviceDirection.Output; if (deviceDirection == direction || deviceDirection == DeviceDirection.InputOutput) { PaHostApiInfo hostApiInfo = PortAudioAPI.Pa_GetHostApiInfo(deviceInfo.hostApi); list.Add(new AudioDevice() { Name = deviceInfo.name, Host = hostApiInfo.name, Index = device, Direction = deviceDirection, IsDefault = device == defaultInputDevice || device == defaultOutputDevice }); } } return list; }
public static List <AudioDevice> GetDevices(DeviceDirection direction) { List <AudioDevice> list = new List <AudioDevice>(); int num = PortAudioAPI.Pa_GetDefaultInputDevice(); int num2 = PortAudioAPI.Pa_GetDefaultOutputDevice(); int num3 = PortAudioAPI.Pa_GetDeviceCount(); for (int i = 0; i < num3; i++) { PaDeviceInfo paDeviceInfo = PortAudioAPI.Pa_GetDeviceInfo(i); DeviceDirection deviceDirection = (paDeviceInfo.maxInputChannels <= 0) ? DeviceDirection.Output : ((paDeviceInfo.maxOutputChannels > 0) ? DeviceDirection.InputOutput : DeviceDirection.Input); if (deviceDirection == direction || deviceDirection == DeviceDirection.InputOutput) { PaHostApiInfo paHostApiInfo = PortAudioAPI.Pa_GetHostApiInfo(paDeviceInfo.hostApi); AudioDevice audioDevice = new AudioDevice(); audioDevice.Name = paDeviceInfo.name; audioDevice.Host = paHostApiInfo.name; audioDevice.Index = i; audioDevice.Direction = deviceDirection; audioDevice.IsDefault = (i == num || i == num2); list.Add(audioDevice); } } return(list); }
public static List<AudioDevice> GetDevices(DeviceDirection direction) { var result = new List<AudioDevice>(); var defaultIn = PortAudioAPI.Pa_GetDefaultInputDevice(); var defaultOut = PortAudioAPI.Pa_GetDefaultOutputDevice(); var count = PortAudioAPI.Pa_GetDeviceCount(); for (var i = 0; i < count; i++) { var di = PortAudioAPI.Pa_GetDeviceInfo(i); var deviceDirection = di.maxInputChannels > 0 ? (di.maxOutputChannels > 0 ? DeviceDirection.InputOutput : DeviceDirection.Input) : DeviceDirection.Output; if (deviceDirection == direction || deviceDirection == DeviceDirection.InputOutput) { var hi = PortAudioAPI.Pa_GetHostApiInfo(di.hostApi); var ad = new AudioDevice(); ad.Name = di.name; ad.Host = hi.name; ad.Index = i; ad.Direction = deviceDirection; ad.IsDefault = i == defaultIn || i == defaultOut; result.Add(ad); } } return result; }
public static List <AudioDevice> GetDevices(DeviceDirection direction) { var result = new List <AudioDevice>(); var defaultIn = PortAudioAPI.Pa_GetDefaultInputDevice(); var defaultOut = PortAudioAPI.Pa_GetDefaultOutputDevice(); var count = PortAudioAPI.Pa_GetDeviceCount(); for (var i = 0; i < count; i++) { var di = PortAudioAPI.Pa_GetDeviceInfo(i); var deviceDirection = di.maxInputChannels > 0 ? (di.maxOutputChannels > 0 ? DeviceDirection.InputOutput : DeviceDirection.Input) : DeviceDirection.Output; if (deviceDirection == direction || deviceDirection == DeviceDirection.InputOutput) { var hi = PortAudioAPI.Pa_GetHostApiInfo(di.hostApi); var ad = new AudioDevice(); ad.Name = di.name; ad.Host = hi.name; ad.Index = i; ad.Direction = deviceDirection; ad.IsDefault = i == defaultIn || i == defaultOut; result.Add(ad); } } return(result); }
/// <summary> Homes the current stage. </summary> /// <param name="direction"> The home direction. </param> /// <returns> True if the device was homed succesfully. </returns> /// <seealso cref="Home(List<char>, ELLDevice.DeviceDirection)"/> public bool Home(DeviceDirection direction = DeviceDirection.Linear) { if (IsDeviceBusy()) { return(false); } UpdateOutput("Homing device ..."); ELLDevicePort.SendString(Address, "ho" + (char)direction); if (!WaitForPosition()) { return(false); } return(true); }
/// <summary> Homes the given stages. </summary> /// <param name="addresses"> The list of addresses of devices to be homed. </param> /// <param name="direction"> The home direction. </param> /// <returns> Success. </returns> /// <seealso cref="Home(ELLBaseDevice.DeviceDirection)"/> /// <seealso cref="MoveAbsolute(List<char>, decimal)"/> /// <seealso cref="MoveRelative(List<char>, decimal)"/> /// <seealso cref="JogForward(List<char>)"/> /// <seealso cref="JogBackward(List<char>)"/> public bool Home(List <char> addresses, DeviceDirection direction = DeviceDirection.Linear) { if (IsDeviceBusy()) { return(false); } if (!addresses.Any()) { return(Home(direction)); } SetToGroupAddress(addresses); UpdateOutput("Homing device ..."); ELLDevicePort.SendString(Address, "ho" + (int)direction); if (!WaitForPositions(addresses)) { return(false); } return(true); }
// Update is called once per frame void Update() { //メニューボタンかDキーが押されたら if (Input.GetKeyUp(KeyCode.Menu) || Input.GetKeyUp(KeyCode.D)) { //デバッグパネルを表示 debugMode = !debugMode; panel.SetActive(debugMode); } if (debugMode) { indicatorOrientation.text = Camera.main.transform.rotation.eulerAngles.ToString(); //indicatorOrientation.text = GameObject.Find("Canvas").GetComponent<Canvas>().pixelRect.ToString(); float roll, pitch; DeviceDirection.GetAccGrad(out roll, out pitch); indicatorRoll.text = roll.ToString(); indicatorPitch.text = pitch.ToString(); } }