summaryrefslogtreecommitdiff
path: root/.config/quickshell/Services/Song.qml
blob: a4dc96978f2d90cb60f8c142b043d93fee552489 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
pragma Singleton

import Quickshell
import Quickshell.Io
import QtQuick

Singleton {
	id: root
	property string file
	property string artist
	property string title
	property string coverPath: "/home/samn/Music/cover.jpg"

	Process {
		id: songProc
		command: ["rmpc", "song"]
		running: true
		stdout: StdioCollector {
			onStreamFinished: {
				var oldFile = root.file
				var obj = JSON.parse(this.text);

				root.file = obj.file
				root.artist = obj.metadata.artist
				root.title = obj.metadata.title

				if (obj.file !== oldFile) {
					coverProc.exec(["ffmpeg", "-y", "-i", "/home/samn/Music/" + obj.file, "-an", "-c:v", "copy", "/home/samn/Music/cover.jpg"])
				}
			}
		}
	}

	Process {
		id: coverProc
		running: false
	}

	Timer {
		interval: 5000
		running: true
		repeat: true
		onTriggered: songProc.running = true
	}
}