Luigit
repositories / dotfiles

dotfiles

bugabingas dorkfiles

owned by admin

quickshell/nuguland/.system/specs/NL-SPEC-FEE98E07-event-driven-audio-state/index.md

Raw
Rendered preview

id: NL-SPEC-FEE98E07 type: spec title: Event-driven audio state

Event-driven audio state

Outcome

The shell reports audio, playback, and privacy facts without continuously capturing audio samples. Idle audio devices remain free to suspend.

Requirements

  • Output and input activity reflect active audio-graph links and mute state.
  • Playback activity reflects the active media player's playback state.
  • Volume and mute remain live, controllable properties.
  • Microphone and camera privacy indication retains its behavior.
  • The shell owns no continuous amplitude capture stream and performs no periodic level smoothing.
  • No state contract exposes amplitude levels or describes nonexistent peak capture.
  • Link presence is an acceptable activity proxy even when device suspension follows later.

Acceptance

  • An idle shell creates no peak-monitor capture node and causes no audio-level polling wakeup.
  • Media energy is 1 while playing and 0 while paused or stopped.
  • Audio controls, default-device selection, and mute controls work.
  • Microphone and camera indicators follow live use.
  • Audio and media state serialize without missing-property or load errors.
  • With no playback, the sink can become idle or suspended and sustained shell CPU remains below the former baseline.

Out of scope

  • Amplitude meters, waveforms, and VU displays.
  • Resource polling unrelated to audio.
---
id: NL-SPEC-FEE98E07
type: spec
title: Event-driven audio state
---

# Event-driven audio state

## Outcome

The shell reports audio, playback, and privacy facts without continuously capturing audio samples.
Idle audio devices remain free to suspend.

## Requirements

- Output and input activity reflect active audio-graph links and mute state.
- Playback activity reflects the active media player's playback state.
- Volume and mute remain live, controllable properties.
- Microphone and camera privacy indication retains its behavior.
- The shell owns no continuous amplitude capture stream and performs no periodic level smoothing.
- No state contract exposes amplitude levels or describes nonexistent peak capture.
- Link presence is an acceptable activity proxy even when device suspension follows later.

## Acceptance

- An idle shell creates no peak-monitor capture node and causes no audio-level polling wakeup.
- Media energy is `1` while playing and `0` while paused or stopped.
- Audio controls, default-device selection, and mute controls work.
- Microphone and camera indicators follow live use.
- Audio and media state serialize without missing-property or load errors.
- With no playback, the sink can become idle or suspended and sustained shell CPU remains below the former baseline.

## Out of scope

- Amplitude meters, waveforms, and VU displays.
- Resource polling unrelated to audio.