Revert "fix(media): gate spectrum pipeline on playback to cut idle CPU"

This reverts commit a0093e509b.
This commit is contained in:
Lemmy
2026-04-08 19:12:07 -04:00
parent 087f75376b
commit 0fcaa49875
8 changed files with 19 additions and 25 deletions
+6 -12
View File
@@ -45,27 +45,21 @@ Item {
readonly property bool shouldShow: (currentVisualizerType !== "" && currentVisualizerType !== "none") && (!hideWhenIdle || MediaService.isPlaying)
readonly property bool needsSpectrum: root.shouldShow && MediaService.isPlaying
// Register/unregister with SpectrumService based on visibility (use screenName — screen can be null after DPMS/output changes)
readonly property string spectrumComponentId: "bar:audiovisualizer:" + screenName + ":" + root.section + ":" + root.sectionWidgetIndex
onNeedsSpectrumChanged: {
if (root.needsSpectrum) {
onShouldShowChanged: {
if (root.shouldShow) {
SpectrumService.registerComponent(root.spectrumComponentId);
} else {
SpectrumService.unregisterComponent(root.spectrumComponentId);
}
}
Component.onCompleted: {
if (root.needsSpectrum) {
SpectrumService.registerComponent(root.spectrumComponentId);
}
}
Component.onDestruction: {
SpectrumService.unregisterComponent(root.spectrumComponentId);
if (root.shouldShow) {
SpectrumService.unregisterComponent(root.spectrumComponentId);
}
}
// Content dimensions for implicit sizing
@@ -110,7 +104,7 @@ Item {
id: visualizerLoader
anchors.fill: parent
anchors.margins: Style.marginS
active: root.needsSpectrum
active: shouldShow
asynchronous: true
sourceComponent: {
+3 -3
View File
@@ -75,7 +75,7 @@ Item {
// SpectrumService registration for visualizer
readonly property string spectrumComponentId: "bar:mediamini:" + root.screen?.name + ":" + root.section + ":" + root.sectionWidgetIndex
readonly property bool needsSpectrum: root.showVisualizer && root.visualizerType !== "" && root.visualizerType !== "none" && !root.isHidden && MediaService.isPlaying
readonly property bool needsSpectrum: root.showVisualizer && root.visualizerType !== "" && root.visualizerType !== "none" && !root.isHidden
Layout.preferredHeight: isVertical ? -1 : Style.getBarHeightForScreen(screenName)
Layout.preferredWidth: isVertical ? Style.getBarHeightForScreen(screenName) : -1
@@ -265,10 +265,10 @@ Item {
y: Style.pixelAlignCenter(parent.height, height)
width: Style.toOdd(parent.width)
height: Style.toOdd(parent.height)
active: root.needsSpectrum
active: showVisualizer
z: 0
sourceComponent: {
if (!root.needsSpectrum)
if (!showVisualizer)
return null;
if (visualizerType === "linear")
return linearSpectrum;
+2 -2
View File
@@ -16,7 +16,7 @@ NBox {
readonly property bool hasActivePlayer: MediaService.currentPlayer && MediaService.canPlay
// SpectrumService registration for visualizer
readonly property bool needsSpectrum: Settings.data.audio.visualizerType !== "" && Settings.data.audio.visualizerType !== "none" && MediaService.isPlaying
readonly property bool needsSpectrum: Settings.data.audio.visualizerType !== "" && Settings.data.audio.visualizerType !== "none"
onNeedsSpectrumChanged: {
if (root.needsSpectrum) {
@@ -138,7 +138,7 @@ NBox {
// Background visualizer on top of the artwork
Loader {
anchors.fill: parent
active: root.needsSpectrum
active: Settings.data.audio.visualizerType !== "" && Settings.data.audio.visualizerType !== "none"
sourceComponent: {
switch (Settings.data.audio.visualizerType) {
@@ -25,7 +25,7 @@ DraggableDesktopWidget {
readonly property bool shouldShow: visualizerType !== "" && visualizerType !== "none" && (!hideWhenIdle || MediaService.isPlaying)
readonly property bool isHidden: !shouldShow
readonly property bool shouldRegisterSpectrum: shouldShow && MediaService.isPlaying
readonly property bool shouldRegisterSpectrum: shouldShow
// Keep widget visible in edit mode so users can move/configure it
visible: !root.isHidden || DesktopWidgetRegistry.editMode
@@ -66,7 +66,7 @@ DraggableDesktopWidget {
id: visualizerLoader
anchors.fill: parent
anchors.margins: root.showBackground ? Math.round(Style.marginXS * root.widgetScale) : 0
active: root.shouldRegisterSpectrum
active: root.shouldShow
asynchronous: true
sourceComponent: {
@@ -34,7 +34,7 @@ DraggableDesktopWidget {
// SpectrumService registration for visualizer
readonly property string spectrumComponentId: "desktopmediaplayer:" + (root.screen ? root.screen.name : "unknown")
readonly property bool needsSpectrum: root.shouldShowVisualizer && !root.isHidden && root.isPlaying
readonly property bool needsSpectrum: root.shouldShowVisualizer && !root.isHidden
onNeedsSpectrumChanged: {
if (root.needsSpectrum) {
+1 -1
View File
@@ -17,7 +17,7 @@ Loader {
active: false
// Track if the visualizer should be shown (lockscreen active + media playing + non-compact mode)
readonly property bool needsSpectrum: root.active && !Settings.data.general.compactLockScreen && Settings.data.audio.visualizerType !== "" && Settings.data.audio.visualizerType !== "none" && MediaService.isPlaying
readonly property bool needsSpectrum: root.active && !Settings.data.general.compactLockScreen && Settings.data.audio.visualizerType !== "" && Settings.data.audio.visualizerType !== "none"
onActiveChanged: {
if (root.active && root.needsSpectrum) {
+3 -3
View File
@@ -264,7 +264,7 @@ Item {
Loader {
anchors.fill: parent
anchors.margins: 4
active: Settings.data.audio.visualizerType === "linear" && MediaService.isPlaying
active: Settings.data.audio.visualizerType === "linear"
z: 0
sourceComponent: NLinearSpectrum {
anchors.fill: parent
@@ -278,7 +278,7 @@ Item {
Loader {
anchors.fill: parent
anchors.margins: 4
active: Settings.data.audio.visualizerType === "mirrored" && MediaService.isPlaying
active: Settings.data.audio.visualizerType === "mirrored"
z: 0
sourceComponent: NMirroredSpectrum {
anchors.fill: parent
@@ -292,7 +292,7 @@ Item {
Loader {
anchors.fill: parent
anchors.margins: 4
active: Settings.data.audio.visualizerType === "wave" && MediaService.isPlaying
active: Settings.data.audio.visualizerType === "wave"
z: 0
sourceComponent: NWaveSpectrum {
anchors.fill: parent
+1 -1
View File
@@ -50,7 +50,7 @@ SmartPanel {
readonly property bool isSideBySide: root.compactMode && root.showAlbumArt
readonly property bool needsSpectrum: root.showVisualizer && root.visualizerType !== "" && root.visualizerType !== "none" && root.isPanelOpen && MediaService.isPlaying
readonly property bool needsSpectrum: root.showVisualizer && root.visualizerType !== "" && root.visualizerType !== "none" && root.isPanelOpen
onNeedsSpectrumChanged: {
if (root.needsSpectrum) {