diff --git a/Dictionaries/eng_OCRFixReplaceList.xml b/Dictionaries/eng_OCRFixReplaceList.xml index d39f36163be..65f39943d7b 100644 --- a/Dictionaries/eng_OCRFixReplaceList.xml +++ b/Dictionaries/eng_OCRFixReplaceList.xml @@ -1,6 +1,10 @@  + + + + @@ -3394,6 +3398,8 @@ + + diff --git a/Dictionaries/nld_OCRFixReplaceList.xml b/Dictionaries/nld_OCRFixReplaceList.xml index b414456b41d..502b7ed688c 100644 --- a/Dictionaries/nld_OCRFixReplaceList.xml +++ b/Dictionaries/nld_OCRFixReplaceList.xml @@ -165,9 +165,9 @@ - - - + + + @@ -225,6 +225,9 @@ + + + diff --git a/Ocr/Cyrillic.nocr b/Ocr/Cyrillic.nocr index e9f840891ce..add31e6edb0 100644 Binary files a/Ocr/Cyrillic.nocr and b/Ocr/Cyrillic.nocr differ diff --git a/Ocr/Latin.nocr b/Ocr/Latin.nocr index cf4d34d5417..f9fa04069a0 100644 Binary files a/Ocr/Latin.nocr and b/Ocr/Latin.nocr differ diff --git a/change-log.txt b/change-log.txt index 6e8d217f15c..46367a8923e 100644 --- a/change-log.txt +++ b/change-log.txt @@ -3,6 +3,98 @@ Subtitle Edit Changelog ----------------------------------------------------------------------------------------------------- +v5.4.0-beta2 (19th of October 2026) + +* Add Multiple replace: "Add rules" window for typing a list of find/replace pairs, toolbar "New rule" button, F2 and Cmd shortcuts - thx kadrimarzouki +* Add setting for what to do when the subtitle file is changed by another program: reload if nothing is unsaved, always ask, or do nothing - thx kadrimarzouki +* Add ask before saving over a subtitle file changed outside Subtitle Edit - thx kadrimarzouki +* Add waveform toolbar item "Rule profile" (hidden by default, enable in Configure toolbar items) - thx torvchen +* Add "Ignore custom tags (regex)" rule setting for character counts and CPS - thx chip00-dot +* Add Speech to text: custom GGUF models for Qwen3 ASR CPP with header validation - thx ScienceZone +* Add Text box: record speech to text box button via microphone (off by default, Options > Appearance) +* Add Remux video: caption time offset for broadcast .scc/.mcc files (suggested from the first time code) - thx MaxBunny1786 +* Add Check for updates: settings gear for startup check and release channel - thx ivandrofly +* Add Batch convert: search box for the functions, shorter rows, presets below the list +* Add Batch convert: resizable splitter between file list and functions - thx ivandrofly +* Add nOCR: more Latin.nocr glyphs (Avatar periods/commas, em dash, short-tailed Q, touching pairs) +* Editor look palette now follows the theme, dark background color and system accent - thx pdjdev +* Editor look for the message box and the transcription progress window; more minor UI fixes (download title, burn-in effect switches, disabled text boxes, OCR database, move captions) +* Prevent sleep during the remaining long video jobs (generate/re-encode/cut/remux video, embedded subtitles, transparent subtitles, shot changes, video OCR, sync audio, background music) - thx ArcherLegend +* Batch convert/seconv: skip "Fix right-to-left" on subtitles without right-to-left text +* MCC/SMPTE 291M: parse CDP packets with an optional time code section - thx MaxBunny1786 +* nOCR: challenge a loose upright match with the straightened glyph, split touching italic letters, match baseline marks by baseline, italic word spacing, dashes beside quotes, false spaces inside numbers, lost spaces after overhanging f/r/t - thx fraternl, Codling +* OCR fix engine: slash as italic i/I/l, "#" between letters as apostrophe, closing tag slash, sans-serif capital I ("lk" -> "Ik"), wide-set ellipsis ". . ." - thx fraternl +* Auto-wrap while typing: leave pre-existing long lines alone - thx kadrimarzouki +* Export plain text: label merge option "Merge all lines" like SE4 - thx vivadavid +* Update audio.cpp runtime to v0.9.2-drama3 (2026-10-19) +* Fix waveform click inside a subtitle shifting its timing - thx 114562175, ChristosBouronikos +* Fix "Select current subtitle while playing" lost after a settings import - thx kadrimarzouki +* Fix imported layout sizes and waveform zoom lost after a settings import - thx kadrimarzouki +* Fix live spell check underlining the original text column in translation mode - thx kadrimarzouki +* Fix nOCR 2x2 "character" prompted for the foot cut off "a", "R", "x" - thx Codling +* Fix nOCR "Number of pixels is space" combo not showing the selected value - thx Codling +* Fix DashScope OSS multipart uploads for Qwen3-ASR - thx Gh-Shinku +* Update Japanese translation - thx hisui3393 +* Update Korean translation - thx 12si27 + +----------------------------------------------------------------------------------------------------- + +v5.4.0-beta1 (18th of October 2026) + +* Add "Sync subtitle to audio" (Video > More): ffsubsync-style offset and frame rate detection +* Add "Sync audio track" (Video > More): shift one audio track with live preview +* Add export of D-Cinema SMPTE 2014 as MXF track file (SMPTE ST 429-5), text and image subtitles, also in seconv +* Add "Export Excel dialogue list" (.xlsx) with chosen columns +* Add Remux video: CEA-608/708 as SEI captions in .mp4 - thx MaxBunny1786 +* Add "Check for updates": install and restart (Windows installer, Linux tarball, macOS) +* Add Voxtral TTS (audio.cpp) engine, audio.cpp runtime 2026-10-16 (v0.9.2) +* Add "Custom error rules": regex rules that color lines as errors - thx JohnLawes +* Add "Auto-wrap while typing" setting (Options > General) - thx kadrimarzouki +* Add "Apply advanced effect": CapCut-style gallery and six new caption effects +* Add Batch convert: plain text options - thx vivadavid +* Add Batch convert: run batch-capable plugins +* Add "Open from URL": cookies from browser and bot-check hint - thx aresstokrat +* Add video player: optional previous/next subtitle and toggle subtitles buttons - thx benshgit +* Add llama.cpp OCR models QARI-OCR 0.2.2.1 (Arabic), LightOnOCR-3 4B and 0.8B; thin border instead of square for HunyuanOCR and QARI - thx fraternl +* Add shortcuts "split line at video position / text box cursor / both, go to second part and play" - thx LeonCheung +* Add shortcuts to move selected/following/all lines one frame back/forward - thx Kimsihong +* Add shortcut "move text before cursor position to previous subtitle" - thx LeonCheung +* Add shortcuts to copy plain text (text and original) +* Add "Has errors" rule to Modify selection - thx fointypinger +* Add case conversion escapes (\u \l \U \L \E) in Multiple replace regex replacements +* Add image color picker in the color dialog - thx pdjdev +* Add Uninstall button to Spell check > Get dictionaries - thx ivandrofly +* Add type-ahead and right-click Remove in Options > Word lists - thx FunkyKnilch, ivandrofly +* Add Re-copy button in Copy-paste translate +* Add OCR: Ctrl+mouse wheel and Ctrl+0 for image thumbnail zoom, progress text below the progress bar +* Add Image viewer: step prev/next in place instead of reopening the window +* Add seconv: --burn-in-video, --burn-in-ffmpeg-args and --burn-in-effects - thx zbcoding +* ASSA draw: text and shapes, groups, rubber-band selection, Ctrl+click, in/out and loop animations, many new clip arts (also animated and colored), delete point, arrow nudge +* ASSA windows in the ASSA draw look: styles, properties, attachments (drop files to attach), Set position (anchor grid, rotation), Set background (style gallery, 12 new borders), progress bar (16 new bar styles), apply override tags, resampler, font collector, style picker, tag history - also SSA and WebVTT styles, following the app theme +* Editor look for the remaining windows (burn-in, video, sync, edit, spell check, OCR, tools, settings) with live theme switching +* One field look for text boxes, combo boxes and lists; time controls with arrows on hover +* Waveform: ASSA lines with the same times move and resize together +* Select line at play-head while paused without requiring "center" - thx jojorne +* Choose layout: arrow Up/Down and Enter +* Change casing: dim normal casing options unless "Normal casing" is selected - thx ivandrofly +* Advanced llama.cpp translate: turn thinking off after a reasoning-only reply; refresh auto-translate model lists +* nOCR: many recognition improvements for Latin and Cyrillic (ligatures, period/dash and comma/apostrophe by baseline, touching letters, accent case, word spaces, italic, 0/O from neighbours) +* Minor UI fixes in many dialogs +* Fix auto-sized windows clamped to a short screen (scroll) - thx vivadavid +* Fix SCC save: monotonic timeline, load after previous display - thx tmwiscon +* Fix fullscreen video keyboard focus, UI hang on PageUp in the menu bar and fullscreen previous/next line shortcuts - thx vitonique +* Fix 500 ms / custom ms steps moving only a few frames after play/pause - thx chip00-dot +* Fix crash on close with libmpv (destroy the core after the render context) +* Fix Spell check window not remembering its position - thx Numbergod +* Fix Word lists Language combo changes not announced to screen readers - thx Shaima-Almarzooqi +* Fix seconv splitting a file name with commas into patterns +* Fix seconv/Batch convert VobSub colour isolation for nOCR and BinaryOCR +* Update Bulgarian and Russian translation - thx jekovcar +* Update Korean translation - thx 12si27 +* Update Polish translation - thx potplayer-fanpack + +----------------------------------------------------------------------------------------------------- + v5.3.0 (14th of October 2026) Subtitle Edit 5.3 collects the work of 26 betas and 4 release candidates. diff --git a/docs/features/edit.md b/docs/features/edit.md index 30d167245df..bf0e117f983 100644 --- a/docs/features/edit.md +++ b/docs/features/edit.md @@ -84,7 +84,7 @@ The window is split into two resizable panels: | Panel | Description | |---|---| -| **Left — Rules** | Tree of categories and their rules. Each rule shows its type icon, find pattern, replacement, and an optional description. | +| **Left — Rules** | Tree of categories and their rules. Each rule shows its type icon, find pattern, replacement, and an optional description. The buttons above the tree add a category, add a rule, open **Add rules** (a whole list in one go), import rules, and collapse or expand all categories. | | **Right — Fixes** | Preview of all lines that will be changed. The **Before** column highlights removed characters in red and the **After** column highlights added characters in green. Selecting a row reveals an **Applied rules** detail panel at the bottom listing every rule that matched that line. | ### Choosing which fixes to apply @@ -124,6 +124,7 @@ Right-click a category node to open its context menu: - **Edit** — rename the category - **New category** — add a sibling category - **New rule** — add a rule to this category +- **Add rules...** — add a list of rules to this category in one go (see [Adding many rules at once](#adding-many-rules-at-once)) - **Move up / Move down** — reorder categories - **Move to top / Move to bottom** — move the category to the first or last position - **Delete** — remove the category and all its rules @@ -137,18 +138,32 @@ Right-click a rule node to open its context menu: - **Edit rule** — change find/replace text, type, and description - **Duplicate** — insert a copy of the rule above the current one - **Insert before / Insert after** — add a new rule relative to this one +- **Add rules...** — add a list of rules right after this one (see [Adding many rules at once](#adding-many-rules-at-once)) - **Move up / Move down** — reorder within the category - **Move to top / Move to bottom** — move the rule to the first or last position in the category - **Move to category** — move the rule to the end of another category - **Delete** — remove the rule -Double-clicking a rule also opens the **Edit rule** dialog. +Double-clicking a rule also opens the **Edit rule** dialog. A new rule is selected and scrolled into view, also at the end of a long category. + +### Adding many rules at once + +**Add rules** (the toolbar button, the context menu, or `Ctrl+Shift+N`) opens one window for a whole list of find/replace pairs - a word list does not need a **New rule** dialog per word. The rules go to the end of the selected category, or right after the selected rule. + +- Type the text in **Find what** and **Replace with** and press `Enter`: the pair is added to the list below and the cursor goes back to **Find what** for the next one. `Tab` moves between the two boxes. +- The type (case insensitive, case sensitive, regular expression) and **Whole word** stay as set for every rule you enter. They start as the neighbouring rule's, so a list of words usually needs them set once. +- Double-click a row in the list (or press `Enter` on it) to take it back into the boxes and correct it; `Delete` or the trash button removes it. +- **OK** (or `Ctrl+Enter`) adds the list to the category; a pair still in the boxes is added too. **Cancel** asks before throwing away a list that was entered. + +The rules are added in the order they were entered, which is the order they run in. ### Keyboard shortcuts | Shortcut | Action | |---|---| | `Ctrl+N` | Add a new rule to the selected category, or insert after the selected rule | +| `Ctrl+Shift+N` | Open **Add rules** for the selected category or rule | +| `F2` | Edit the selected rule, or rename the selected category | | `Ctrl+D` | Duplicate the selected rule | | `Ctrl+F` | Find a rule by name / text | | `Ctrl+Up` / `Ctrl+Down` | Move the selected category or rule up / down (`Cmd` on macOS) | @@ -160,6 +175,8 @@ Double-clicking a rule also opens the **Edit rule** dialog. | `Escape` | Close the window | | `F1` | Open help | +On macOS `Cmd` works for every `Ctrl` shortcut above. The context menus show the shortcut next to each action. + The expand/collapse buttons (`+` / `−`) above the tree expand or collapse all categories at once (`Ctrl+Shift++` / `Ctrl+Shift+-`). > **Note:** `Ctrl+D` duplicates the selected rule, except while the fixes preview has focus — there it unticks every row, as in the other preview lists (see [Choosing which fixes to apply](#choosing-which-fixes-to-apply)). diff --git a/docs/features/remux-video.md b/docs/features/remux-video.md index 1e217015dd2..392bfcb34f6 100644 --- a/docs/features/remux-video.md +++ b/docs/features/remux-video.md @@ -54,7 +54,7 @@ With **Output format** `.mpg`, the subtitles are embedded as CEA-608 (and CEA-70 - The video must be MPEG-2. Any other video (H.264, HEVC, ...) is re-encoded to MPEG-2 after asking, which takes longer and lowers the quality a little - The audio is copied when it is MP2, MP3 or AC-3, and converted to AC-3 (192 kb/s) otherwise - Caption data the video already has is replaced -- Caption times are taken from the video's first frame, so SCC/MCC timecodes should start at 00:00:00:00 (not at a 01:00:00:00 tape start) +- Caption times are taken from the video's first frame. Broadcast SCC/MCC files often start at a 01:00:00:00 tape time instead; **Caption offset** is taken off every caption time, and is filled in with that whole hour when the file's first caption lies past the end of the video (captions that would come before the video are dropped) ffmpeg first writes the MPEG program stream, then Subtitle Edit adds the captions to the video; the progress bar shows both steps. To check the result: MediaInfo lists *Text* tracks "EIA-608" (and "EIA-708") muxed in the video, and `ffmpeg -f lavfi -i "movie=out.mpg[out0+subcc]" -map 0:1 out.srt` extracts it. diff --git a/docs/reference/command-line.md b/docs/reference/command-line.md index 201cfc9ad27..0d3ad085cbe 100644 --- a/docs/reference/command-line.md +++ b/docs/reference/command-line.md @@ -159,6 +159,9 @@ seconv lint *.srt --json # CI-friendly: exit 1 on any issue |---|---|---| | `--resolution:` | ASSA, image-based | Sets `PlayResX`/`PlayResY` for ASSA; sets canvas for image outputs (default `1920x1080`) | | `--assa-style-file:` | ASSA | Apply `[V4+ Styles]` block from another ASSA file | +| `--burn-in-video:` | ASSA | After writing the `.ass`, burn it into this video with ffmpeg's `ass` filter (needs ffmpeg on PATH). Output: `_burn-in.