Example #1
0
 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;
 }
Example #2
0
        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;
        }
Example #4
0
        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);
        }
Example #5
0
 /// <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);
 }
Example #6
0
 /// <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);
 }
Example #7
0
    // 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();
        }
    }