feat(qbz-qt): phase 4 — live playback, queue, and transport via QbzCore
Album-card click plays the album: get_album -> QueueTrack vec -> set_queue -> play_track_resolved (tier walk stays in the core). 1 Hz poll publishes position/meta/quality into the NowPlaying model; end-of- track edge auto-advances with meta refresh (traced live: 24-bit/48kHz CMAF stream, position advancing, track 2/3 transitions). Transport invokables rewired to real core calls; queue panel shows NOW PLAYING + numbered UP NEXT from get_queue_state. Public QbzCore API proved sufficient — protected audio/player crates untouched. Named gaps: no mute API, no playback event stream, auto-advance/prefetch semantics remain frontend glue (~150 lines every UI must port). km
This commit is contained in:
7 files changed
+890
-85
No files matched your search
@@ -162,7 +162,9 @@ Rectangle {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
// POC-NOTE: the album page is out of scope — inert.
|
||||
// Phase 4: a card click plays the album (the album page
|
||||
// itself is out of scope — POC-NOTE).
|
||||
onClicked: QbzBridge.playAlbum(card.id)
|
||||
}
|
||||
// Hover action buttons — favorite / play / more (INERT;
|
||||
// POC-NOTE: playback + favorites land in later phases).
|
||||
@@ -208,7 +210,13 @@ Rectangle {
|
||||
anchors.centerIn: parent
|
||||
tintName: "black"
|
||||
}
|
||||
MouseArea { id: playOvArea; anchors.fill: parent; hoverEnabled: true; cursorShape: Qt.PointingHandCursor }
|
||||
MouseArea {
|
||||
id: playOvArea
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: QbzBridge.playAlbum(card.id)
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
width: 36
|
||||
@@ -437,7 +445,8 @@ Rectangle {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
// POC-NOTE: album page out of scope — inert.
|
||||
// Phase 4: slim rows are albums — click plays (page out of scope).
|
||||
onClicked: QbzBridge.playAlbum(card.id)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user