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>
This commit is contained in:
1 parent
716c5499ff
commit
1845f03c41
184 files changed
+24648
No files matched your search
@@ -0,0 +1,57 @@
|
||||
import QtQuick
|
||||
|
||||
// Aero glass for chrome. Shows the window's cached, pre-blurred backdrop
|
||||
// (refreshed only on resize), so nothing is blurred per frame.
|
||||
Item {
|
||||
id: root
|
||||
property real offsetX: 0
|
||||
property real offsetY: 0
|
||||
property int blur: 16
|
||||
property real topLeftRadius: 0
|
||||
property real topRightRadius: 0
|
||||
property real bottomLeftRadius: 0
|
||||
property real bottomRightRadius: 0
|
||||
property bool gloss: true
|
||||
property bool innerBorder: true
|
||||
clip: true
|
||||
|
||||
readonly property var win: Window.window
|
||||
|
||||
Image {
|
||||
x: -root.offsetX
|
||||
y: -root.offsetY
|
||||
width: root.win ? root.win.width : 0
|
||||
height: root.win ? root.win.height : 0
|
||||
source: root.win ? "image://fx/glass/" + root.win.fxW + "x" + root.win.fxH + "/" + root.win.radius + "/" + root.blur : ""
|
||||
asynchronous: true
|
||||
retainWhileLoading: true
|
||||
cache: true
|
||||
smooth: true
|
||||
}
|
||||
|
||||
// Aero gloss: top highlight band
|
||||
Rectangle {
|
||||
visible: root.gloss
|
||||
anchors { left: parent.left; right: parent.right; top: parent.top }
|
||||
height: Math.min(parent.height * 0.5, 30)
|
||||
topLeftRadius: root.topLeftRadius
|
||||
topRightRadius: root.topRightRadius
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0; color: Qt.rgba(1, 1, 1, 0.07) }
|
||||
GradientStop { position: 1; color: Qt.rgba(1, 1, 1, 0.0) }
|
||||
}
|
||||
}
|
||||
|
||||
// 1px inner white border at 8%
|
||||
Rectangle {
|
||||
visible: root.innerBorder
|
||||
anchors.fill: parent
|
||||
color: "transparent"
|
||||
border.color: Theme.outline
|
||||
border.width: 1
|
||||
topLeftRadius: root.topLeftRadius
|
||||
topRightRadius: root.topRightRadius
|
||||
bottomLeftRadius: root.bottomLeftRadius
|
||||
bottomRightRadius: root.bottomRightRadius
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user