*/
#include "lib/film.h"
-#include "lib/plain_text_content.h"
+#include "lib/string_text_file_content.h"
#include "lib/dcp_content_type.h"
#include "lib/font.h"
#include "lib/ratio.h"
film->set_name ("frobozz");
film->set_audio_channels (6);
film->set_interop (false);
- shared_ptr<PlainText> content (new PlainText (film, "test/data/subrip2.srt"));
+ shared_ptr<StringTextFileContent> content (new StringTextFileContent("test/data/subrip2.srt"));
film->examine_and_add_content (content);
- wait_for_jobs ();
+ BOOST_REQUIRE (!wait_for_jobs());
- content->subtitle->set_use (true);
- content->subtitle->set_burn (false);
+ content->only_text()->set_use (true);
+ content->only_text()->set_burn (false);
film->make_dcp ();
- wait_for_jobs ();
+ BOOST_REQUIRE (!wait_for_jobs());
/* Should be blank video with a subtitle MXF */
check_dcp ("test/data/srt_subtitle_test", film->dir (film->dcp_name ()));
film->set_name ("frobozz");
film->set_audio_channels (6);
film->set_interop (false);
- shared_ptr<PlainText> content (new PlainText (film, "test/data/subrip2.srt"));
+ shared_ptr<StringTextFileContent> content (new StringTextFileContent ("test/data/subrip2.srt"));
film->examine_and_add_content (content);
- wait_for_jobs ();
+ BOOST_REQUIRE (!wait_for_jobs());
- content->subtitle->set_use (true);
- content->subtitle->set_burn (false);
+ content->only_text()->set_use (true);
+ content->only_text()->set_burn (false);
/* Use test/data/subrip2.srt as if it were a font file */
- content->subtitle->fonts().front()->set_file (FontFiles::NORMAL, "test/data/subrip2.srt");
+ content->only_text()->fonts().front()->set_file("test/data/subrip2.srt");
film->make_dcp ();
- wait_for_jobs ();
+ BOOST_REQUIRE (!wait_for_jobs());
/* Should be blank video with a subtitle MXF */
check_dcp ("test/data/srt_subtitle_test2", film->dir (film->dcp_name ()));
film->set_name ("frobozz");
film->set_interop (true);
film->set_audio_channels (6);
- shared_ptr<PlainText> content (new PlainText (film, private_data / "Ankoemmling_short.srt"));
+ shared_ptr<StringTextFileContent> content (new StringTextFileContent(private_data / "Ankoemmling_short.srt"));
film->examine_and_add_content (content);
- wait_for_jobs ();
+ BOOST_REQUIRE (!wait_for_jobs());
- content->subtitle->set_use (true);
- content->subtitle->set_burn (false);
+ content->only_text()->set_use (true);
+ content->only_text()->set_burn (false);
film->make_dcp ();
- wait_for_jobs ();
+ BOOST_REQUIRE (!wait_for_jobs());
check_subtitle_file (film, private_data / "Ankoemmling_short.xml");
}
film->set_dcp_content_type (DCPContentType::from_isdcf_name ("TLR"));
film->set_name ("frobozz");
film->set_interop (false);
- shared_ptr<PlainText> content (new PlainText (film, "test/data/subrip2.srt"));
- content->subtitle->set_use (true);
- content->subtitle->set_burn (false);
+ shared_ptr<StringTextFileContent> content (new StringTextFileContent("test/data/subrip2.srt"));
+ content->only_text()->set_use (true);
+ content->only_text()->set_burn (false);
film->examine_and_add_content (content);
- wait_for_jobs ();
+ BOOST_REQUIRE (!wait_for_jobs());
film->make_dcp ();
- wait_for_jobs ();
+ BOOST_REQUIRE (!wait_for_jobs());
/* Should be blank video with MXF subtitles */
check_dcp ("test/data/xml_subtitle_test", film->dir (film->dcp_name ()));
film->set_name ("frobozz");
film->set_interop (true);
film->set_sequence (false);
- shared_ptr<PlainText> content (new PlainText (film, "test/data/subrip2.srt"));
- content->subtitle->set_use (true);
- content->subtitle->set_burn (false);
+ shared_ptr<StringTextFileContent> content (new StringTextFileContent("test/data/subrip2.srt"));
+ content->only_text()->set_use (true);
+ content->only_text()->set_burn (false);
film->examine_and_add_content (content);
- film->examine_and_add_content (content);
- wait_for_jobs ();
- content->set_position (DCPTime (0));
+ shared_ptr<StringTextFileContent> content2 (new StringTextFileContent("test/data/subrip2.srt"));
+ content2->only_text()->set_use (true);
+ content2->only_text()->set_burn (false);
+ film->examine_and_add_content (content2);
+ BOOST_REQUIRE (!wait_for_jobs());
+ content->set_position (film, DCPTime());
+ content2->set_position (film, DCPTime());
film->make_dcp ();
- wait_for_jobs ();
+ BOOST_REQUIRE (!wait_for_jobs());
film->write_metadata ();
check_dcp ("test/data/xml_subtitle_test2", film->dir (film->dcp_name ()));
{
shared_ptr<Film> film = new_test_film2 ("srt_subtitle_test6");
film->set_interop (false);
- shared_ptr<PlainText> content (new PlainText (film, "test/data/frames.srt"));
- content->subtitle->set_use (true);
- content->subtitle->set_burn (false);
+ shared_ptr<StringTextFileContent> content (new StringTextFileContent("test/data/frames.srt"));
+ content->only_text()->set_use (true);
+ content->only_text()->set_burn (false);
film->examine_and_add_content (content);
BOOST_REQUIRE (!wait_for_jobs ());
film->make_dcp ();
BOOST_AUTO_TEST_CASE (srt_subtitle_test4)
{
shared_ptr<Film> film = new_test_film ("subrip_render_test");
- shared_ptr<PlainText> content (new PlainText (film, "test/data/subrip.srt"));
+ shared_ptr<StringTextFile> content (new StringTextFile("test/data/subrip.srt"));
content->examine (shared_ptr<Job> (), true);
BOOST_CHECK_EQUAL (content->full_length(), DCPTime::from_seconds ((3 * 60) + 56.471));
shared_ptr<SubRipDecoder> decoder (new SubRipDecoder (content));
- list<ContentTextSubtitle> cts = decoder->get_text_subtitles (
+ list<ContentStringText> cts = decoder->get_plain_texts (
ContentTimePeriod (
ContentTime::from_seconds (109), ContentTime::from_seconds (110)
), false
);
BOOST_CHECK_EQUAL (cts.size(), 1);
- PositionImage image = render_subtitles (cts.front().subs, dcp::Size (1998, 1080));
+ PositionImage image = render_text (cts.front().subs, dcp::Size (1998, 1080));
write_image (image.image, "build/test/subrip_render_test.png");
check_file ("build/test/subrip_render_test.png", "test/data/subrip_render_test.png");
}