diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-07-07 23:16:45 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-07-07 23:16:45 +0100 |
| commit | ba5915461f1622715a69fa25579e5e27e64fb079 (patch) | |
| tree | 221ce87dfbac455c32459e07beb92b6003243e89 /test | |
| parent | a4fb6290e31f7e197cc399c745d320442eb093d4 (diff) | |
SubtitleString -> shared_ptr<Subtitle>
Diffstat (limited to 'test')
| -rw-r--r-- | test/read_interop_subtitle_test.cc | 75 | ||||
| -rw-r--r-- | test/read_smpte_subtitle_test.cc | 52 | ||||
| -rw-r--r-- | test/smpte_subtitle_test.cc | 43 | ||||
| -rw-r--r-- | test/write_subtitle_test.cc | 504 |
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) + ) ) ); |
