Repository navigation
Captions under the episode page's player, with speakers; notes cropped to the Ready card - #19
Merged
Merged
Conversation
An episode with a timed transcript, its feed's or one made by the
transcription service, now gives the page's player a captions track
(/episodes/{id}/captions.vtt: the transcript as WebVTT, moved to fit the
cut, with SRT and JSON ones turned into WebVTT). Browsers draw nothing for
an audio element's track, so app.js reads its cues and shows them in a box
under the player: the line being said, and the one before it, dimmed. A
Captions button hides them, and the browser remembers that.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01HtVgTsLHo5Gsz45gz4ceJ7
A cue with a voice (WebVTT's <v Name>, which JSON transcripts' speakers become) now shows the name before its words. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01HtVgTsLHo5Gsz45gz4ceJ7
Captions made by the transcription service come with the speaker turns it found. The page's captions now give each cue the voice heard most during it, lettered by how much each voice talks (A most, often the host), and the box shows names as "A:". The private feeds' captions are unchanged, and episodes captioned before this get letters too, since they're added as the captions are served. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01HtVgTsLHo5Gsz45gz4ceJ7
When the notes sit beside a ready episode's card, they take its height, fading out where they're cut off. More now shows whenever the notes are cropped, measured in the browser, rather than for notes over 600 characters; stacked on narrow screens they keep their 12-line clamp. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01HtVgTsLHo5Gsz45gz4ceJ7
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.
Captions under the player
An episode with a timed transcript (its feed's, or captions from the whisper container) now shows it under the episode page's player as it plays: the line being said, and the one before it, dimmed.
GET /episodes/{id}/captions.vtt: the transcript as WebVTT, moved to fit the cut. SRT and JSON transcripts are converted (chapters.captions()).app.jsreads the cues and fills a fixed-height box under the player. It shows once playback starts and clears on a seek.localStorage.Speakers
<v Host>in WebVTT,speakerin JSON) showHost:before the words.A:,B:,C:by how much each talks, so A is usually the host. The letters are added as the captions are served, so episodes already captioned get them too. The private feeds' captions are unchanged.Show notes
Testing
ruffis clean.Generated by Claude Code