diff options
Diffstat (limited to 'desktop/modules/sound/Service.qml')
| -rw-r--r-- | desktop/modules/sound/Service.qml | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/desktop/modules/sound/Service.qml b/desktop/modules/sound/Service.qml index e509a94..22a4520 100644 --- a/desktop/modules/sound/Service.qml +++ b/desktop/modules/sound/Service.qml @@ -24,6 +24,18 @@ Scope { readonly property real volume: sink?.audio?.volume ?? 0 readonly property bool muted: sink?.audio?.muted ?? false + // The devices that can be made the default. A stream is an application, + // not a device, and a monitor node is the loopback view of a sink rather + // than something to record from, so both are filtered out. `isSink` true + // means the node accepts audio (an output device); false means it outputs + // audio (an input device, a microphone). + readonly property var outputs: + Pipewire.nodes.values.filter(n => n.audio && !n.isStream && n.isSink + && !String(n.name).endsWith(".monitor")) + readonly property var inputs: + Pipewire.nodes.values.filter(n => n.audio && !n.isStream && !n.isSink + && !String(n.name).endsWith(".monitor")) + // Which node changed last, and whether it was the input. The OSD draws // this one; null means nothing to show. property PwNode active: null |
