Ian Gulliver
|
90ce4d93fa
|
Add --print-timeline-and-exit flag
|
2026-02-20 16:36:18 -07:00 |
|
Ian Gulliver
|
47ed09a848
|
Merge Timeline and timelineBuilder into single struct, remove cells()/setCells()
|
2026-02-20 16:27:23 -07:00 |
|
Ian Gulliver
|
4607e77ee7
|
Avoid empty rows in solver by pulling other tracks up instead of pushing down
|
2026-02-20 16:16:23 -07:00 |
|
Ian Gulliver
|
214bd91cb2
|
Inline setSignal, remove iteration limit from assignRows
|
2026-02-20 15:58:43 -07:00 |
|
Ian Gulliver
|
616f2cfb4e
|
Replace renderRows with per-track cells API, fill continuations in insertGap
|
2026-02-20 09:04:14 -07:00 |
|
Ian Gulliver
|
64e76445cf
|
Collapse empty rows in timeline, preserving intentional break gaps
|
2026-02-20 08:57:41 -07:00 |
|
Ian Gulliver
|
d0432a122f
|
Validate show START triggers and respect next_row constraints in insertGap
|
2026-02-20 08:47:23 -07:00 |
|
Ian Gulliver
|
3f1b12742c
|
Remove expandTargets and process START triggers directly
|
2026-02-20 08:37:11 -07:00 |
|
Ian Gulliver
|
dc2551542b
|
Remove reference validity checks, set cue track at load time, remove getTrack()
|
2026-02-20 08:29:56 -07:00 |
|
Ian Gulliver
|
2b5644419b
|
Add gap after block END when it doesn't chain to a same-track START
|
2026-02-20 08:23:54 -07:00 |
|
Ian Gulliver
|
17638ad18f
|
Simplify timeline types: merge video/audio to media, remove trackCell/blockCells indirection
|
2026-02-20 08:19:08 -07:00 |
|
Ian Gulliver
|
b15fe35a47
|
Clean up timeline builder: remove trackIDs field, unused error return, redundant map copy
|
2026-02-20 08:00:32 -07:00 |
|
Ian Gulliver
|
0893e5b8cb
|
Rewrite timeline builder to constraint-based layout with exclusive trigger rows
|
2026-02-20 07:57:41 -07:00 |
|
Ian Gulliver
|
7044b87b79
|
chore: normalize show ids and preserve json style
|
2026-02-19 21:00:01 -07:00 |
|
Ian Gulliver
|
0778ffa6f8
|
checkpoint: scaffold qrunproxy timeline API
|
2026-02-19 20:55:28 -07:00 |
|
Ian Gulliver
|
ea932d3225
|
Simplify qrunweb timeline rendering
|
2026-02-19 00:07:32 -07:00 |
|
Ian Gulliver
|
3e458bfce0
|
Simplify qrunweb renderer and update screenshot utility
|
2026-02-19 00:00:17 -07:00 |
|
Ian Gulliver
|
7a90916162
|
Merge adjacent event rows across tracks, batch independent chain triggers
|
2026-02-18 23:48:08 -07:00 |
|
Ian Gulliver
|
79509607ca
|
Add --run-and-exit flag to qrunweb and screenshot helper script
|
2026-02-18 23:27:27 -07:00 |
|
Ian Gulliver
|
728fff185a
|
Center block titles between open/close events with compacted title rows
|
2026-02-18 23:23:08 -07:00 |
|
Ian Gulliver
|
9bef8d634d
|
Remove yellow border from hook labels on signal rows
|
2026-02-18 22:56:10 -07:00 |
|
Ian Gulliver
|
28f58f48f8
|
Skip flush before chain triggers whose source was already ended
|
2026-02-18 22:55:11 -07:00 |
|
Ian Gulliver
|
4a7eb4aa2a
|
Fold START signal targets into the row that starts the block
|
2026-02-18 22:33:16 -07:00 |
|
Ian Gulliver
|
4935eb0150
|
Add chain triggers, fix overlay→light type, fix signal source segments
|
2026-02-18 22:28:15 -07:00 |
|
Ian Gulliver
|
f0db8aa5cd
|
Switch to typeids, struct triggers, block types, implicit cue track, ALL CAPS signals
|
2026-02-18 22:00:30 -07:00 |
|
Ian Gulliver
|
a32b13a3e2
|
Render timeline from JSON data, drop playhead highlight and alt signal rows
|
2026-02-18 21:51:44 -07:00 |
|
Ian Gulliver
|
090e91c030
|
Full-width cue rows, yellow-tinted signal rows with alternating shades
|
2026-02-18 21:14:33 -07:00 |
|
Ian Gulliver
|
31a622e0aa
|
Enforce no-titles-on-signal-rows rule, highlight signal-connected hooks, fix row splits
|
2026-02-18 21:03:49 -07:00 |
|
Ian Gulliver
|
39c797d114
|
Add signal/hook indicators, fix trigger consistency, tighten block margins
|
2026-02-18 17:28:55 -07:00 |
|
Ian Gulliver
|
7d0aa910fb
|
Add web timeline mockup, design doc, and show data model
|
2026-02-18 13:48:29 -08:00 |
|
Ian Gulliver
|
273437ff04
|
Add mock QLab server and tests, fix OSC typetag parsing off-by-one
|
2026-02-14 08:20:59 -08:00 |
|
Ian Gulliver
|
2f77c727ef
|
Add 8-channel color mixer with intensity, page buttons, and fill bars
|
2026-02-14 07:58:00 -08:00 |
|
Ian Gulliver
|
7a7d6369e2
|
RGB color mixer with per-nibble hex control and touch strip display
|
2026-02-11 22:29:43 -08:00 |
|
Ian Gulliver
|
f268d519b8
|
Fix image headers, add Stream Deck+ color mixer with coarse/fine encoders
|
2026-02-11 22:16:20 -08:00 |
|
Ian Gulliver
|
12e02e680d
|
Add Stream Deck+ support with encoders, touch strip, and LCD output
|
2026-02-11 22:07:17 -08:00 |
|
Ian Gulliver
|
366f1714a0
|
Add QLab OSC client library with TCP/SLIP transport
|
2026-02-11 21:58:30 -08:00 |
|
Ian Gulliver
|
dd54bb9797
|
Switch to 72pt Medium Mono Atkinson Hyperlegible font
|
2026-02-11 19:38:18 -08:00 |
|
Ian Gulliver
|
b4d147b07e
|
Add text rendering for Stream Deck buttons with toggle demo
|
2026-02-11 19:23:25 -08:00 |
|
Ian Gulliver
|
c9bed33c75
|
Move libraries to lib/ and PDF to docs/
|
2026-02-11 19:19:07 -08:00 |
|
Ian Gulliver
|
b547334dbe
|
Add Stream Deck XL library and test command
|
2026-02-11 19:16:22 -08:00 |
|
Ian Gulliver
|
e4bfa80c64
|
Move xtouchtest to cmd/xtouchtest
|
2026-02-10 21:40:29 -08:00 |
|
Ian Gulliver
|
fa7b310308
|
Add output control and interactive demo with paired faders, encoder rings, meters, and LCDs
|
2026-02-10 21:38:04 -08:00 |
|
Ian Gulliver
|
14a361e7a0
|
Add xtouch library for reading X-Touch Extender input events
|
2026-02-10 21:24:15 -08:00 |
|
Ian Gulliver
|
130bab4bc8
|
Initial commit: MIDI port discovery tool
|
2026-02-10 21:07:47 -08:00 |
|