Files
stemify/stemroller/qml/StemRoller/AeroSwitch.qml
T
ClericalErrorandClaude Opus 5.5 1845f03c41 StemRoller: desktop stem separator, Android stems player, and server daemons
- stemroller/: PySide6/QML desktop app and player for separating music into stems
- android/: Plex music player that plays per-stem mixes, with Android Auto support,
  a graphic + parametric (Equalizer APO-style) EQ, and offline downloads
- server/: stemserve (serves stems to the app) and stemd (separates the library on
  the server's GPU, with "Stem Now" priority requests)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 21:17:17 -07:00

44 lines
1.4 KiB
QML

import QtQuick
import QtQuick.Controls.Basic
Switch {
id: sw
hoverEnabled: true
font.family: Theme.fontFamily
font.pixelSize: Theme.fs14
spacing: 12
indicator: Rectangle {
implicitWidth: 40
implicitHeight: 22
x: sw.leftPadding
y: parent.height / 2 - height / 2
radius: 11
color: sw.checked ? Theme.primary : Qt.rgba(1, 1, 1, 0.10)
border.color: sw.checked ? Qt.lighter(Theme.primary, 1.3) : Qt.rgba(1, 1, 1, 0.16)
Behavior on color { ColorAnimation { duration: Theme.med } }
Glow { radius: 11; sigma: 4; opacity: sw.hovered ? 0.35 : 0 }
Rectangle {
x: sw.checked ? parent.width - width - 3 : 3
anchors.verticalCenter: parent.verticalCenter
width: 16
height: 16
radius: 8
color: "#FFFFFF"
Behavior on x { NumberAnimation { duration: Theme.med; easing.type: Easing.BezierSpline; easing.bezierCurve: Theme.ease } }
Rectangle {
anchors { left: parent.left; right: parent.right; top: parent.top; margins: 2 }
height: 6
radius: 3
color: Qt.rgba(1, 1, 1, 0.6)
}
}
}
contentItem: Txt {
text: sw.text
font: sw.font
leftPadding: sw.indicator.width + sw.spacing
wrapMode: Text.WordWrap
elide: Text.ElideNone
}
}