diff options
| author | Calvin Morrison <calvin@pobox.com> | 2026-05-15 16:03:08 -0400 |
|---|---|---|
| committer | Calvin Morrison <calvin@pobox.com> | 2026-05-15 16:03:08 -0400 |
| commit | 4a8a83f223bbc2b9d18ef91423c1ee807b297b35 (patch) | |
| tree | 03b89f3eac9f0796ccdcbad5fa90915587f8e3ff /TODO | |
| parent | e0c8fb0cdcb9c95e3efa60322c1733df0a965650 (diff) | |
PA reconnect: recover cleanly when PulseAudio restarts
- On PA_CONTEXT_FAILED/TERMINATED, emit deviceRemoved for all devices
so UI clears itself, then reconnect after 2s
- Skip pa_context_disconnect and stream detach locks when PA is already
dead to avoid hang in pa_threaded_mainloop_stop
- Emit defaultOutputChanged(0)/defaultInputChanged(0) before deleting
devices to prevent dangling pointer crash in TmixTray::setDevice
- Disconnect all device signals before close() to avoid use-after-free
from cross-device wiring (source→recording levelChanged bridge)
- Icon: generate proper 22x22 (and 16/32/48) from source, install all sizes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'TODO')
| -rw-r--r-- | TODO | 5 |
1 files changed, 1 insertions, 4 deletions
@@ -7,7 +7,6 @@ Run through this before any release / major refactor. ### Startup - [ ] App launches without crash when PA is running - [ ] App launches without crash when PA is NOT running (graceful fail) -- [ ] Window title shows "TMix - Volume Control" (not "TMix - Volume Control - TMix") - [ ] Tray icon appears when DockInTray=true - [ ] Window hidden on launch when DockInTray=true - [ ] Window visible on launch when DockInTray=false @@ -48,7 +47,7 @@ Run through this before any release / major refactor. - [ ] Output: meter responds to audio playback through that sink - [ ] Input: meter responds to microphone input - [ ] Playback: meter shows per-stream level (only that app's audio, not the whole sink) -- [ ] Recording: no meter (acceptable; source output monitoring not implemented) +- [ ] Recording: meter shows source level (forwarded from parent source signal) - [ ] Meter decays smoothly; attack is fast, decay is slower - [ ] Meter shows 0 when muted or silent @@ -208,8 +207,6 @@ about another; no generic UI code should check backend capabilities via flags. - [ ] Settings dialog: Defaults button, Help button - [ ] Settings dialog: grey out Apply until a change is actually made - [ ] Show/hide toggles for tickmarks, labels, level meters (View tab) -- [ ] KMix-style classic tray widget — large tray area showing default sink volume slider - directly in the panel (not a popup), like KMix's docked mixer strip. ## Distribution / Integration - [ ] .desktop file + icon |
