Skip to content

Releases

NFL-TCKR v0.1.57

Choose a tag to compare

@krypdoh krypdoh released this 08 Nov 21:37

0.1.57 — 2026-11-08

  • Shortcut L jumps the scroll to the first Leaders card. Does nothing when
    Leaders are not currently on the ticker.

0.1.56 — 2026-11-08

  • Settings → Leaders tab: weekly and season PASSING / RUSHING / RECEIVING
    leaders (top 1–5). Each scope can show during live games, when no live games
    are running, or not at all. Weekly tops come from this week's in/post
    scoreboard leaders; season tops from ESPN season leaders.

0.1.55 — 2026-11-08

  • Fix crash when two or more displays are selected: mirror bars no longer borrow
    NFLTicker.nativeEvent/moveEvent (super() failed on TickerMirror).

0.1.54 — 2026-11-08

  • Settings → General: Display placement (Single / Clone / Continuous span) and
    per-monitor checkboxes. Clone syncs the same scroll on each selected display;
    span runs one continuous path left-to-right across them. Each bar docks and
    hides for fullscreen on its own monitor. Applying settings re-reads the
    display plan (monitor_index was previously ignored on Apply).

NFL-TCKR v0.1.53

Choose a tag to compare

@krypdoh krypdoh released this 12 Oct 16:17

NFL-TCKR CHANGELOG

0.1.52 — 2026-10-04

  • Settings → Shortcuts lists the ticker keys. + and − change scroll speed.
    Q still quits.
  • Settings → General: Follow Team. F centers that game and pauses; F or P
    resumes.

0.1.51 — 2026-10-04

  • Keys while the ticker is focused: P pause/resume, T start the scroll
    from the beginning, R replay the last scoring banner

0.1.50 — 2026-10-04

  • Dock: reserve the full on-screen strip and sit below other top docks
    instead of covering them. Apply and quit release that strip, so the next
    start no longer parks under the previous reservation.

0.1.49 — 2026-09-30

  • Dock: keep checking the top of the monitor for another bar, not only other
    tickers and not only at startup. NFL-TCKR stacks below that reservation.

0.1.48 — 2026-09-30

  • Defaults: 64px bar, speed 10, 5s refresh, city names, team-name glow,
    drive summary, post-game stats in Subway Ticker, and alternate colors for
    Bills, Patriots, Browns, Steelers, Bears, Packers, Texans, Titans, Seahawks

0.1.47 — 2026-09-29

  • Scroll: passer-line rotation on a final (and live) card stamps that line
    onto the cached card. The names, logos, and team-name glow are not
    repainted every 5 seconds.

0.1.46 — 2026-09-29

  • Scroll: team-name glow stays on the cached card. Live ticks still stamp
    only the clock, down, play, score, timeouts, and possession icon. Glow-all
    still repaints the whole card.

0.1.45 — 2026-09-29

  • Scroll: cache the stable part of each live card (names, logos) and stamp
    only the clock, down, play, score, timeouts, and possession icon so a
    tick does not rebuild the whole card on the GUI thread. Both possession
    slots stay reserved so a possession flip does not change card width.

0.1.44 — 2026-09-29

  • Scroll: paint changed cards on the GUI thread one per event-loop turn
    (QTimer.singleShot(0)); install each image as it finishes so VBlank wakes
    are not starved by a QThread holding the GIL in QPainter

0.1.43 — 2026-09-29

  • Live cards: reserve center from clock + fixed down samples only; last play /
    drive wraps up to 3 lines inside that column so scores sit closer

0.1.42 — 2026-09-29

  • Scroll: yield the GIL during card rebuilds and install only finished images so
    down / play / score updates do not drop a VBlank frame

0.1.41 — 2026-09-29

  • Scoring flash: 3s all-caps type line (e.g. GIANTS TOUCHDOWN!), then 4s play detail
  • Detail form e.g. Giants Score: Scattebo 22 YD Run Touchdown!; hold is 7s total

0.1.40 — 2026-09-29

  • Live cards: reserve fixed center and two-digit score columns so down / last-play /
    score-digit updates do not change card width or shift logos and neighbors
  • Timeouts stay centered under the reserved score slot

0.1.39 — 2026-09-29

  • Last play: Pixel Font7 (fonts/PixelFont7-G02A.ttf) at 8–14px with AA off for that line only

0.1.38 — 2026-09-29

  • Live down line: Ozone LED face (uppercased); last-play text nudged down 2px

0.1.37 — 2026-09-29

  • Live down line: "2nd & 7 on NYG 45" (word "on" instead of "@"; connector stays white)

0.1.36 — 2026-09-29

  • Last play: Roboto Medium (fonts/Roboto-Medium.ttf) instead of Zed Sans Regular —
    slightly thicker at the small play-line size
  • Quarter / linescore table: Ozone LED face for grid cells; FINAL/HALFTIME
    heading stays on the clock/time face

0.1.35 — 2026-09-29

  • Pregame center: larger gap between kickoff / network / spread; network and
    spread fonts closer to kickoff size; away record sits left of the team name

0.1.34 — 2026-09-29

  • Add -test / --test CLI mode: fake live slate (no ESPN) so the bar can be
    demoed when no games are on; advances clocks / downs / plays every ~4.5s

0.1.33 — 2026-09-29

  • Final cards: restore the center linescore table (periods only, OT when
    present); remove compact quarter digits under each score
  • Linescore table no longer includes a redundant FINAL/total column on
    finals or in-game quarter breaks

0.1.32 — 2026-09-29

  • Live down line colors: 4th down gold, else red zone red, else possession
    team color (clock blue / white when possession unknown); & and @ stay white
  • Settings → General: Show drive summary (mutually exclusive with last play);
    bottom row shows "12 plays, 75 yards" from the current drive when available
  • Pregame cards: team records beside names, broadcast under kickoff, spread
    in the center (hidden once live or final)
  • Final cards: compact quarter points under each score; no down / last play /
    drive / possession; full linescore table kept for in-game quarter breaks

0.1.31 — 2026-09-29

  • Glow all: keep halos cached (text, logos, possession icons) and drop the
    oldest entry instead of wiping at 400. A full slate was rebuilding every
    halo on the next card and holding the scroll clock for hundreds of ms
    per card; the scroll blit itself stayed under 1ms
  • Card rebuild runs at low priority and yields between halos so a cold glow
    pass cannot pin the machine

0.1.30 — 2026-09-28

  • Settings → General: Include Post-Game Stats (off by default)
  • After each final score, scroll away then home PASS/RUSH/REC/SACKS/TACKLE
    leaders (headers in that team's color, e.g. LAC PASS); post-game line is
    2× situation size; Settings chooses the post-game stats typeface

0.1.29 — 2026-09-28

  • QB line includes completions/attempts: #16 Lawrence 20/33 182 YDS, 3 TD, 1 INT
    (live/final boxscore C/ATT and pregame season leader C/ATT)

0.1.28 — 2026-09-28

  • AppBar always registers (ABM_NEW/QUERYPOS/SETPOS) so NFL reserves its own
    strip below any existing top reservation; windows should not open underneath
  • Clear WS_EX_TOOLWINDOW before register so Explorer includes this HWND in rcWork
  • Stop SPI_SETWORKAREA(NULL) which rebuilt work area from AppBars and dropped us
  • Re-force work-area top to the bottom of our strip 1s and 3s after dock

0.1.27 — 2026-09-28

  • Ticker face: ignore leftover Settings.json "Arial" and use bundled Ozone;
    Settings → General now has a Ticker font list from fonts/
  • AppBar: if the top is already reserved, dock below it (do not steal y=0);
    still shrink the work area so windows start below NFL-TCKR; re-park if Qt
    snaps the HWND back to the screen top

0.1.26 — 2026-09-28

  • Frozen exe: ship each fonts/*.ttf|otf into the onefile extract (fonts/ and root)
  • Register bundled faces after QApplication; exe prefers fonts-folder over installed
  • Search _MEIPASS/fonts, extract root, and a fonts/ folder next to the exe

0.1.25 — 2026-09-28

  • Settings → Network tab: Enable Proxy + URL, optional SSL certificate file
  • ESPN fetches honor proxy (HTTP(S)_PROXY + requests proxies); corporate SSL
    inspection uses a merged Windows CA bundle when no custom cert is set

0.1.24 — 2026-09-27

  • Live center: fixed 4-row slots so clock Y stays put with or without last play;
    more gap clock→down, play a tad lower, clock face +1px
  • Clock > 2:00: time + down in bright blue, dash white; down line & and @ always white
  • Logo / name / score gaps use visible ink (not canvas pad) and a shared 10px spacing
  • Inter-game gap 40% tighter (~1.8× bar height instead of 3×)
  • Timeout dashes use the team-name color; row sits 1px lower
  • Last play: Gotham Medium then smaller, now fonts/zed-sans-regular.ttf
  • Fonts: installed family first, then fonts/, then default; --debug logs every role
  • Scroll: ESPN fetch on _SlateThread, cards on _CardBuildThread (QImage); idle
    scoreboard poll 60s when no live / kickoff-soon games
  • Intro: yellow "NFL-TCKR" centered 3s, then scroll in from the right; --faststart skips
  • Loop marker: logos/nfl-com-logo.png at the start of each pass
  • Right-click + tray: About… (author, 2026 copyright, github.com/krypdoh/NFL-TCKR)
  • build-nfltckr.ps1: onefile PyInstaller (console + noconsole) and Authenticode sign
  • Frozen APP_DIR uses sys._MEIPASS so bundled fonts/logos/images resolve in the exe
  • .gitignore: build/, dist/, logs, pycache, exes, signing certs

0.1.23 — 2026-09-27

  • Logo / possession-icon white glow much more subtle: lower opacity (~half),
    tighter scale, smaller pad; team-name / text bloom unchanged from 0.1.22

0.1.22 — 2026-09-27

  • Team-name / text glow: real behind-glyph bloom (wide soft silhouette + heavy
    multi-pass blur at moderate opacity) so names keep normal weight instead of
    looking bold/outlined; shared _draw_text_glow also improves glow_all text

0.1.21 — 2026-09-27

  • AppBar fix: always ABM_NEW/QUERYPOS/SETPOS when docked (old “passive dock”
    skipped shell registration whenever anything was already at the top, so the
    bar never reserved desktop space)
  • Force SPI_SETWORKAREA if the shell does not shrink the work area after SETPOS
  • Deferred + retry AppBar setup after HWND is realized; clearer [AppBar] logs

0.1.20 — 2026-09-27

  • Glow reworked as soft background bloom (blurred halo behind content) instead of
    tight offset copies that only made glyphs look bolder

0.1.19 — 2026-09-27

  • Windows AppBar: docked mode reserves top desktop strip (SHAppBarMessage)
  • Passive dock below sister tickers (MLB-TCKR / other *-TCKR) so bars don’t stack
  • Fullscreen yield: hide via opacity when a fullscreen app owns the monitor
  • Settings: “Do...
Read more

NFL-TCKR

Choose a tag to compare

@krypdoh krypdoh released this 28 Sep 13:01

NFL-TCKR CHANGELOG

0.1.30 — 2026-09-28

  • Settings → General: Include Post-Game Stats (off by default)
  • After each final score, scroll away then home PASS/RUSH/REC/SACKS/TACKLE
    leaders (headers in that team's color, e.g. LAC PASS); post-game line is
    2× situation size; Settings chooses the post-game stats typeface

0.1.29 — 2026-09-28

  • QB line includes completions/attempts: #16 Lawrence 20/33 182 YDS, 3 TD, 1 INT
    (live/final boxscore C/ATT and pregame season leader C/ATT)

0.1.28 — 2026-09-28

  • AppBar always registers (ABM_NEW/QUERYPOS/SETPOS) so NFL reserves its own
    strip below any existing top reservation; windows should not open underneath
  • Clear WS_EX_TOOLWINDOW before register so Explorer includes this HWND in rcWork
  • Stop SPI_SETWORKAREA(NULL) which rebuilt work area from AppBars and dropped us
  • Re-force work-area top to the bottom of our strip 1s and 3s after dock

0.1.27 — 2026-09-28

  • Ticker face: ignore leftover Settings.json "Arial" and use bundled Ozone;
    Settings → General now has a Ticker font list from fonts/
  • AppBar: if the top is already reserved, dock below it (do not steal y=0);
    still shrink the work area so windows start below NFL-TCKR; re-park if Qt
    snaps the HWND back to the screen top

0.1.26 — 2026-09-28

  • Frozen exe: ship each fonts/*.ttf|otf into the onefile extract (fonts/ and root)
  • Register bundled faces after QApplication; exe prefers fonts-folder over installed
  • Search _MEIPASS/fonts, extract root, and a fonts/ folder next to the exe

0.1.25 — 2026-09-28

  • Settings → Network tab: Enable Proxy + URL, optional SSL certificate file
  • ESPN fetches honor proxy (HTTP(S)_PROXY + requests proxies); corporate SSL
    inspection uses a merged Windows CA bundle when no custom cert is set

0.1.24 — 2026-09-27

  • Live center: fixed 4-row slots so clock Y stays put with or without last play;
    more gap clock→down, play a tad lower, clock face +1px
  • Clock > 2:00: time + down in bright blue, dash white; down line & and @ always white
  • Logo / name / score gaps use visible ink (not canvas pad) and a shared 10px spacing
  • Inter-game gap 40% tighter (~1.8× bar height instead of 3×)
  • Timeout dashes use the team-name color; row sits 1px lower
  • Last play: Gotham Medium then smaller, now fonts/zed-sans-regular.ttf
  • Fonts: installed family first, then fonts/, then default; --debug logs every role
  • Scroll: ESPN fetch on _SlateThread, cards on _CardBuildThread (QImage); idle
    scoreboard poll 60s when no live / kickoff-soon games
  • Intro: yellow "NFL-TCKR" centered 3s, then scroll in from the right; --faststart skips
  • Loop marker: logos/nfl-com-logo.png at the start of each pass
  • Right-click + tray: About… (author, 2026 copyright, github.com/krypdoh/NFL-TCKR)
  • build-nfltckr.ps1: onefile PyInstaller (console + noconsole) and Authenticode sign
  • Frozen APP_DIR uses sys._MEIPASS so bundled fonts/logos/images resolve in the exe
  • .gitignore: build/, dist/, logs, pycache, exes, signing certs

0.1.23 — 2026-09-27

  • Logo / possession-icon white glow much more subtle: lower opacity (~half),
    tighter scale, smaller pad; team-name / text bloom unchanged from 0.1.22

0.1.22 — 2026-09-27

  • Team-name / text glow: real behind-glyph bloom (wide soft silhouette + heavy
    multi-pass blur at moderate opacity) so names keep normal weight instead of
    looking bold/outlined; shared _draw_text_glow also improves glow_all text

0.1.21 — 2026-09-27

  • AppBar fix: always ABM_NEW/QUERYPOS/SETPOS when docked (old “passive dock”
    skipped shell registration whenever anything was already at the top, so the
    bar never reserved desktop space)
  • Force SPI_SETWORKAREA if the shell does not shrink the work area after SETPOS
  • Deferred + retry AppBar setup after HWND is realized; clearer [AppBar] logs

0.1.20 — 2026-09-27

  • Glow reworked as soft background bloom (blurred halo behind content) instead of
    tight offset copies that only made glyphs look bolder

0.1.19 — 2026-09-27

  • Windows AppBar: docked mode reserves top desktop strip (SHAppBarMessage)
  • Passive dock below sister tickers (MLB-TCKR / other *-TCKR) so bars don’t stack
  • Fullscreen yield: hide via opacity when a fullscreen app owns the monitor
  • Settings: “Docked (reserve desktop space)” checkbox (default on); undocked =
    floating always-on-top without AppBar

0.1.18 — 2026-09-27

  • Settings: optional "Glow team names" (team-color halo)
  • Settings: optional "Glow all items" (text glow + faint white logo glow)

0.1.17 — 2026-09-27

  • Settings: Content transparency slider (scores/logos/names/stats strip)
  • Renamed prior control to Background transparency for clarity

0.1.16 — 2026-09-27

  • Settings → General: Transparency slider (0% solid … 100% clear) for ticker
    background; persists as background_opacity

0.1.15 — 2026-09-27

  • Scroll debug default OFF; enable with python NFL-TCKR.py --debug
    (or NFL_TCKR_SCROLL_DEBUG=1; =0 forces off)

0.1.14 — 2026-09-27

  • Residual scroll judder: drive animation from DwmFlush VBlank (MLB _VBlankDriver),
    not QTimer — fixed dx still phase-drifted vs the display refresh
  • Each VBlank: fixed px/refresh + synchronous repaint() before compositor deadline
  • QTimer remains fallback if DwmFlush unavailable; SCROLL_DEBUG shows clock=VBlank|QTimer

0.1.13 — 2026-09-27

  • Scroll judder: fixed px/tick at ~display refresh (no wall-clock dt catch-up)
    — kills dx swing from 8 ms timer jitter (logs: spikes=0 but dx 0.2–5.3 px)
  • Skip STRIP rebuild when slate fingerprint unchanged (scoreboard poll + QB rotate)
    — stops ~5 s / refresh 32k pixmap hitches when cards look identical
  • Preserve scroll offset across rebuilds; SPIKE threshold 1.5× for softer cadence hits
  • SCROLL_DEBUG summaries include fixed step=…px

0.1.12 — 2026-09-27

  • Fix name Y: center on actual KeepAspectRatio logo height (was using request box
    79px while logos draw at ~59px → names sat low beside logos)
  • Extra optical lift (~logo_h/8); one-shot [CARD] align coordinate log
  • Scroll debug default ON (SCROLL_DEBUG=True); NFL_TCKR_SCROLL_DEBUG=0 to silence
  • All [SCROLL]/DEBUG] prints flush=True; loud startup "[SCROLL] profiler enabled"

0.1.11 — 2026-09-27

  • Card layout: team names optically centered on logos (QB stats still under name)
  • Was centering name+QB as one block, which sat names too low beside the logo
    (incomplete: still used logo_size box, not pixmap height — fixed in 0.1.12)

0.1.10 — 2026-09-27

  • Scroll judder profiler: NFL_TCKR_SCROLL_DEBUG=1 (dedicated; API DEBUG can stay off)
  • ~1s summaries: tick/paint dt min/avg/max/jitter/stdev, dx, offset, pause state
  • Immediate SPIKE lines when tick dt > 2× timer target or paint interval > 2× VBlank
  • Logs STRIP rebuilds (pixmap recompose hitch risk)

0.1.9 — 2026-09-27

  • Smooth scroll: PreciseTimer ≤8 ms + delta-time px/ms (MLB QTimer path; kills ~1 Hz judder beat)
  • Strip is a DPR-aware QPixmap; paint blits via QPointF (no per-frame rescale)
  • SmoothPixmapTransform only at DPR<2; LED background cached

0.1.8 — 2026-09-27

  • Settings: Team Colors tab (AFC/NFC divisions) with Primary/Secondary/Tertiary/Custom
  • Defaults seeded from NFL team color guide hexes; overrides persist in Settings.json
  • get_team_color matches MLB model (per-team slot int or custom hex → names + flash)

0.1.7 — 2026-09-27

  • Consistent inter-card gap: fixed ~3× ticker height (MLB-style) in strip composer
  • No longer embeds tiny trailing spacing in each card (avoids pregame bunching)

0.1.6 — 2026-09-27

  • Player surnames keep multi-part / suffixes (Beckham Jr., Penix Jr., Cook III)
  • Prefer ESPN athlete lastName; unified format_player_lastname for QB + scoring flash

0.1.5 — 2026-09-27

  • Pregame: hide 0-0 score digits (kickoff/vs only until live/final)
  • Scoring flash: team-color sweep overlay on new ESPN scoringPlays (live only)
  • Alert text: PASS / RUN / FIELD GOAL / SAFETY / 2PT / XP; dedupe by play id
  • DEBUG notes when a scoring flash is queued/shown

0.1.4 — 2026-09-27

  • Finals: hide last-play text under the score (show "F" only)

0.1.3 — 2026-09-27

  • DEBUG console logs for ESPN GETs (endpoint, status, ms) + abbreviated payloads
  • Parsed-game digests include scores, situation, QB lines (game vs season scope)
  • Gate with NFL_TCKR_DEBUG (default ON; set 0/false/off to silence)

0.1.2 — 2026-09-27

  • QB stats: live + final use this game's boxscore passing; pregame uses season leaders
  • Pregame season lines formatted as C/ATT YDS TD Int (from competitor passingLeader)

0.1.1 — 2026-09-27

  • Logos 2× size on score cards
  • Smaller kickoff / clock time font
  • QB/player stats use Gotham Black (+ MLB-TCKR size formula), matching MLB player text

0.1.0 — 2026-09-27

  • Initial NFL ticker (sibling to MLB-TCKR)
  • ESPN scoreboard + summary fetch for scores, situation, QB boxscore
  • Layout: logos, team-colored names, center score / down & distance
  • Last play under score (wraps to 2 lines), ball-on text, possession football icon
  • QB stats under team names; rotate when ≥2 QBs with ≥4 pass attempts
  • Settings: name display (team / city / both / abbr), refresh, height, filters
  • System tray + hover-to-pause scrolling bar