From 3476f2f8251d5800abdd968963cac57b0df8a657 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 20 Dec 2016 16:18:24 +0000 Subject: Allow content factory to return multiple content. --- src/tools/dcpomatic.cc | 5 ++++- src/tools/dcpomatic_create.cc | 10 ++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'src/tools') diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc index aa37f2fb7..097b7905a 100644 --- a/src/tools/dcpomatic.cc +++ b/src/tools/dcpomatic.cc @@ -76,6 +76,7 @@ #endif #include #include +#include #include #include /* This is OK as it's only used with DCPOMATIC_WINDOWS */ @@ -1094,7 +1095,9 @@ private: if (!_film_to_create.empty ()) { _frame->new_film (_film_to_create, optional ()); if (!_content_to_add.empty ()) { - _frame->film()->examine_and_add_content (content_factory (_frame->film(), _content_to_add)); + BOOST_FOREACH (shared_ptr i, content_factory (_frame->film(), _content_to_add)) { + _frame->film()->examine_and_add_content (i); + } } } diff --git a/src/tools/dcpomatic_create.cc b/src/tools/dcpomatic_create.cc index c14522a02..0582f5cac 100644 --- a/src/tools/dcpomatic_create.cc +++ b/src/tools/dcpomatic_create.cc @@ -32,6 +32,7 @@ #include "lib/cross.h" #include #include +#include #include #include #include @@ -227,11 +228,12 @@ main (int argc, char* argv[]) film->set_signed (sign); for (int i = optind; i < argc; ++i) { - shared_ptr c = content_factory (film, boost::filesystem::canonical (argv[i])); - if (c->video) { - c->video->set_scale (VideoContentScale (content_ratio)); + BOOST_FOREACH (shared_ptr j, content_factory (film, boost::filesystem::canonical (argv[i]))) { + if (j->video) { + j->video->set_scale (VideoContentScale (content_ratio)); + } + film->examine_and_add_content (j); } - film->examine_and_add_content (c); } JobManager* jm = JobManager::instance (); -- cgit v1.2.3