A VJ console that is its own asset store: five surfaces (VIDEO program tiles, MUSIC DJ decks, SFX, EFFECT slots, LIGHTS) over the asset server, driven by APC40 hardware or the screen. The transport is the centre of it. The SWEEP LAW: one direction, one beat step, and a pacer that never hiccups — a loop wrap is never fast-forwarded and the grid keeps no holes. On top of that: bracket-to-bracket scrub math so the playhead learns the user's trim, SCRATCH as a sprung shuttle on every deck transport, ping-pong and per-slot mute, hot-standby decks, one rate authority, and beat sync that fits a whole clip into N bars at a musical rate while cached loops keep real wrapping pts so the phase survives. VARIABLE FRAMERATE VIDEO IMPORT measures the flow field a clip needs without a model (libs/video_flow), which is what makes free-rate bounce-looping GPU playback possible; the enhance pipe uprezes and tweens a deck clip in one decode and one encode, with the motion vectors inside the mp4. The console itself: makepad orange and the brand lockup, Blender-style BPM, system tooltips, popover sliders, bracket trim handles, one button family and a no-push band, doc-labeled slot dials with MIDI learn and strict typing, a BEATS dropdown and slow-biased jog, an IMPORT panel that arms, runs and stops, and BLAST — one press invents a visual for every parallel pipe. Generation runs six jobs in flight across the fleet, and a job row names what it made. The library grid fills as a relay — page, detail, manifest, blob, decode, texture — and every hand-off used to be picked up by the 20Hz poll timer, so each hop cost a tick however fast the store answered. The hand-offs now run on the frame while anything is owed, manifests jump the queue like the details that produced them, and resolve/decode/worker width all widen while nobody is on stage and narrow together the moment the program window opens or a deck plays. The visible page resolves first. Measured on the same warm cache: a 48-tile page 4.7s -> 1.9s, a tab's first visit 4.3s -> 1.1s, decode wait 48ms -> 9ms, a second visit painted in the same frame with zero decodes, and no UI hitches across the session. Also here: wave analysis (tempo, grid, downbeat, tiles) with a judge suite that scores the detector against click tracks and a human drummer, stem separation, karaoke lyric display, Art-Net/DMX light control, and an output window that projects without janking on Windows mouse movement. 466 tests, zero warnings.
1 line
128 B
XML
1 line
128 B
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M10.5 3 H12.5 V13 H10.5 Z M3.5 3 L9.5 8 L3.5 13 Z"/></svg>
|