Ejemplo n.º 1
0
 static MidiManager()
 {
     AccessManager = MidiAccessManager.Default;
     Logger.WriteLine("Available MIDI Inputs ({0}): ", AvailableInputDevices.Count());
     AvailableInputDevices.ForEach(i => Logger.WriteLine("    " + i.Name));
     Logger.WriteLine();
     Logger.WriteLine("Available MIDI Outputs: ({0}): ", AvailableOutputDevices.Count());
     AvailableOutputDevices.ForEach(o => Logger.WriteLine("    " + o.Name));
     Logger.WriteLine();
 }
Ejemplo n.º 2
0
        public static async Task <bool> OpenInput(string inputDeviceName)
        {
            var inputInfo = AvailableInputDevices.SingleOrDefault(i => i.Name.ToLower() == inputDeviceName.ToLower());

            if (inputInfo == default)
            {
                return(false);
            }
            ActiveInputDevices[inputDeviceName] = new MidiInputDevice(await AccessManager.OpenInputAsync(inputInfo.Id));
            Logger.WriteLine("Successfully opened input device {0}", inputDeviceName);
            return(true);
        }
Ejemplo n.º 3
0
        public async Task LoadAsync()
        {
            foreach (var dev in await DeviceInformation.FindAllAsync(DeviceClass.AudioCapture))
            {
                AvailableInputDevices.Add(dev);
            }

            foreach (var dev in await DeviceInformation.FindAllAsync(DeviceClass.AudioRender))
            {
                AvailableOutputDevices.Add(dev);
            }

            var inputDeviceId  = App.LocalSettings.Read <string>("InputDevice", null);
            var outputDeviceId = App.LocalSettings.Read <string>("OutputDevice", null);

            _inputDevice  = AvailableInputDevices.FirstOrDefault(d => d?.Id == inputDeviceId);
            _outputDevice = AvailableOutputDevices.FirstOrDefault(d => d?.Id == outputDeviceId);

            InvokePropertyChanged(nameof(AvailableInputDevices));
            InvokePropertyChanged(nameof(AvailableOutputDevices));
            InvokePropertyChanged(nameof(InputDevice));
            InvokePropertyChanged(nameof(OutputDevice));
        }