diff --git a/src/main/venmic.ts b/src/main/venmic.ts
index 885fd2d..c127e90 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 c7403b9..2055067 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
+