Repository navigation
v0.2.0
Tested on Ubuntu and Windows, with Python 3.8 and 3.12. The GitHub Action passes on all four.
Listen to the network
- The bench now hears other players and mixers on the link and shows each as a read-only card with its model and what it does.
- The Network tab has a log of the Pro DJ Link packets as they come (
/api/packets). The bench's own packets, statuses and beats are options. Seedocs/link.md. - A synced deck now snaps to the master's beat grid, not only to its tempo.
The page
- New look, the same as commitcollective.cc: black and white, thin lines, square corners. Colour only carries meaning: green for on and on air, blue for sync, amber for the master, purple for a loop, red for beat 1 and for a fault.
- Two looks, each in dark and light, chosen in Settings: Commit (the default) and Classic, the first look.
- Each deck and device has a scrolling strip with a grid of beats and bars. A loop shows where it goes back.
- The tempo slider changes the tempo while you drag it, not on release.
- The Sound button plays each playing deck's beat (kick, snare, hat). With a mixer, only decks on air are heard. Settings choose which decks and devices you hear.
- The page can be hosted on another site and used from a phone. See
docs/phone.md. ?demoruns a bench made of JavaScript inside the page, with no server.
Safety
- The API now refuses requests from web pages of another origin, since any site could otherwise drive a bench on localhost.
--allow-originlets one in. --tokenmakes the API ask for a token.
Releases and hosting
- A tag now makes a GitHub release with the changelog entry as its notes.
- The tests run on Ubuntu and Windows, and the workflow says which test failed.
- The page is served by its own Cloudflare worker, so changing it needs no push to the website. See
docs/hosting.md.
Fixes
- UDP sockets are shared with SO_REUSEPORT on macOS.
- The page's server no longer does a reverse lookup at start, which held it up for many seconds on a macOS runner.
- The WSL test of
Benchonly runs where a WSL distribution starts. - The mixer's channel rows no longer share a CSS class with the beat strips.