Settings window #20

Merged
Zacharias-Brohn merged 83 commits from settingsWindow into main 2026-03-06 23:27:24 +01:00
Showing only changes of commit 116dca6440 - Show all commits
+48 -48
View File
@@ -37,54 +37,54 @@ Item {
onTriggered: Players.active?.positionChanged()
}
Shape {
id: visualizer
readonly property real centerX: width / 2
readonly property real centerY: height / 2
property color colour: DynamicColors.palette.m3primary
readonly property real innerX: cover.implicitWidth / 2 + Appearance.spacing.small
readonly property real innerY: cover.implicitHeight / 2 + Appearance.spacing.small
anchors.fill: cover
anchors.margins: -Config.dashboard.sizes.mediaVisualiserSize
asynchronous: true
data: visualizerBars.instances
preferredRendererType: Shape.CurveRenderer
}
Variants {
id: visualizerBars
model: Array.from({
length: Config.services.visualizerBars
}, (_, i) => i)
ShapePath {
id: visualizerBar
readonly property real angle: modelData * 2 * Math.PI / Config.services.visualizerBars
readonly property real cos: Math.cos(angle)
readonly property real magnitude: value * Config.dashboard.sizes.mediaVisualiserSize
required property int modelData
readonly property real sin: Math.sin(angle)
readonly property real value: Math.max(1e-3, Math.min(1, Audio.cava.values[modelData]))
capStyle: Appearance.rounding.scale === 0 ? ShapePath.SquareCap : ShapePath.RoundCap
startX: visualizer.centerX + (visualizer.innerX + strokeWidth / 2) * cos
strokeColor: DynamicColors.palette.m3primary
strokeWidth: 360 / Config.services.visualizerBars - Appearance.spacing.small / 4
startY: PathLine {
x: visualizer.centerX + (visualizer.innerX + visualizerBar.strokeWidth / 2 + visualizerBar.magnitude) * visualizerBar.cos
y: visualizer.centerY + (visualizer.innerY + visualizerBar.strokeWidth / 2 + visualizerBar.magnitude) * visualizerBar.sin
}
Behavior on strokeColor {
CAnim {
}
}
}
}
// Shape {
// id: visualizer
//
// readonly property real centerX: width / 2
// readonly property real centerY: height / 2
// property color colour: DynamicColors.palette.m3primary
// readonly property real innerX: cover.implicitWidth / 2 + Appearance.spacing.small
// readonly property real innerY: cover.implicitHeight / 2 + Appearance.spacing.small
//
// anchors.fill: cover
// anchors.margins: -Config.dashboard.sizes.mediaVisualiserSize
// asynchronous: true
// data: visualizerBars.instances
// preferredRendererType: Shape.CurveRenderer
// }
//
// Variants {
// id: visualizerBars
//
// model: Array.from({
// length: Config.services.visualizerBars
// }, (_, i) => i)
//
// ShapePath {
// id: visualizerBar
//
// readonly property real angle: modelData * 2 * Math.PI / Config.services.visualizerBars
// readonly property real cos: Math.cos(angle)
// readonly property real magnitude: value * Config.dashboard.sizes.mediaVisualiserSize
// required property int modelData
// readonly property real sin: Math.sin(angle)
// readonly property real value: Math.max(1e-3, Math.min(1, Audio.cava.values[modelData]))
//
// capStyle: Appearance.rounding.scale === 0 ? ShapePath.SquareCap : ShapePath.RoundCap
// startX: visualizer.centerX + (visualizer.innerX + strokeWidth / 2) * cos
// strokeColor: DynamicColors.palette.m3primary
// strokeWidth: 360 / Config.services.visualizerBars - Appearance.spacing.small / 4
//
// startY: PathLine {
// x: visualizer.centerX + (visualizer.innerX + visualizerBar.strokeWidth / 2 + visualizerBar.magnitude) * visualizerBar.cos
// y: visualizer.centerY + (visualizer.innerY + visualizerBar.strokeWidth / 2 + visualizerBar.magnitude) * visualizerBar.sin
// }
// Behavior on strokeColor {
// CAnim {
// }
// }
// }
// }
Shape {
preferredRendererType: Shape.CurveRenderer