Skip to content

feat: implement interactive microphone volume OSD and IPC controls#2406

Open
hthienloc wants to merge 2 commits into
AvengeMedia:masterfrom
hthienloc:feat/mic-volume-system
Open

feat: implement interactive microphone volume OSD and IPC controls#2406
hthienloc wants to merge 2 commits into
AvengeMedia:masterfrom
hthienloc:feat/mic-volume-system

Conversation

@hthienloc
Copy link
Copy Markdown
Contributor

@hthienloc hthienloc commented May 12, 2026

Description

This PR introduces a dedicated microphone volume management system, moving beyond the simple mute toggle to provide full volume control and visual feedback.

Key Changes

  • New mic IPC Target: Added a specialized mic target in DMSShellIPC.qml supporting setvolume, increment, decrement, mute, and status.
  • Interactive Mic OSD: Created MicVolumeOSD.qml featuring a reactive slider and visual mute indicators. Users can now adjust microphone levels directly from the OSD.
  • Settings Integration: Added osdMicVolumeEnabled to SettingsData.qml to allow users to toggle microphone OSD visibility.
  • Modernized Keybinds: Updated KeybindActions.js to utilize the new IPC system.
  • Deprecated Legacy Commands: Legacy microphone commands in the audio target are now marked as deprecated.

Why

Users currently lack visual feedback when adjusting or muting their microphone. This implementation brings the microphone experience in line with the system volume experience.

How Tested

  • IPC Validation: Tested all commands via dms ipc mic <cmd>.
  • UI Verification: Confirmed OSD appearance and slider interactivity in both horizontal and vertical shell layouts.
  • Settings Toggle: Verified that osdMicVolumeEnabled correctly gates the OSD visibility.
pasted file image

Addresses #2388

@hthienloc hthienloc marked this pull request as draft May 12, 2026 12:36
@hthienloc hthienloc force-pushed the feat/mic-volume-system branch from c273d6c to c348c8e Compare May 12, 2026 12:43
@hthienloc hthienloc marked this pull request as ready for review May 12, 2026 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant