CavaService improvements

- bring back autosens for better visualization at  low volume input
- enable Cava process as long as we have a visualizer and the sidePanel
is open, this helps capture audio when there is no active mpris player
(ex: mpv, game audio, etc...)
This commit is contained in:
Sébastien Atoch
2025-08-17 13:14:46 -04:00
parent c5c06449bd
commit 5419b7134e
3 changed files with 10 additions and 4 deletions

View File

@@ -3,6 +3,7 @@ pragma Singleton
import QtQuick
import Quickshell
import Quickshell.Io
import qs.Commons
Singleton {
id: root
@@ -14,9 +15,8 @@ Singleton {
"general": {
"bars": barsCount,
"framerate": 60,
"autosens": 0,
"overshoot": 0,
"sensitivity": 200,
"autosens": 1,
"sensitivity": 100,
"lower_cutoff_freq": 50,
"higher_cutoff_freq": 12000
},
@@ -37,7 +37,7 @@ Singleton {
Process {
id: process
stdinEnabled: true
running: MediaService.isPlaying
running: (Settings.data.audio.visualizerType !== "none") && PanelService.sidePanel.isLoaded
command: ["cava", "-p", "/dev/stdin"]
onExited: {
stdinEnabled = true

View File

@@ -5,5 +5,8 @@ import Quickshell
Singleton {
id: root
// Currently opened panel
property var openedPanel: null
property var sidePanel: null
}

View File

@@ -63,6 +63,9 @@ ShellRoot {
IPCManager {}
Component.onCompleted: {
// Save a ref. to our sidePanel so we can access it from services
PanelService.sidePanel = sidePanel
// Ensure our singleton is created as soon as possible so we start fetching weather asap
LocationService.init()
}