summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/AudioVisualization.qml
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/AudioVisualization.qml')
-rw-r--r--raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/AudioVisualization.qml94
1 files changed, 0 insertions, 94 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/AudioVisualization.qml b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/AudioVisualization.qml
deleted file mode 100644
index 52ace33..0000000
--- a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/AudioVisualization.qml
+++ /dev/null
@@ -1,94 +0,0 @@
-import QtQuick
-import Quickshell.Services.Mpris
-import qs.Common
-import qs.Services
-
-Item {
- id: root
-
- readonly property MprisPlayer activePlayer: MprisController.activePlayer
- readonly property bool hasActiveMedia: activePlayer !== null
- readonly property bool isPlaying: hasActiveMedia && activePlayer && activePlayer.playbackState === MprisPlaybackState.Playing
-
- width: 20
- height: Theme.iconSize
-
- Loader {
- active: isPlaying
-
- sourceComponent: Component {
- Ref {
- service: CavaService
- }
- }
- }
-
- readonly property real maxBarHeight: Theme.iconSize - 2
- readonly property real minBarHeight: 3
- readonly property real heightRange: maxBarHeight - minBarHeight
- property var barHeights: [minBarHeight, minBarHeight, minBarHeight, minBarHeight, minBarHeight, minBarHeight]
-
- Timer {
- id: fallbackTimer
-
- running: !CavaService.cavaAvailable && isPlaying
- interval: 500
- repeat: true
- onTriggered: {
- CavaService.values = [Math.random() * 20 + 5, Math.random() * 25 + 8, Math.random() * 22 + 6, Math.random() * 20 + 5, Math.random() * 22 + 6, Math.random() * 25 + 8];
- }
- }
-
- Connections {
- target: CavaService
- function onValuesChanged() {
- if (!root.isPlaying) {
- root.barHeights = [root.minBarHeight, root.minBarHeight, root.minBarHeight, root.minBarHeight, root.minBarHeight, root.minBarHeight];
- return;
- }
-
- const newHeights = [];
- for (let i = 0; i < 6; i++) {
- if (CavaService.values.length <= i) {
- newHeights.push(root.minBarHeight);
- continue;
- }
-
- const rawLevel = CavaService.values[i];
- if (rawLevel <= 0) {
- newHeights.push(root.minBarHeight);
- } else if (rawLevel >= 100) {
- newHeights.push(root.maxBarHeight);
- } else {
- newHeights.push(root.minBarHeight + Math.sqrt(rawLevel * 0.01) * root.heightRange);
- }
- }
- root.barHeights = newHeights;
- }
- }
-
- Row {
- anchors.centerIn: parent
- spacing: 1.5
-
- Repeater {
- model: 6
-
- Rectangle {
- width: 2
- height: root.barHeights[index]
- radius: 1.5
- color: Theme.primary
- anchors.verticalCenter: parent.verticalCenter
-
- Behavior on height {
- enabled: root.isPlaying && !CavaService.cavaAvailable
- NumberAnimation {
- duration: 100
- easing.type: Easing.Linear
- }
- }
- }
- }
- }
-}