Skip to repository content30 lines · 953 B · rust
tenant.openagents/omega
No repository description is available.
OpenAgents Git authority 2026-07-28T02:37:10.390Z Public web read
NIP-34 coordinate
30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omegaMaintainersHidden in public view
References2 branches · 1 tag
Read-only clone
git clone https://openagents.com/git/tenant.openagents/omega.gitBrowse files
audio_settings.rs
1use std::str::FromStr;
2
3use cpal::DeviceId;
4use settings::{RegisterSetting, Settings};
5
6#[derive(Clone, Debug, RegisterSetting)]
7pub struct AudioSettings {
8 /// Select specific output audio device.
9 pub output_audio_device: Option<DeviceId>,
10 /// Select specific input audio device.
11 pub input_audio_device: Option<DeviceId>,
12}
13
14/// Configuration of audio in Zed
15impl Settings for AudioSettings {
16 fn from_settings(content: &settings::SettingsContent) -> Self {
17 let audio = &content.audio.as_ref().unwrap();
18 AudioSettings {
19 output_audio_device: audio
20 .output_audio_device
21 .as_ref()
22 .and_then(|x| x.0.as_ref().and_then(|id| DeviceId::from_str(&id).ok())),
23 input_audio_device: audio
24 .input_audio_device
25 .as_ref()
26 .and_then(|x| x.0.as_ref().and_then(|id| DeviceId::from_str(&id).ok())),
27 }
28 }
29}
30