Conversation
Capture timestamped game events (goals, penalties, period changes, game end) relative to OBS stream start time. Events are automatically logged when streaming is active and written as YouTube-compatible chapter markers (H:MM:SS label) to timestamps.txt in the output directory. Core layer: append-only event log (up to 256 events) with add/get/clear/ write API. Plugin layer: hooks into OBS streaming start/stop events, auto-logs from all score/penalty/period/clock UI and hotkey actions, writes timestamps on game finish and stream stop, adds "Copy Timestamps to Clipboard" button for pasting into YouTube descriptions. https://claude.ai/code/session_0114mYCqW5FWaebWuGZMSCTX
Persists the event log to disk on every event so that timestamps survive OBS crashes. Previously timestamps were only written at game end or stream stop. https://claude.ai/code/session_0114mYCqW5FWaebWuGZMSCTX
- Goals: subtract 10s delay from timestamp to approximate actual goal time (clamped to 0:00:00). Decrementing a score removes the most recent goal event for that team (handles called-off goals and accidental presses). - Penalties: renamed from "Penalty" to "Power Play" in event labels. Manually clearing a penalty removes its timestamp (called-off penalty). Natural expiry does not remove the event. - Core: added scoreboard_event_log_remove() and scoreboard_event_log_find_last() for prefix-based reverse search. - Tests: 12 new tests covering remove, find_last, and combined find-and-remove workflows. https://claude.ai/code/session_0114mYCqW5FWaebWuGZMSCTX
The penalty event was logging the penalized team as "Power Play: {team}"
but the power play belongs to the opposing team. Swap the ternary so
when the home team takes a penalty, the away team is shown on the
power play label, and vice versa.
https://claude.ai/code/session_0114mYCqW5FWaebWuGZMSCTX
…d UX fixes
- Recording chapter markers: embeds chapters into Hybrid MP4/MOV via
OBS 32+ API (runtime-detected for backwards compatibility) and writes
companion .chapters.txt next to any recording for reeln-cli/MKV use
- "Record chapters in game file" checkbox in Game Settings with tooltip
explaining Hybrid MP4 requirement and API availability
- Sport-aware score labels: "Goal" for hockey/soccer/lacrosse, "Try"
for rugby; score logging disabled by default for basketball/football
- Clock auto-stops at 0:00 (count-down) or period length (count-up)
- Period Start event deduplication: only logged once per period
- Segment CLI only runs when streaming (no spurious failures offline)
- Process queue bounded with internal scroll; dock layout is stable
- Fix: hotkey penalty-add no longer logs phantom events when slots full
- Fix: find_last("") no longer matches every event
- Version bump to 0.4.0
Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
timestamps.txtoutput.chapters.txtfile next to any recording for reeln-cli or manual ffmpeg injectionTest plan
🤖 Generated with Claude Code