diff options
Diffstat (limited to '.config/quickshell/Services/Song.qml')
| -rw-r--r-- | .config/quickshell/Services/Song.qml | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/.config/quickshell/Services/Song.qml b/.config/quickshell/Services/Song.qml new file mode 100644 index 0000000..a4dc969 --- /dev/null +++ b/.config/quickshell/Services/Song.qml @@ -0,0 +1,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 + } +} |
