summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-07-07 23:16:45 +0100
committerCarl Hetherington <cth@carlh.net>2018-07-07 23:16:45 +0100
commitba5915461f1622715a69fa25579e5e27e64fb079 (patch)
tree221ce87dfbac455c32459e07beb92b6003243e89 /test
parenta4fb6290e31f7e197cc399c745d320442eb093d4 (diff)
SubtitleString -> shared_ptr<Subtitle>
Diffstat (limited to 'test')
-rw-r--r--test/read_interop_subtitle_test.cc75
-rw-r--r--test/read_smpte_subtitle_test.cc52
-rw-r--r--test/smpte_subtitle_test.cc43
-rw-r--r--test/write_subtitle_test.cc504
4 files changed, 370 insertions, 304 deletions
diff --git a/test/read_interop_subtitle_test.cc b/test/read_interop_subtitle_test.cc
index 7febaab4..c91ba03c 100644
--- a/test/read_interop_subtitle_test.cc
+++ b/test/read_interop_subtitle_test.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
This file is part of libdcp.
@@ -44,9 +44,10 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1)
BOOST_CHECK_EQUAL (interop_lfn->id, "theFontId");
BOOST_CHECK_EQUAL (interop_lfn->uri, "arial.ttf");
- list<dcp::SubtitleString> s = subs.subtitles_during (dcp::Time (0, 0, 6, 1, 250), dcp::Time (0, 0, 6, 2, 250), false);
+ list<shared_ptr<dcp::Subtitle> > s = subs.subtitles_during (dcp::Time (0, 0, 6, 1, 250), dcp::Time (0, 0, 6, 2, 250), false);
BOOST_REQUIRE_EQUAL (s.size(), 1);
- BOOST_CHECK_EQUAL (s.front(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.front()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.front()), dcp::SubtitleString (
string ("theFontId"),
false,
false,
@@ -70,7 +71,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1)
s = subs.subtitles_during (dcp::Time (0, 0, 7, 190, 250), dcp::Time (0, 0, 7, 191, 250), false);
BOOST_REQUIRE_EQUAL (s.size(), 2);
- BOOST_CHECK_EQUAL (s.front(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.front()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.front()), dcp::SubtitleString (
string ("theFontId"),
true,
false,
@@ -91,7 +93,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1)
dcp::Time (0, 0, 0, 1, 250),
dcp::Time (0, 0, 0, 1, 250)
));
- BOOST_CHECK_EQUAL (s.back(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.back()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.back()), dcp::SubtitleString (
string ("theFontId"),
false,
false,
@@ -115,7 +118,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1)
s = subs.subtitles_during (dcp::Time (0, 0, 11, 95, 250), dcp::Time (0, 0, 11, 96, 250), false);
BOOST_REQUIRE_EQUAL (s.size(), 1);
- BOOST_CHECK_EQUAL (s.back(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.back()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.back()), dcp::SubtitleString (
string ("theFontId"),
false,
false,
@@ -139,7 +143,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1)
s = subs.subtitles_during (dcp::Time (0, 0, 14, 42, 250), dcp::Time (0, 0, 14, 43, 250), false);
BOOST_REQUIRE_EQUAL (s.size(), 1);
- BOOST_CHECK_EQUAL (s.back(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.back()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.back()), dcp::SubtitleString (
string ("theFontId"),
false,
true,
@@ -167,9 +172,10 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
{
dcp::InteropSubtitleAsset subs ("test/data/subs2.xml");
- list<dcp::SubtitleString> s = subs.subtitles_during (dcp::Time (0, 0, 42, 100, 250), dcp::Time (0, 0, 42, 101, 250), false);
+ list<shared_ptr<dcp::Subtitle> > s = subs.subtitles_during (dcp::Time (0, 0, 42, 100, 250), dcp::Time (0, 0, 42, 101, 250), false);
BOOST_REQUIRE_EQUAL (s.size(), 2);
- BOOST_CHECK_EQUAL (s.front(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.front()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.front()), dcp::SubtitleString (
string ("theFont"),
true,
false,
@@ -190,7 +196,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
dcp::Time (0, 0, 0, 0, 250),
dcp::Time (0, 0, 0, 0, 250)
));
- BOOST_CHECK_EQUAL (s.back(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.back()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.back()), dcp::SubtitleString (
string ("theFont"),
true,
false,
@@ -214,7 +221,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
s = subs.subtitles_during (dcp::Time (0, 0, 50, 50, 250), dcp::Time (0, 0, 50, 51, 250), false);
BOOST_REQUIRE_EQUAL (s.size(), 2);
- BOOST_CHECK_EQUAL (s.front(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.front()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.front()), dcp::SubtitleString (
string ("theFont"),
true,
false,
@@ -235,7 +243,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
dcp::Time (0, 0, 0, 0, 250),
dcp::Time (0, 0, 0, 0, 250)
));
- BOOST_CHECK_EQUAL (s.back(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.back()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.back()), dcp::SubtitleString (
string ("theFont"),
true,
false,
@@ -259,7 +268,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
s = subs.subtitles_during (dcp::Time (0, 1, 2, 300, 250), dcp::Time (0, 1, 2, 301, 250), false);
BOOST_REQUIRE_EQUAL (s.size(), 2);
- BOOST_CHECK_EQUAL (s.front(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.front()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.front()), dcp::SubtitleString (
string ("theFont"),
true,
false,
@@ -280,7 +290,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
dcp::Time (0, 0, 0, 0, 250),
dcp::Time (0, 0, 0, 0, 250)
));
- BOOST_CHECK_EQUAL (s.back(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.back()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.back()), dcp::SubtitleString (
string ("theFont"),
true,
false,
@@ -304,7 +315,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
s = subs.subtitles_during (dcp::Time (0, 1, 15, 50, 250), dcp::Time (0, 1, 15, 51, 250), false);
BOOST_REQUIRE_EQUAL (s.size(), 2);
- BOOST_CHECK_EQUAL (s.front(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.front()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.front()), dcp::SubtitleString (
string ("theFont"),
true,
false,
@@ -325,7 +337,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
dcp::Time (0, 0, 0, 0, 250),
dcp::Time (0, 0, 0, 0, 250)
));
- BOOST_CHECK_EQUAL (s.back(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.back()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.back()), dcp::SubtitleString (
string ("theFont"),
true,
false,
@@ -349,7 +362,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
s = subs.subtitles_during (dcp::Time (0, 1, 27, 200, 250), dcp::Time (0, 1, 27, 201, 250), false);
BOOST_REQUIRE_EQUAL (s.size(), 2);
- BOOST_CHECK_EQUAL (s.front(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.front()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.front()), dcp::SubtitleString (
string ("theFont"),
true,
false,
@@ -370,7 +384,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
dcp::Time (0, 0, 0, 0, 250),
dcp::Time (0, 0, 0, 0, 250)
));
- BOOST_CHECK_EQUAL (s.back(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.back()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.back()), dcp::SubtitleString (
string ("theFont"),
true,
false,
@@ -394,7 +409,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
s = subs.subtitles_during (dcp::Time (0, 1, 42, 300, 250), dcp::Time (0, 1, 42, 301, 250), false);
BOOST_REQUIRE_EQUAL (s.size(), 2);
- BOOST_CHECK_EQUAL (s.front(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.front()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.front()), dcp::SubtitleString (
string ("theFont"),
false,
false,
@@ -415,7 +431,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
dcp::Time (0, 0, 0, 0, 250),
dcp::Time (0, 0, 0, 0, 250)
));
- BOOST_CHECK_EQUAL (s.back(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.back()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.back()), dcp::SubtitleString (
string ("theFont"),
false,
false,
@@ -439,7 +456,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
s = subs.subtitles_during (dcp::Time (0, 1, 45, 200, 250), dcp::Time (0, 1, 45, 201, 250), false);
BOOST_REQUIRE_EQUAL (s.size(), 2);
- BOOST_CHECK_EQUAL (s.front(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.front()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.front()), dcp::SubtitleString (
string ("theFont"),
false,
false,
@@ -460,7 +478,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
dcp::Time (0, 0, 0, 0, 250),
dcp::Time (0, 0, 0, 0, 250)
));
- BOOST_CHECK_EQUAL (s.back(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.back()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.back()), dcp::SubtitleString (
string ("theFont"),
false,
false,
@@ -484,7 +503,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
s = subs.subtitles_during (dcp::Time (0, 1, 47, 249, 250), dcp::Time (0, 1, 47, 250, 250), false);
BOOST_REQUIRE_EQUAL (s.size(), 2);
- BOOST_CHECK_EQUAL (s.front(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.front()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.front()), dcp::SubtitleString (
string ("theFont"),
false,
false,
@@ -505,7 +525,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
dcp::Time (0, 0, 0, 0, 250),
dcp::Time (0, 0, 0, 0, 250)
));
- BOOST_CHECK_EQUAL (s.back(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.back()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.back()), dcp::SubtitleString (
string ("theFont"),
false,
false,
@@ -529,7 +550,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
s = subs.subtitles_during (dcp::Time (0, 2, 6, 210, 250), dcp::Time (0, 2, 6, 211, 250), false);
BOOST_REQUIRE_EQUAL (s.size(), 2);
- BOOST_CHECK_EQUAL (s.front(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.front()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.front()), dcp::SubtitleString (
string ("theFont"),
true,
false,
@@ -550,7 +572,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2)
dcp::Time (0, 0, 0, 0, 250),
dcp::Time (0, 0, 0, 0, 250)
));
- BOOST_CHECK_EQUAL (s.back(), dcp::SubtitleString (
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(s.back()));
+ BOOST_CHECK_EQUAL (*dynamic_pointer_cast<dcp::SubtitleString>(s.back()), dcp::SubtitleString (
string ("theFont"),
true,
false,
diff --git a/test/read_smpte_subtitle_test.cc b/test/read_smpte_subtitle_test.cc
index 2aadc2dc..ff2432e4 100644
--- a/test/read_smpte_subtitle_test.cc
+++ b/test/read_smpte_subtitle_test.cc
@@ -58,12 +58,14 @@ BOOST_AUTO_TEST_CASE (read_smpte_subtitle_test)
BOOST_CHECK_EQUAL (smpte_lfn->id, "theFontId");
BOOST_CHECK_EQUAL (smpte_lfn->urn, "9118bbce-4105-4a05-b37c-a5a6f75e1fea");
BOOST_REQUIRE_EQUAL (sc.subtitles().size(), 63);
- BOOST_CHECK_EQUAL (sc.subtitles().front().text(), "Noch mal.");
- BOOST_CHECK_EQUAL (sc.subtitles().front().in(), dcp::Time (0, 0, 25, 12, 25));
- BOOST_CHECK_EQUAL (sc.subtitles().front().out(), dcp::Time (0, 0, 26, 4, 25));
- BOOST_CHECK_EQUAL (sc.subtitles().back().text(), "Prochainement");
- BOOST_CHECK_EQUAL (sc.subtitles().back().in(), dcp::Time (0, 1, 57, 17, 25));
- BOOST_CHECK_EQUAL (sc.subtitles().back().out(), dcp::Time (0, 1, 58, 12, 25));
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(sc.subtitles().front()));
+ BOOST_CHECK_EQUAL (dynamic_pointer_cast<dcp::SubtitleString>(sc.subtitles().front())->text(), "Noch mal.");
+ BOOST_CHECK_EQUAL (sc.subtitles().front()->in(), dcp::Time (0, 0, 25, 12, 25));
+ BOOST_CHECK_EQUAL (sc.subtitles().front()->out(), dcp::Time (0, 0, 26, 4, 25));
+ BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(sc.subtitles().back()));
+ BOOST_CHECK_EQUAL (dynamic_pointer_cast<dcp::SubtitleString>(sc.subtitles().back())->text(), "Prochainement");
+ BOOST_CHECK_EQUAL (sc.subtitles().back()->in(), dcp::Time (0, 1, 57, 17, 25));
+ BOOST_CHECK_EQUAL (sc.subtitles().back()->out(), dcp::Time (0, 1, 58, 12, 25));
}
/** And another one featuring <Font> within <Text> */
@@ -72,22 +74,34 @@ BOOST_AUTO_TEST_CASE (read_smpte_subtitle_test2)
dcp::SMPTESubtitleAsset sc (private_test / "olsson.xml");
BOOST_REQUIRE_EQUAL (sc.subtitles().size(), 6);
- list<dcp::SubtitleString>::const_iterator i = sc.subtitles().begin();
- BOOST_CHECK_EQUAL (i->text(), "Testing is ");
- BOOST_CHECK (!i->italic());
+ list<shared_ptr<dcp::Subtitle> >::const_iterator i = sc.subtitles().begin();
+ shared_ptr<dcp::SubtitleString> is = dynamic_pointer_cast<dcp::SubtitleString>(*i);
+ BOOST_REQUIRE (is);
+ BOOST_CHECK_EQUAL (is->text(), "Testing is ");
+ BOOST_CHECK (!is->italic());
++i;
- BOOST_CHECK_EQUAL (i->text(), "really");
- BOOST_CHECK (i->italic());
+ is = dynamic_pointer_cast<dcp::SubtitleString>(*i);
+ BOOST_REQUIRE (is);
+ BOOST_CHECK_EQUAL (is->text(), "really");
+ BOOST_CHECK (is->italic());
++i;
- BOOST_CHECK_EQUAL (i->text(), " fun!");
- BOOST_CHECK (!i->italic());
+ is = dynamic_pointer_cast<dcp::SubtitleString>(*i);
+ BOOST_REQUIRE (is);
+ BOOST_CHECK_EQUAL (is->text(), " fun!");
+ BOOST_CHECK (!is->italic());
++i;
- BOOST_CHECK_EQUAL (i->text(), "This is the ");
- BOOST_CHECK (!i->italic());
+ is = dynamic_pointer_cast<dcp::SubtitleString>(*i);
+ BOOST_REQUIRE (is);
+ BOOST_CHECK_EQUAL (is->text(), "This is the ");
+ BOOST_CHECK (!is->italic());
++i;
- BOOST_CHECK_EQUAL (i->text(), "second");
- BOOST_CHECK (i->italic());
+ is = dynamic_pointer_cast<dcp::SubtitleString>(*i);
+ BOOST_REQUIRE (is);
+ BOOST_CHECK_EQUAL (is->text(), "second");
+ BOOST_CHECK (is->italic());
++i;
- BOOST_CHECK_EQUAL (i->text(), " line!");
- BOOST_CHECK (!i->italic());
+ is = dynamic_pointer_cast<dcp::SubtitleString>(*i);
+ BOOST_REQUIRE (is);
+ BOOST_CHECK_EQUAL (is->text(), " line!");
+ BOOST_CHECK (!is->italic());
}
diff --git a/test/smpte_subtitle_test.cc b/test/smpte_subtitle_test.cc
index b094ea0d..35ad5550 100644
--- a/test/smpte_subtitle_test.cc
+++ b/test/smpte_subtitle_test.cc
@@ -36,29 +36,34 @@
using std::string;
using boost::optional;
+using boost::shared_ptr;
BOOST_AUTO_TEST_CASE (smpte_subtitle_id_test)
{
dcp::SMPTESubtitleAsset subs;
- subs.add(dcp::SubtitleString(
- optional<string>(),
- false, false, false,
- dcp::Colour(),
- 64,
- 1,
- dcp::Time(0, 1, 2, 3, 24),
- dcp::Time(0, 2, 2, 3, 24),
- 0.5,
- dcp::HALIGN_CENTER,
- 0.5,
- dcp::VALIGN_CENTER,
- dcp::DIRECTION_LTR,
- "Hello",
- dcp::NONE,
- dcp::Colour(),
- dcp::Time(0, 0, 0, 0, 24),
- dcp::Time(0, 0, 0, 0, 24)
- ));
+ subs.add(
+ shared_ptr<dcp::Subtitle> (
+ new dcp::SubtitleString(
+ optional<string>(),
+ false, false, false,
+ dcp::Colour(),
+ 64,
+ 1,
+ dcp::Time(0, 1, 2, 3, 24),
+ dcp::Time(0, 2, 2, 3, 24),
+ 0.5,
+ dcp::HALIGN_CENTER,
+ 0.5,
+ dcp::VALIGN_CENTER,
+ dcp::DIRECTION_LTR,
+ "Hello",
+ dcp::NONE,
+ dcp::Colour(),
+ dcp::Time(0, 0, 0, 0, 24),
+ dcp::Time(0, 0, 0, 0, 24)
+ )
+ )
+ );
subs.write("build/test/smpte_subtitle_id_test.mxf");
dcp::SMPTESubtitleAsset check("build/test/smpte_subtitle_id_test.mxf");
diff --git a/test/write_subtitle_test.cc b/test/write_subtitle_test.cc
index 1ca7840e..c8f8fc57 100644
--- a/test/write_subtitle_test.cc
+++ b/test/write_subtitle_test.cc
@@ -146,50 +146,54 @@ BOOST_AUTO_TEST_CASE (write_interop_subtitle_test)
c.set_movie_title ("Test");
c.add (
- dcp::SubtitleString (
- string ("Frutiger"),
- false,
- false,
- false,
- dcp::Colour (255, 255, 255),
- 48,
- 1.0,
- dcp::Time (0, 4, 9, 22, 24),
- dcp::Time (0, 4, 11, 22, 24),
- 0,
- dcp::HALIGN_CENTER,
- 0.8,
- dcp::VALIGN_TOP,
- dcp::DIRECTION_LTR,
- "Hello world",
- dcp::NONE,
- dcp::Colour (0, 0, 0),
- dcp::Time (0, 0, 0, 0, 24),
- dcp::Time (0, 0, 0, 0, 24)
+ shared_ptr<dcp::Subtitle> (
+ new dcp::SubtitleString (
+ string ("Frutiger"),
+ false,
+ false,
+ false,
+ dcp::Colour (255, 255, 255),
+ 48,
+ 1.0,
+ dcp::Time (0, 4, 9, 22, 24),
+ dcp::Time (0, 4, 11, 22, 24),
+ 0,
+ dcp::HALIGN_CENTER,
+ 0.8,
+ dcp::VALIGN_TOP,
+ dcp::DIRECTION_LTR,
+ "Hello world",
+ dcp::NONE,
+ dcp::Colour (0, 0, 0),
+ dcp::Time (0, 0, 0, 0, 24),
+ dcp::Time (0, 0, 0, 0, 24)
+ )
)
);
c.add (
- dcp::SubtitleString (
- boost::optional<string> (),
- true,
- true,
- true,
- dcp::Colour (128, 0, 64),
- 91,
- 1.0,
- dcp::Time (5, 41, 0, 21, 24),
- dcp::Time (6, 12, 15, 21, 24),
- 0,
- dcp::HALIGN_CENTER,
- 0.4,
- dcp::VALIGN_BOTTOM,
- dcp::DIRECTION_LTR,
- "What's going on",
- dcp::BORDER,
- dcp::Colour (1, 2, 3),
- dcp::Time (1, 2, 3, 4, 24),
- dcp::Time (5, 6, 7, 8, 24)
+ shared_ptr<dcp::Subtitle> (
+ new dcp::SubtitleString (
+ boost::optional<string> (),
+ true,
+ true,
+ true,
+ dcp::Colour (128, 0, 64),
+ 91,
+ 1.0,
+ dcp::Time (5, 41, 0, 21, 24),
+ dcp::Time (6, 12, 15, 21, 24),
+ 0,
+ dcp::HALIGN_CENTER,
+ 0.4,
+ dcp::VALIGN_BOTTOM,
+ dcp::DIRECTION_LTR,
+ "What's going on",
+ dcp::BORDER,
+ dcp::Colour (1, 2, 3),
+ dcp::Time (1, 2, 3, 4, 24),
+ dcp::Time (5, 6, 7, 8, 24)
+ )
)
);
@@ -228,50 +232,54 @@ BOOST_AUTO_TEST_CASE (write_interop_subtitle_test2)
c.set_movie_title ("Test");
c.add (
- dcp::SubtitleString (
- string ("Frutiger"),
- false,
- false,
- false,
- dcp::Colour (255, 255, 255),
- 48,
- 1.0,
- dcp::Time (0, 4, 9, 22, 24),
- dcp::Time (0, 4, 11, 22, 24),
- -0.2,
- dcp::HALIGN_CENTER,
- 0.8,
- dcp::VALIGN_TOP,
- dcp::DIRECTION_LTR,
- "Hello world",
- dcp::NONE,
- dcp::Colour (0, 0, 0),
- dcp::Time (0, 0, 0, 0, 24),
- dcp::Time (0, 0, 0, 0, 24)
+ shared_ptr<dcp::Subtitle> (
+ new dcp::SubtitleString (
+ string ("Frutiger"),
+ false,
+ false,
+ false,
+ dcp::Colour (255, 255, 255),
+ 48,
+ 1.0,
+ dcp::Time (0, 4, 9, 22, 24),
+ dcp::Time (0, 4, 11, 22, 24),
+ -0.2,
+ dcp::HALIGN_CENTER,
+ 0.8,
+ dcp::VALIGN_TOP,
+ dcp::DIRECTION_LTR,
+ "Hello world",
+ dcp::NONE,
+ dcp::Colour (0, 0, 0),
+ dcp::Time (0, 0, 0, 0, 24),
+ dcp::Time (0, 0, 0, 0, 24)
+ )
)
);
c.add (
- dcp::SubtitleString (
- boost::optional<string> (),
- true,
- true,
- true,
- dcp::Colour (128, 0, 64),
- 91,
- 1.0,
- dcp::Time (5, 41, 0, 21, 24),
- dcp::Time (6, 12, 15, 21, 24),
- -0.2,
- dcp::HALIGN_CENTER,
- 0.4,
- dcp::VALIGN_BOTTOM,
- dcp::DIRECTION_LTR,
- "What's going on",
- dcp::BORDER,
- dcp::Colour (1, 2, 3),
- dcp::Time (1, 2, 3, 4, 24),
- dcp::Time (5, 6, 7, 8, 24)
+ shared_ptr<dcp::Subtitle> (
+ new dcp::SubtitleString (
+ boost::optional<string> (),
+ true,
+ true,
+ true,
+ dcp::Colour (128, 0, 64),
+ 91,
+ 1.0,
+ dcp::Time (5, 41, 0, 21, 24),
+ dcp::Time (6, 12, 15, 21, 24),
+ -0.2,
+ dcp::HALIGN_CENTER,
+ 0.4,
+ dcp::VALIGN_BOTTOM,
+ dcp::DIRECTION_LTR,
+ "What's going on",
+ dcp::BORDER,
+ dcp::Colour (1, 2, 3),
+ dcp::Time (1, 2, 3, 4, 24),
+ dcp::Time (5, 6, 7, 8, 24)
+ )
)
);
@@ -309,50 +317,54 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test)
c.set_issue_date (dcp::LocalTime ("2016-04-01T03:52:00+00:00"));
c.add (
- dcp::SubtitleString (
- string ("Frutiger"),
- false,
- false,
- false,
- dcp::Colour (255, 255, 255),
- 48,
- 1.0,
- dcp::Time (0, 4, 9, 22, 24),
- dcp::Time (0, 4, 11, 22, 24),
- 0,
- dcp::HALIGN_CENTER,
- 0.8,
- dcp::VALIGN_TOP,
- dcp::DIRECTION_LTR,
- "Hello world",
- dcp::NONE,
- dcp::Colour (0, 0, 0),
- dcp::Time (0, 0, 0, 0, 24),
- dcp::Time (0, 0, 0, 0, 24)
+ shared_ptr<dcp::Subtitle> (
+ new dcp::SubtitleString (
+ string ("Frutiger"),
+ false,
+ false,
+ false,
+ dcp::Colour (255, 255, 255),
+ 48,
+ 1.0,
+ dcp::Time (0, 4, 9, 22, 24),
+ dcp::Time (0, 4, 11, 22, 24),
+ 0,
+ dcp::HALIGN_CENTER,
+ 0.8,
+ dcp::VALIGN_TOP,
+ dcp::DIRECTION_LTR,
+ "Hello world",
+ dcp::NONE,
+ dcp::Colour (0, 0, 0),
+ dcp::Time (0, 0, 0, 0, 24),
+ dcp::Time (0, 0, 0, 0, 24)
+ )
)
);
c.add (
- dcp::SubtitleString (
- boost::optional<string> (),
- true,
- true,
- true,
- dcp::Colour (128, 0, 64),
- 91,
- 1.0,
- dcp::Time (5, 41, 0, 21, 24),
- dcp::Time (6, 12, 15, 21, 24),
- 0,
- dcp::HALIGN_CENTER,
- 0.4,
- dcp::VALIGN_BOTTOM,
- dcp::DIRECTION_RTL,
- "What's going on",
- dcp::BORDER,
- dcp::Colour (1, 2, 3),
- dcp::Time (1, 2, 3, 4, 24),
- dcp::Time (5, 6, 7, 8, 24)
+ shared_ptr<dcp::Subtitle> (
+ new dcp::SubtitleString (
+ boost::optional<string> (),
+ true,
+ true,
+ true,
+ dcp::Colour (128, 0, 64),
+ 91,
+ 1.0,
+ dcp::Time (5, 41, 0, 21, 24),
+ dcp::Time (6, 12, 15, 21, 24),
+ 0,
+ dcp::HALIGN_CENTER,
+ 0.4,
+ dcp::VALIGN_BOTTOM,
+ dcp::DIRECTION_RTL,
+ "What's going on",
+ dcp::BORDER,
+ dcp::Colour (1, 2, 3),
+ dcp::Time (1, 2, 3, 4, 24),
+ dcp::Time (5, 6, 7, 8, 24)
+ )
)
);
@@ -398,146 +410,158 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test2)
c.set_issue_date (dcp::LocalTime ("2016-04-01T03:52:00+00:00"));
c.add (
- dcp::SubtitleString (
- string ("Arial"),
- false,
- false,
- false,
- dcp::Colour (255, 255, 255),
- 48,
- 1.0,
- dcp::Time (0, 0, 1, 0, 24),
- dcp::Time (0, 0, 9, 0, 24),
- 0,
- dcp::HALIGN_CENTER,
- 0.8,
- dcp::VALIGN_TOP,
- dcp::DIRECTION_LTR,
- "Testing is ",
- dcp::NONE,
- dcp::Colour (0, 0, 0),
- dcp::Time (0, 0, 0, 0, 24),
- dcp::Time (0, 0, 0, 0, 24)
+ shared_ptr<dcp::Subtitle> (
+ new dcp::SubtitleString (
+ string ("Arial"),
+ false,
+ false,
+ false,
+ dcp::Colour (255, 255, 255),
+ 48,
+ 1.0,
+ dcp::Time (0, 0, 1, 0, 24),
+ dcp::Time (0, 0, 9, 0, 24),
+ 0,
+ dcp::HALIGN_CENTER,
+ 0.8,
+ dcp::VALIGN_TOP,
+ dcp::DIRECTION_LTR,
+ "Testing is ",
+ dcp::NONE,
+ dcp::Colour (0, 0, 0),
+ dcp::Time (0, 0, 0, 0, 24),
+ dcp::Time (0, 0, 0, 0, 24)
+ )
)
);
c.add (
- dcp::SubtitleString (
- string ("Arial"),
- true,
- false,
- false,
- dcp::Colour (255, 255, 255),
- 48,
- 1.0,
- dcp::Time (0, 0, 1, 0, 24),
- dcp::Time (0, 0, 9, 0, 24),
- 0,
- dcp::HALIGN_CENTER,
- 0.8,
- dcp::VALIGN_TOP,
- dcp::DIRECTION_LTR,
- "really",
- dcp::NONE,
- dcp::Colour (0, 0, 0),
- dcp::Time (0, 0, 0, 0, 24),
- dcp::Time (0, 0, 0, 0, 24)
+ shared_ptr<dcp::Subtitle> (
+ new dcp::SubtitleString (
+ string ("Arial"),
+ true,
+ false,
+ false,
+ dcp::Colour (255, 255, 255),
+ 48,
+ 1.0,
+ dcp::Time (0, 0, 1, 0, 24),
+ dcp::Time (0, 0, 9, 0, 24),
+ 0,
+ dcp::HALIGN_CENTER,
+ 0.8,
+ dcp::VALIGN_TOP,
+ dcp::DIRECTION_LTR,
+ "really",
+ dcp::NONE,
+ dcp::Colour (0, 0, 0),
+ dcp::Time (0, 0, 0, 0, 24),
+ dcp::Time (0, 0, 0, 0, 24)
+ )
)
);
c.add (
- dcp::SubtitleString (
- string ("Arial"),
- false,
- false,
- false,
- dcp::Colour (255, 255, 255),
- 48,
- 1.0,
- dcp::Time (0, 0, 1, 0, 24),
- dcp::Time (0, 0, 9, 0, 24),
- 0,
- dcp::HALIGN_CENTER,
- 0.8,
- dcp::VALIGN_TOP,
- dcp::DIRECTION_LTR,
- " fun",
- dcp::NONE,
- dcp::Colour (0, 0, 0),
- dcp::Time (0, 0, 0, 0, 24),
- dcp::Time (0, 0, 0, 0, 24)
+ shared_ptr<dcp::Subtitle> (
+ new dcp::SubtitleString (
+ string ("Arial"),
+ false,
+ false,
+ false,
+ dcp::Colour (255, 255, 255),
+ 48,
+ 1.0,
+ dcp::Time (0, 0, 1, 0, 24),
+ dcp::Time (0, 0, 9, 0, 24),
+ 0,
+ dcp::HALIGN_CENTER,
+ 0.8,
+ dcp::VALIGN_TOP,
+ dcp::DIRECTION_LTR,
+ " fun",
+ dcp::NONE,
+ dcp::Colour (0, 0, 0),
+ dcp::Time (0, 0, 0, 0, 24),
+ dcp::Time (0, 0, 0, 0, 24)
+ )
)
);
c.add (
- dcp::SubtitleString (
- string ("Arial"),
- false,
- false,
- false,
- dcp::Colour (255, 255, 255),
- 48,
- 1.0,
- dcp::Time (0, 0, 1, 0, 24),
- dcp::Time (0, 0, 9, 0, 24),
- 0,
- dcp::HALIGN_CENTER,
- 0.9,
- dcp::VALIGN_TOP,
- dcp::DIRECTION_LTR,
- "This is the ",
- dcp::NONE,
- dcp::Colour (0, 0, 0),
- dcp::Time (0, 0, 0, 0, 24),
- dcp::Time (0, 0, 0, 0, 24)
+ shared_ptr<dcp::Subtitle> (
+ new dcp::SubtitleString (
+ string ("Arial"),
+ false,
+ false,
+ false,
+ dcp::Colour (255, 255, 255),
+ 48,
+ 1.0,
+ dcp::Time (0, 0, 1, 0, 24),
+ dcp::Time (0, 0, 9, 0, 24),
+ 0,
+ dcp::HALIGN_CENTER,
+ 0.9,
+ dcp::VALIGN_TOP,
+ dcp::DIRECTION_LTR,
+ "This is the ",
+ dcp::NONE,
+ dcp::Colour (0, 0, 0),
+ dcp::Time (0, 0, 0, 0, 24),
+ dcp::Time (0, 0, 0, 0, 24)
+ )
)
);
c.add (
- dcp::SubtitleString (
- string ("Arial"),
- true,
- false,
- false,
- dcp::Colour (255, 255, 255),
- 48,
- 1.0,
- dcp::Time (0, 0, 1, 0, 24),
- dcp::Time (0, 0, 9, 0, 24),
- 0,
- dcp::HALIGN_CENTER,
- 0.9,
- dcp::VALIGN_TOP,
- dcp::DIRECTION_LTR,
- "second",
- dcp::NONE,
- dcp::Colour (0, 0, 0),
- dcp::Time (0, 0, 0, 0, 24),
- dcp::Time (0, 0, 0, 0, 24)
+ shared_ptr<dcp::Subtitle> (
+ new dcp::SubtitleString (
+ string ("Arial"),
+ true,
+ false,
+ false,
+ dcp::Colour (255, 255, 255),
+ 48,
+ 1.0,
+ dcp::Time (0, 0, 1, 0, 24),
+ dcp::Time (0, 0, 9, 0, 24),
+ 0,
+ dcp::HALIGN_CENTER,
+ 0.9,
+ dcp::VALIGN_TOP,
+ dcp::DIRECTION_LTR,
+ "second",
+ dcp::NONE,
+ dcp::Colour (0, 0, 0),
+ dcp::Time (0, 0, 0, 0, 24),
+ dcp::Time (0, 0, 0, 0, 24)
+ )
)
);
c.add (
- dcp::SubtitleString (
- string ("Arial"),
- false,
- false,
- false,
- dcp::Colour (255, 255, 255),
- 48,
- 1.0,
- dcp::Time (0, 0, 1, 0, 24),
- dcp::Time (0, 0, 9, 0, 24),
- 0,
- dcp::HALIGN_CENTER,
- 0.9,
- dcp::VALIGN_TOP,
- dcp::DIRECTION_LTR,
- " line",
- dcp::NONE,
- dcp::Colour (0, 0, 0),
- dcp::Time (0, 0, 0, 0, 24),
- dcp::Time (0, 0, 0, 0, 24)
+ shared_ptr<dcp::Subtitle> (
+ new dcp::SubtitleString (
+ string ("Arial"),
+ false,
+ false,
+ false,
+ dcp::Colour (255, 255, 255),
+ 48,
+ 1.0,
+ dcp::Time (0, 0, 1, 0, 24),
+ dcp::Time (0, 0, 9, 0, 24),
+ 0,
+ dcp::HALIGN_CENTER,
+ 0.9,
+ dcp::VALIGN_TOP,
+ dcp::DIRECTION_LTR,
+ " line",
+ dcp::NONE,
+ dcp::Colour (0, 0, 0),
+ dcp::Time (0, 0, 0, 0, 24),
+ dcp::Time (0, 0, 0, 0, 24)
+ )
)
);