public DeviceListViewModel(IPartWithDevice part, DeviceListKind flags) { _part = part; All = new ObservableCollection <DeviceViewModelBase>(); GetDevices(flags); if (_part.Device == null) { _part.Device = new Device { Id = All[0].Id, Kind = All[0].Kind }; } }
void GetDevices(DeviceListKind flags) { bool isRecording = (flags & DeviceListKind.Recording) == DeviceListKind.Recording; if ((flags & DeviceListKind.DefaultPlayback) == DeviceListKind.DefaultPlayback) { All.Add(new DefaultPlaybackDeviceViewModel()); } foreach (var device in WindowsAudioFactory.Create(AudioDeviceKind.Playback).Devices.OrderBy(d => d.DisplayName)) { All.Add(new DeviceViewModel(device)); } if (isRecording) { foreach (var device in WindowsAudioFactory.Create(AudioDeviceKind.Recording).Devices.OrderBy(d => d.DisplayName)) { All.Add(new DeviceViewModel(device)); } } }