gate cava on panel open, kill 30s after panel closes
This commit is contained in:
parent
0923596b4b
commit
0ff19a7b84
1 changed files with 18 additions and 1 deletions
|
|
@ -41,9 +41,26 @@ M.BarSection {
|
||||||
|
|
||||||
// Cava visualizer — 16 bars, raw output mode
|
// Cava visualizer — 16 bars, raw output mode
|
||||||
property var _cavaBars: Array(16).fill(0)
|
property var _cavaBars: Array(16).fill(0)
|
||||||
|
property bool _cavaActive: false
|
||||||
|
|
||||||
|
on_ShowPanelChanged: {
|
||||||
|
if (_showPanel) {
|
||||||
|
_cavaKillTimer.stop();
|
||||||
|
_cavaActive = true;
|
||||||
|
} else {
|
||||||
|
_cavaKillTimer.restart();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Timer {
|
||||||
|
id: _cavaKillTimer
|
||||||
|
interval: 30000
|
||||||
|
onTriggered: root._cavaActive = false
|
||||||
|
}
|
||||||
|
|
||||||
Process {
|
Process {
|
||||||
id: cavaProc
|
id: cavaProc
|
||||||
running: root.playing && root.visible
|
running: root.playing && root._cavaActive
|
||||||
command: ["sh", "-c", "cfg=$(mktemp /tmp/nova-cava-XXXXXX.conf);" + "cat > \"$cfg\" << 'CAVAEOF'\n" + "[general]\nbars=16\nframerate=30\n[output]\nmethod=raw\nraw_target=/dev/stdout\ndata_format=ascii\nascii_max_range=100\n" + "CAVAEOF\n" + "trap 'rm -f \"$cfg\"' EXIT;" + "exec cava -p \"$cfg\""]
|
command: ["sh", "-c", "cfg=$(mktemp /tmp/nova-cava-XXXXXX.conf);" + "cat > \"$cfg\" << 'CAVAEOF'\n" + "[general]\nbars=16\nframerate=30\n[output]\nmethod=raw\nraw_target=/dev/stdout\ndata_format=ascii\nascii_max_range=100\n" + "CAVAEOF\n" + "trap 'rm -f \"$cfg\"' EXIT;" + "exec cava -p \"$cfg\""]
|
||||||
stdout: SplitParser {
|
stdout: SplitParser {
|
||||||
splitMarker: "\n"
|
splitMarker: "\n"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue