summaryrefslogtreecommitdiff
path: root/services/Cava.qml
blob: eaa6e20e4c8780d991f42a9e176ce944fb458699 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
pragma Singleton

import "root:/config"
import Quickshell
import Quickshell.Io

Singleton {
    id: root

    property list<int> values

    Process {
        running: true
        command: ["sh", "-c", `printf '[general]\nframerate=60\nbars=${DashboardConfig.visualiserBars}\n[output]\nchannels=mono\nmethod=raw\nraw_target=/dev/stdout\ndata_format=ascii\nascii_max_range=100' | cava -p /dev/stdin`]
        stdout: SplitParser {
            onRead: data => root.values = data.slice(0, -1).split(";").map(v => parseInt(v, 10))
        }
    }
}