summaryrefslogtreecommitdiff
path: root/services/Audio.qml
diff options
context:
space:
mode:
Diffstat (limited to 'services/Audio.qml')
-rw-r--r--services/Audio.qml25
1 files changed, 25 insertions, 0 deletions
diff --git a/services/Audio.qml b/services/Audio.qml
new file mode 100644
index 0000000..c91adbc
--- /dev/null
+++ b/services/Audio.qml
@@ -0,0 +1,25 @@
+pragma Singleton
+
+import Quickshell
+import Quickshell.Services.Pipewire
+
+Singleton {
+ id: root
+
+ readonly property PwNode sink: Pipewire.defaultAudioSink
+ readonly property PwNode source: Pipewire.defaultAudioSource
+
+ readonly property bool muted: sink?.audio?.muted ?? false
+ readonly property real volume: sink?.audio?.volume ?? 0
+
+ function setVolume(volume: real): void {
+ if (sink?.ready && sink?.audio) {
+ sink.audio.muted = false;
+ sink.audio.volume = volume;
+ }
+ }
+
+ PwObjectTracker {
+ objects: [Pipewire.defaultAudioSink, Pipewire.defaultAudioSource]
+ }
+}