diff --git a/src/main/venmic.ts b/src/main/venmic.ts index 885fd2da..c127e906 100644 --- a/src/main/venmic.ts +++ b/src/main/venmic.ts @@ -72,7 +72,7 @@ ipcMain.handle(IpcEvents.VIRT_MIC_LIST, () => { const { granularSelect } = Settings.store.audio ?? {}; const targets = obtainVenmic() - ?.list(granularSelect ? ["application.process.id"] : undefined) + ?.list(granularSelect ? ["node.name"] : undefined) .filter(s => s["application.process.id"] !== audioPid); return targets ? { ok: true, targets, hasPipewirePulse } : { ok: false, isGlibCxxOutdated }; diff --git a/src/renderer/components/ScreenSharePicker.tsx b/src/renderer/components/ScreenSharePicker.tsx index c7403b95..20550671 100644 --- a/src/renderer/components/ScreenSharePicker.tsx +++ b/src/renderer/components/ScreenSharePicker.tsx @@ -254,7 +254,13 @@ function AudioSettingsModal({ (Settings.audio = { ...Settings.audio, ignoreDevices: v })} + onChange={v => + (Settings.audio = { + ...Settings.audio, + ignoreDevices: v, + deviceSelect: v ? false : Settings.audio?.deviceSelect + }) + } value={Settings.audio?.ignoreDevices ?? true} note={<>Exclude device nodes, such as nodes belonging to microphones or speakers.} > @@ -271,6 +277,23 @@ function AudioSettingsModal({ > Granular Selection + { + Settings.audio = { ...Settings.audio, deviceSelect: value }; + setAudioSources("None"); + }} + value={Settings.audio?.deviceSelect ?? false} + disabled={Settings.audio?.ignoreDevices} + note={ + <> + Allow to select devices such as microphones. Requires Ignore Devices to be turned + off. + + } + > + Device Selection +