summaryrefslogtreecommitdiff
path: root/services/BeatDetector.qml
blob: 24e19ecf9a5780915ab10bd544cbffdbbd60c756 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
pragma Singleton

import qs.utils
import Quickshell
import Quickshell.Io

Singleton {
    id: root

    property real bpm: 150

    Process {
        running: true
        command: [`${Paths.libdir}/beat_detector`, "--no-log", "--no-stats", "--no-visual"]
        stdout: SplitParser {
            onRead: data => {
                const match = data.match(/BPM: ([0-9]+\.[0-9])/);
                if (match)
                    root.bpm = parseFloat(match[1]);
            }
        }
    }
}