diff options
Diffstat (limited to 'services/Cava.qml')
| -rw-r--r-- | services/Cava.qml | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/services/Cava.qml b/services/Cava.qml index f4d342a..3291bcd 100644 --- a/services/Cava.qml +++ b/services/Cava.qml @@ -1,36 +1,18 @@ pragma Singleton import qs.config +import Caelestia import Quickshell -import Quickshell.Io -import QtQuick Singleton { id: root - property list<int> values: Array(Config.services.visualiserBars) - property int refCount + readonly property alias provider: provider + readonly property alias values: provider.values - Connections { - target: Config.services + CavaProvider { + id: provider - function onVisualiserBarsChanged() { - root.values = Array(Config.services.visualiserBars); - cavaProc.running = false; - cavaProc.running = true; - } - } - - Process { - id: cavaProc - - running: true - command: ["sh", "-c", `printf '[general]\nframerate=60\nbars=${Config.services.visualiserBars}\nsleep_timer=3\n[output]\nchannels=mono\nmethod=raw\nraw_target=/dev/stdout\ndata_format=ascii\nascii_max_range=100\n[smoothing]\nnoise_reduction=85\nmonstercat=1\ngravity=120\n[eq]\n1=0.8\n2=0.9\n3=1\n4=1.1\n5=1.2' | cava -p /dev/stdin`] - stdout: SplitParser { - onRead: data => { - if (root.refCount) - root.values = data.slice(0, -1).split(";").map(v => parseInt(v, 10)); - } - } + bars: Config.services.visualiserBars } } |