28 lines
No EOL
857 B
Markdown
28 lines
No EOL
857 B
Markdown
# pulseaudio-volume-interface
|
|
> Rust library for observing/modifying PulseAudio volumes and the default source/sink.
|
|
|
|
|
|
## Usage example
|
|
|
|
```rust
|
|
use pulseaudio_volume_interface::PulseAudioVolumeInterface;
|
|
|
|
fn main() {
|
|
let pa_volume_interface = PulseAudioVolumeInterface::new("deckster handler".to_owned());
|
|
// Wait for the data to load.
|
|
// Because of PulseAudio, there is no way to know when everything is ready, so we have to just hope a second is enough.
|
|
sleep(Duration::from_secs(1));
|
|
|
|
let full_state = pa_volume_interface.current_state();
|
|
let entities_by_id = full_state.entities_by_id();
|
|
|
|
for (id, state) in entities_by_id {
|
|
println!("{id}: {:#?}\n", state.metadata());
|
|
}
|
|
}
|
|
```
|
|
|
|
|
|
## License
|
|
|
|
This project is available under the permissive [Blue Oak Model License 1.0.0](https://blueoakcouncil.org/license/1.0.0). |