GSoC/2024/StatusReports/ChengkunChen

From KDE Community Wiki
< GSoC‎ | 2024‎ | StatusReports
Revision as of 16:34, 25 August 2024 by Seri (talk | contribs) (Update for the final submission.)

Improved subtitling support for Kdenlive

Kdenlive saves its subtitles in the SRT format, which only allows very basic styling features - that means only one style for the complete subtitle file. A more advanced file format like ASS (SubStation Alpha Subtitles) would allow much more powerful styling, for example attributing different styles to different speakers, proper styling (using bold, italic or colors on words or sentences only), etc.

Currently, Kdenlive can already read basic ASS files (without styling support). I'll improve Kdenlive's support for ASS files. Expecting results include opening and saving an ASS subtitle and keeping the styling infos, implementing a widget allowing to create styles and attribute a style to a subtitle sentence, and adding some attributes like bold to selected parts of the text.

Work report

Week 1-2

  • Added initial support for reading and saving embedded fonts in ASS subtitles.
  • Optimized the storage method for subtitle styles.
  • Migrated from V4Style to V4+Style.

Week 3-6

  • Created a SubtitleEvent class to help us better manage subtitle event information, which can replace the original SubtitledTime class.
  • Added basic display support for subtitle layers as multiple subtitle tracks.

Week 7-8

Multiple Subtitle Track

  • Enable user to add new layers directly on the timeline by simply dragging the existing subtitle out of the bottom border of the subtitle track.
  • Added an indicator to the header of the subtitle track.

Improved Subtitle Manager

  • Added basic layer management in Subtitle Manager.

Automatic Conversion of .srt Subtitle

  • Automatically convert the .srt files from old projects to .ass files while keeping the original .srt file.

Week 9-10

Enhanced Subtitle Editor

  • Easily modify elements such as the event’s layer, style, margins, and more.

  • Control subtitle scrolling by simply adjusting checkboxes and combo boxes for speed, direction, and range.

  • A highlighter renders different parts of the tags in distinct styles, making them more distinguishable.
  • An auto-completer automatically lists all valid presets as we start typing a override tag name.

Week 11-12

  • A new widget, the Style Editor, was created to edit styles and provide a preview.

  • Old styles will now be automatically converted to the “Default” style in the new project. Font size, outline, and shadow will be scaled to maintain the original effects.
  • We can assign different default styles to each layer, which will automatically be applied to a subtitle event when it’s created on the corresponding layer.
  • A "Simple Editor" that syncs with the normal editor but displays only the text without tags while rendering some basic tag effects.

Subtitle Manager

  • Subtitle Manager is now integrated with style management and has been divided into four sections: File, Event, Style, and Info.
  • Move/Copy layers/styles by simple drag-and-drop.

Links to Blogs and other writing

Reports on Planet KDE

Intro blog of GSoC 2024 - Kdenlive

GSoC '24 Progress: Week 1 and 2

GSoC '24 Progress: Week 3 - 6

GSoC '24 Progress: Week 7 and 8

GSoC '24 Progress: Week 9 - 12

Related Merge Requests

Improve the ASS format subtitling support

Update doc with new subtitle features

Related Issues

Improve the subtitle editor