TV Guide Credits Scroller greybox v1
by tool
by part
collapse all expand all
Themes & defaults
Export theme…
Import theme…
include banners, header styles & blocks
Save current as my defaults
Forget my defaults
A theme is every setting except the patron name lists, as a .json file: send it to the editors and they import it to get the exact same look. Importing applies it straight away; "Save current as my defaults" makes this browser's Reset button come back to it.
Timing
End behavior scrollOff — last row exits under header at end stopAtEnd — last row parks at bottom
Lead-in locked — first header already locked at t = 0 scrollIn — content scrolls in from the bottom
Hold at start (frames frozen before scrolling)
Cable-box load-in (frames, 0 = off)
Load-in: the grid first shows only its solid background, then the boxes pop in top to bottom, then the text and images. Hold keeps the scroll frozen (the clock still ticks); the total duration doesn't change, so the scroll runs a little faster to make up for it.
Ease in after the hold (frames, 0 = jump to speed)
Ease-in curve ease in-out (sine) smooth (smoothstep) smoother (smootherstep) ease in (gentle start) ease out (gentle finish) linear (constant acceleration)
Scroll motion whole pixels (crisp) smooth sub-pixel (even, a touch soft)
Exec → Producers speed change (frames)
Speed-change curve ease in-out (sine) smooth (smoothstep) smoother (smootherstep) ease in (gentle start) ease out (gentle finish) linear (constant acceleration)
The scroll accelerates from standstill to full speed over the ease-in, and glides between the two section speeds over the speed change (centred on the moment the Producers header locks). Speeds are re-solved so the total still lands exactly on the last frame. Whole pixels keeps everything crisp but steps unevenly when the speed isn't a whole number of pixels per frame; sub-pixel blends rows between pixels for an even glide (locked headers and the clock stay crisp).
Grid
Seed (episode #)
Channel start
Min font scale
Exec names per row
Exec banner every N rows (0 = off)
Producer names per row
Producer banner every N rows (0 = off)
Exec header title
Producers header title
Headers
Header height (px at 1080p)
Clock in every header (moves with it) pinned — stays at the top, headers slide under it
Pinned clock style
Exec header style
Producers header style
Opening header
Opening header text
Opening header style
The opening header is the very first header, above the Executive Producers header (a date, the episode number…). With the locked lead-in it's what's showing at t = 0, then the Exec header pushes it out. Pair it with "Hold at start" so it stays up for a moment. Blocks placed at "Start" sit under it.
Header styles
Banners & blocks
A block is an optional header followed by any number of banners: a single banner, a banner with a header on top, or one header with several banners under it. A block's header locks at the top like a section header until the next header pushes it out. Banners, blocks and header styles are saved in this browser (… ); export the library to back them up.
Every-N-rows queue Add Clear
Inserted every N rows (set per section in Grid), cycling through this list in order.
Fixed placements at the start under the Exec header between the sections under the Producers header at the end Add
Banners New banner Export library Import library
Blocks New block
Block name
Header on top
Header text
Header style
Bring the section header back after this block (when names follow)
Banners in this block Add
Done Duplicate Delete block
Look — bevels & colours
Bevel size (px at 1080p)
Gap between boxes (px)
Reset look to defaults
Row height (px at 1080p)
Banner height (px at 1080p)
The image replaces the blue gradient above the header bar (behind the video window and promo panel). With "contain", the gradient shows around it. Saved in this browser; included in exported themes when "include banners…" is ticked.
Header bars take their colours from header styles (Headers panel), banner boxes from each banner preset. The bevel is the light top-left / dark bottom-right edge, the same size on every box.
Fonts
Choose the assets/fonts folder once; subfolders inside it are scanned too. The fonts are kept in this browser (… ), so they're still here next time. Added a font to the folder? Click Rescan folder . Characters a font doesn't have (emoji, non-Latin) fall back to the default font.
Choose fonts folder…
Rescan folder
Add font files…
Exact px sets the font size in render pixels and overrides Size %. Use it for pixel fonts: PrevueGrid is drawn on a 25-pixel grid, so 25 px makes every font pixel exactly one screen pixel (the faint number is the automatic size). Size % scales that text from its normal size. Width % squeezes it horizontally (92 = the greybox's condensed look; use 100 for fonts that are already narrow). Untick Bold for pixel fonts — the browser fakes bold by smearing them.
Use Names font everywhere
Reset fonts
Set up for a pixel font
Text style — alignment, padding, shadow, stroke
Text rendering smooth (anti-aliased) pixel — no anti-aliasing, blocky
Text pixel size (×, pixel mode)
Reset text styles
For the full crisp low-res look: set Output → Internal render to e.g. 640x480 and Upscale to nearest , then pick pixel text here. Everything is drawn at that small size and blown up with hard pixels on export.
Padding is the gap between the text and the inside of the box's bevel (px at 1080p). "2 lines" lets long text wrap onto a second line instead of shrinking. The box never changes size, so if two lines don't fit the row height the text gets a bit smaller to fit (raise Row height in Look for room). Shadows and strokes are solid (no blur).
Header clock
Clock box shows the live clock custom text
Custom clock text
Clock start (H:MM:SS, 24h ok)
Custom text replaces the clock in its box everywhere (every header, or the pinned clock). It's shrunk to fit the box like any other text; Min font scale applies.
Promo panel
Promo panels (one per line; | starts a new line inside a panel; image: name.png shows a promo image, add | text to write over it)
Promo interval (seconds)
Transition
cut
wipe ← wipe →
wipe ↑ wipe ↓
push ← push → push ↑ push ↓
barn doors blinds crossfade
mix
Transition length (frames)
Transitions play at the start of each panel (not the first). Adding an image with the same name as one already here replaces it, so re-exported designs update in place. Saved in this browser; included in exported themes when "include banners…" is ticked.
Output
Video window aspect 4:3 (podcast footage, 3328×2496) 16:9 3:2 1:1
Export region full frame grid only — crop to the scrolling area, no top
Top area (above the bar) video window + promo panel blank — whole top is the video fill colour
Video window style flush — top-left corner down to the header bar boxed — inset with a thin frame
Video window fill black (empty; composite footage over it) chroma green (#00FF00) chroma blue (#0000FF) custom colour →
Custom fill colour
Bitrate Mbps (0 = auto: 40 at 1080p, 100 at 4K)
Output resolution 3328×2496 — podcast master (4:3) 1664×1248 — half size (4:3) 640×480 — native SD (4:3, PrevueGrid 1:1 at 25 px) 1920×1080 3840×2160 custom…
Internal render off — draw at the output size 640×480 (4:3) 832×624 (exactly ¼ of 3328×2496) 416×312 (exactly ⅛ of 3328×2496) 720×540 (4:3) 720×480 (DV, anamorphic) custom…
Upscale smooth (soft SD) nearest neighbour (hard pixels)
Whole-pixel scaling (even bevels)
Design scale
Row heights, fonts and tile widths scale with the frame height (1.0 = the 1080p look). Lower the design scale to fit more rows or longer names in a 4:3 frame. Internal render draws everything at that small size, then scales it up to the output resolution. With nearest neighbour, a whole-number ratio gives perfectly even pixels: 832×624 and 416×312 divide 3328×2496 exactly, while 640×480 is 5.2× so some pixels come out 5 wide and some 6.
Names
Load test data
Sort A→Z (case-insensitive)
Executive Producers (one per line)
Podcast Producers (one per line)
Channel names / callsigns (one per line)
First channel names (one per line; used once each, in this order, before the list above)
Word filter
Censors producer names on screen (the lists above aren't changed). One word per line: word swaps its first vowel for *; word = replacement uses your own text. Matches ignore case and also catch the word inside a longer name; put it in quotes ("word") to match only the whole word, so short words don't hit inside other names.
Words to filter
No names changed.
Patreon CSV import
Drop a Patreon members CSV here, or choose a file .
Name column
Tier column
Status column
Executive Producers tier
Podcast Producers tier
Active patrons only
Fill name lists from CSV
Diagnostics
Keys: Space play/pause · ← /→ frame step (Shift = 1 s) · Home /End · preview size 0 fit, - /= zoom out/in
Reset settings to defaults
Settings and name lists persist in this browser. Reset goes back to your saved defaults if you have any (Themes & defaults, top of this panel).