From: Carl Hetherington Date: Fri, 12 Feb 2016 00:28:25 +0000 (+0000) Subject: Basic SSA support (#128). X-Git-Tag: v2.6.21~10 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=4155e64244c9a975a11b491d0a0822fe90abc2f8 Basic SSA support (#128). --- diff --git a/ChangeLog b/ChangeLog index 368935f2d..ac5fe0333 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2016-02-12 Carl Hetherington + + * Add basic support for SSA (SubStation Alpha) subtitles (#128). + 2016-02-09 Carl Hetherington * Version 2.6.20 released. diff --git a/cscript b/cscript index 0d54fb467..b9b683f04 100644 --- a/cscript +++ b/cscript @@ -281,7 +281,7 @@ def dependencies(target): return (('ffmpeg-cdist', '96d67de', ffmpeg_options), ('libdcp', '4e38f82'), - ('libsub', '4e4e5f7')) + ('libsub', 'd79b29f')) def configure_options(target): opt = '' diff --git a/src/lib/text_subtitle.cc b/src/lib/text_subtitle.cc index d55ff68d7..7faecb459 100644 --- a/src/lib/text_subtitle.cc +++ b/src/lib/text_subtitle.cc @@ -22,6 +22,7 @@ #include "exceptions.h" #include "text_subtitle_content.h" #include +#include #include #include #include @@ -65,8 +66,17 @@ TextSubtitle::TextSubtitle (shared_ptr content) ucnv_close (to_utf16); ucnv_close (to_utf8); - sub::SubripReader reader (utf8.get()); - _subtitles = sub::collect > (reader.subtitles ()); + sub::Reader* reader = 0; + + if (content->path(0).extension() == ".srt" || content->path(0).extension() == ".SRT") { + reader = new sub::SubripReader (utf8.get()); + } else if (content->path(0).extension() == ".ssa" || content->path(0).extension() == ".SSA") { + reader = new sub::SSAReader (utf8.get()); + } + + if (reader) { + _subtitles = sub::collect > (reader->subtitles ()); + } } ContentTime