Skip to content

web: show Hot Cue Banks in the library, read-only - #87

Merged
vynulldev merged 1 commit into
mainfrom
hotcue-bank-ui
Oct 15, 2026
Merged

vynulldev merged 1 commit into
mainfrom
hotcue-bank-ui

Conversation

@vynulldev

Copy link
Copy Markdown
Owner

What & why

Imported rekordbox Hot Cue Banks were only visible on a deck. This shows them in the web UI and the API, as decks browse them. Builds on #86 (Hot Cue Bank support).

  • API: GET /api/hotcuebanks lists the live folders and banks (parent_id links the tree, seq orders siblings) with each bank's track count. GET /api/hotcuebanks/{id}/tracks lists a bank's tracks in membership order, as a deck does: duplicates kept, content not in the library left out. Each entry has its position, cue in milliseconds, loop end (only for loops), hot-cue palette colour (color_id, 0 when unset) and comment. A folder or unknown ID returns 404. Both endpoints are in the OpenAPI spec under a new Hot Cue Banks tag.
  • Web UI: the library sidebar gets a HOT CUE BANKS section with the folder tree, shown only when banks exist. Selecting a bank shows its tracks with a colour column like rekordbox's (the cue's palette colour, or the default green for a cue and orange for a loop, plus a loop marker), the pad each position maps to (positions 1-8 are pads A-H, as in rekordbox and on the deck), the cue and loop end, and the comment. The text filter narrows the list by title or artist, and a row opens the track drawer. Tracks whose file is missing on this machine are listed dimmed and marked MISSING FILE, since decks aren't sent them, and a bank's track count leaves them out. Nothing is editable; the filter bar and column picker are hidden for this view.

A test covers both endpoints (tree, track count, ordering, duplicates, unresolved content, loop end, 404s). The UI was checked in headless Chromium against the link-spec Hot Cue Bank fixture: tree order, the Alpha Bank's ten tracks with pads A-H on positions 1-8, filtering, the empty bank, and switching back to the collection, with no page errors.

Hardware testing

  • Tested on: Not needed: this only adds read-only API endpoints and a web UI view; nothing sent to decks changes.

Checklist

  • go build ./..., go vet ./..., and go test ./... pass
  • gofmt -l . is clean
  • New source files carry an SPDX header (GPL-3.0-or-later)
  • Tested on real hardware (deck + firmware noted above), or this change doesn't affect deck behaviour
  • I agree my contribution is licensed under the project's GPLv3

Imported rekordbox Hot Cue Banks were only visible on a deck. Show them in the web UI and API as decks browse them.

- GET /api/hotcuebanks lists the live folders and banks (parent_id links the tree, seq orders siblings) with each bank's track count. GET /api/hotcuebanks/{id}/tracks lists a bank's tracks in membership order, as a deck does: duplicates kept, content not in the library left out, each with its position, cue in milliseconds, loop end (only for loops), hot-cue palette colour (color_id) and comment. Both are in the OpenAPI spec under a new Hot Cue Banks tag.
- The library sidebar gets a HOT CUE BANKS section with the folder tree. Selecting a bank shows its tracks with a colour column like rekordbox's (the cue's palette colour, or the default green for a cue and orange for a loop, plus a loop marker), and the pad each position maps to (positions 1-8 are pads A-H, as in rekordbox and on the deck), the cue and loop end, and the comment; the text filter narrows it, and a row opens the track drawer. Tracks whose file is missing on this machine are listed dimmed and marked, since decks aren't sent them, and the bank's track count leaves them out. Nothing is editable.
@vynulldev
vynulldev marked this pull request as ready for review October 15, 2026 21:48
@vynulldev
vynulldev merged commit 4f42089 into main Oct 15, 2026
1 check passed
@vynulldev
vynulldev deleted the hotcue-bank-ui branch October 15, 2026 21:50
@vynulldev vynulldev added the enhancement New feature or request label Oct 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant