Skip to content

Add manual speaker controls - #58

Merged
wassgha merged 1 commit into
mainfrom
cursor/manual-speakers-de2b
Aug 2, 2026
Merged

wassgha merged 1 commit into
mainfrom
cursor/manual-speakers-de2b

Conversation

@wassgha

@wassgha wassgha commented Aug 2, 2026 •

Copy link
Copy Markdown
Owner

Summary

Speaker labels in the transcript are no longer static Speaker N text. Users can rename, reassign, add, move, merge, and remove them:

  • Rename — click a label (or use the ⋯ menu) and type a new name; updates every occurrence
  • Change speaker — pick another speaker (or create one) for a whole turn, or for a word selection via the toolbar Speaker button / @
  • Add speaker — create a new named speaker while changing a turn or selection
  • Move label — drag the grip on a turn header to slide the boundary with the previous speaker
  • Replace in project — merge all of one speaker into another
  • Remove from project — drop a speaker; their turns join the speaker above in the script

Implementation notes

  • New SpeakerInfo { id, name } list lives in editor state and undo snapshots
  • Pure helpers in lib/speakers.ts (covered by tests/speakers-test.ts)
  • Names round-trip through IndexedDB projects and SRT / VTT / JSON / TXT / MD export
  • JSON export now includes a speakers array for named round-trips
  • Selection freeze shared with Correct so the Speaker picker can take focus without clearing the selection

Testing

  • npx tsx tests/speakers-test.ts
  • npx tsx tests/parse-transcript-test.ts
  • npx tsx tests/serialize-transcript-test.ts
  • npx tsc --noEmit
  • Playwright UI smoke: rename, create from selection, move boundary, remove
Screenshot 2026-08-02 at 11 07 40 AM Screenshot 2026-08-02 at 11 07 46 AM Screenshot 2026-08-02 at 11 08 15 AM

Alice and Bob imported
Renamed to Alicia
Created Carol from selection
Moved speaker boundary
Removed speaker from project

Open in Web Open in Cursor 

@cursor cursor Bot changed the title Add Descript-style manual speaker controls Add manual speaker controls Aug 2, 2026
@cursor
cursor Bot force-pushed the cursor/manual-speakers-de2b branch from 445b333 to 0a90a0a Compare August 2, 2026 18:30
Let users rename, reassign, add, move, merge, and remove speakers in the
transcript. Names persist through undo/redo, project saves, and
import/export (SRT/VTT/JSON/TXT/MD).

Co-authored-by: Wassim Gharbi <wassgha@gmail.com>
@cursor
cursor Bot force-pushed the cursor/manual-speakers-de2b branch from 0a90a0a to 1964349 Compare August 2, 2026 18:42
@wassgha
wassgha marked this pull request as ready for review August 2, 2026 21:09
@wassgha
wassgha merged commit bfd6960 into main Aug 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants