You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(tray): color-coded level meter + clearer right-click menu
Tray icon now reflects the current output level into VB-Cable with 5
color buckets (grey / dim green / green / amber / red). Tooltip shows
live dBFS. Set show_level_meter: false in config.json to disable.
Menu layout clarifies what each entry does:
- "🎙 Input microphone:" disabled header above the mic list
- "🔊 System sound: <device> (Windows default)" as a read-only hint
so users know which speakers loopback is capturing and that the
selector is elsewhere (Windows volume mixer)
Internals:
- mixer::peak_i16 reports the peak amplitude of a mixed buffer
- Pipeline exposes it via an Arc<AtomicU32> (lock-free tray reads)
- TrayApp event loop switched from Poll to WaitUntil(166ms) so the
thread actually sleeps between ticks (~6 Hz update, low CPU)
- Icon repaints only on bucket transitions, not every tick, to avoid
Shell_NotifyIconW rate-limit / flicker
- Config::show_level_meter is optional at serde level — legacy
config.json files from 0.1.0 still load and default to true
README: explains menu semantics (what the mic list is vs. the system
sound row) and documents the meter legend.
Copy file name to clipboardExpand all lines: README.md
+30Lines changed: 30 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,6 +53,36 @@ cargo build --release
53
53
4. In your recording app (Otter, OBS, etc.), set the input device to **`CABLE Output (VB-Audio Virtual Cable)`**.
54
54
5.**Left-click** again to stop.
55
55
56
+
### What the tray menu is for
57
+
58
+
The right-click menu only picks **your microphone**. The **system-audio source** (whichever speakers / headphones Windows is currently playing through) is captured automatically via WASAPI loopback — to change it, swap the Windows default playback device from the volume-mixer tray popup, not from wasamix. The menu shows the current default as a read-only hint:
59
+
60
+
```
61
+
🎙 Input microphone:
62
+
● Microphone (HD Pro Webcam C920)
63
+
○ Headset (Jabra Evolve2 65)
64
+
──────────────
65
+
🔊 System sound: Speakers (Realtek) (Windows default)
66
+
──────────────
67
+
Quit
68
+
```
69
+
70
+
So picking "Headset (Jabra Evolve2 65)" captures the Jabra's *mic* and mixes it with whatever Windows is currently playing out — it does **not** route anything else.
71
+
72
+
### Reading the tray icon
73
+
74
+
While mixing, the icon changes color to reflect the current output level into VB-Cable. Hover for an exact dBFS reading.
0 commit comments