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,30 @@
|
||||
import QtQuick
|
||||
|
||||
// Excel's yellow message bar, for notices.
|
||||
Rectangle {
|
||||
id: mb
|
||||
property string text: ""
|
||||
height: text ? 32 : 0
|
||||
visible: text !== ""
|
||||
color: "#FFF4CE"
|
||||
Rectangle { anchors.bottom: parent.bottom; width: parent.width; height: 1; color: "#E6D9A8" }
|
||||
Behavior on height { NumberAnimation { duration: X.easeMs } }
|
||||
function show(t) { text = t; hide.restart() }
|
||||
Timer { id: hide; interval: 6000; onTriggered: mb.text = "" }
|
||||
Row {
|
||||
x: 12
|
||||
height: parent.height
|
||||
spacing: 10
|
||||
Ico { anchors.verticalCenter: parent.verticalCenter; name: "info"; size: 16 }
|
||||
T { height: parent.height; text: "NOTICE"; font.bold: true }
|
||||
T { height: parent.height; text: mb.text }
|
||||
}
|
||||
Item {
|
||||
anchors { right: parent.right; rightMargin: 8; verticalCenter: parent.verticalCenter }
|
||||
width: 22
|
||||
height: 22
|
||||
Rectangle { anchors.fill: parent; color: xm.containsMouse ? "#F2E2A6" : "transparent" }
|
||||
Ico { anchors.centerIn: parent; name: "close"; size: 18 }
|
||||
MouseArea { id: xm; anchors.fill: parent; hoverEnabled: true; onClicked: mb.text = "" }
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user