Files
zemion 88c2bcd0ff
Verify / verify (push) Canceled after 0s
Release Subtitle Tools 0.2.0
2026-09-02 08:44:49 +02:00

2.0 KiB

Subtitle Tools

Edit, validate, synchronize, compare, and convert subtitle files locally in the browser. Subtitle Tools is an independently versioned application in the add·ideas Toolbox.

Version 0.2 scope

  • Bounded SRT, WebVTT, ASS/SSA and flat-profile TTML/DFXP parsing
  • Cue timeline, add/duplicate/split/merge/delete operations, direct text/timestamp editing, cue text transforms and configurable diagnostics for overlaps, order, duration, reading speed, line count and line length
  • Shift and anchor-based stretch operations, negative-time protection, source/target frame-rate conversion and frame-grid snapping
  • SRT, WebVTT, ASS and safe flat TTML serialization with format-specific preservation where possible and a visible cross-format loss warning
  • Deterministic index-aligned revision comparison
  • Immediate browser-native audio/video playback while cancellable, worker-based waveform peak extraction continues; failed or stale jobs retain the last valid waveform; the scrollable waveform provides zoom, cue selection, previous/next navigation and a live playhead
  • UTF-8, UTF-16 LE/BE and ISO-8859-1 file decoding

All source, media and generated output stays in the current browser. The app makes no external request. Validation is configurable editorial guidance, not a broadcast, accessibility, or legal compliance certificate. Version 0.2 does not perform speech recognition, automatic alignment, semantic revision matching, or pixel-perfect ASS rendering. TTML regions, styling definitions and inherited timing are not laid out; cue-level references are inspected and export is a flat, resource-free profile.

Development

Requires Node.js 22 and npm 11.

npm ci
npm run check
npm run test:browser

Release

npm run release:artifact creates the deterministic release/subtitle-tools-0.2.0.zip and checksum sidecar.

Licence

GPL-3.0-or-later. Runtime dependencies retain their own licences; see THIRD_PARTY_NOTICES.md.