X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fcopy_dcp_details_to_film.cc;h=5c3c79638b877ef00d6f358fa7c5115a6a8a5167;hp=9bd88a422a74d4c3a4a3653603e29df06c36f0c9;hb=HEAD;hpb=dd9be86db6cde0afa5da0d1d1ac43b42e05dca26 diff --git a/src/lib/copy_dcp_details_to_film.cc b/src/lib/copy_dcp_details_to_film.cc index 9bd88a422..f6ca08638 100644 --- a/src/lib/copy_dcp_details_to_film.cc +++ b/src/lib/copy_dcp_details_to_film.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2020 Carl Hetherington + Copyright (C) 2020-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,27 +18,27 @@ */ + +#include "audio_content.h" #include "copy_dcp_details_to_film.h" #include "dcp_content.h" +#include "dcp_content_type.h" #include "film.h" -#include "types.h" -#include "video_content.h" -#include "audio_content.h" #include "ratio.h" -#include "dcp_content_type.h" +#include "video_content.h" #include using std::map; +using std::shared_ptr; using std::string; using std::vector; -using std::shared_ptr; void -copy_dcp_details_to_film (shared_ptr dcp, shared_ptr film) +copy_dcp_settings_to_film(shared_ptr dcp, shared_ptr film) { - string name = dcp->name (); + auto name = dcp->name (); name = name.substr (0, name.find("_")); film->set_name (name); film->set_use_isdcf_name (true); @@ -46,12 +46,14 @@ copy_dcp_details_to_film (shared_ptr dcp, shared_ptr fil film->set_dcp_content_type (DCPContentType::from_libdcp_kind(dcp->content_kind().get())); } film->set_encrypted (dcp->encrypted()); - film->set_reel_type (REELTYPE_BY_VIDEO_CONTENT); - film->set_interop (dcp->standard() == dcp::INTEROP); + film->set_reel_type (ReelType::BY_VIDEO_CONTENT); + film->set_interop (dcp->standard() == dcp::Standard::INTEROP); film->set_three_d (dcp->three_d()); if (dcp->video) { - film->set_container (Ratio::nearest_from_ratio(dcp->video->size().ratio())); + if (auto size = dcp->video->size()) { + film->set_container(Ratio::nearest_from_ratio(size->ratio())); + } film->set_resolution (dcp->resolution()); DCPOMATIC_ASSERT (dcp->video_frame_rate()); film->set_video_frame_rate (*dcp->video_frame_rate()); @@ -61,14 +63,17 @@ copy_dcp_details_to_film (shared_ptr dcp, shared_ptr fil film->set_audio_channels (dcp->audio->stream()->channels()); } - map dcp_markers; - map film_markers; - film->clear_markers (); - for (map::const_iterator i = dcp_markers.begin(); i != dcp_markers.end(); ++i) { - film->set_marker (i->first, dcpomatic::DCPTime(i->second.get())); - } - film->set_ratings (dcp->ratings()); film->set_content_versions (dcp->content_versions()); } + +void +copy_dcp_markers_to_film(shared_ptr dcp, shared_ptr film) +{ + film->clear_markers (); + for (auto const& i: dcp->markers()) { + film->set_marker(i.first, dcpomatic::DCPTime(i.second.get())); + } +} +