X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Ffilm.cc;fp=src%2Flib%2Ffilm.cc;h=901c512844c9da3585c74fe5149c3a2e1df2b702;hb=85c65bd422742813992686c17a5e1b718cc3c449;hp=1d07ec77f4a0ff50ebc105970709cde687c29099;hpb=eed40e4e5ca46bbc31a9833d2b766c96c11b0254;p=dcpomatic.git diff --git a/src/lib/film.cc b/src/lib/film.cc index 1d07ec77f..901c51284 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -78,8 +78,8 @@ using boost::to_upper_copy; using boost::ends_with; using boost::starts_with; using boost::optional; -using libdcp::Size; -using libdcp::Signer; +using dcp::Size; +using dcp::Signer; /* 5 -> 6 * AudioMapping XML changed. @@ -426,7 +426,7 @@ Film::read_metadata () _sequence_video = f.bool_child ("SequenceVideo"); _three_d = f.bool_child ("ThreeD"); _interop = f.bool_child ("Interop"); - _key = libdcp::Key (f.string_child ("Key")); + _key = dcp::Key (f.string_child ("Key")); _playlist->set_from_xml (shared_from_this(), f.node_child ("Playlist"), _state_version); _dirty = false; @@ -752,7 +752,7 @@ Film::j2c_path (int f, Eyes e, bool t) const return file (p); } -/** @return List of subdirectories (not full paths) containing DCPs that can be successfully libdcp::DCP::read() */ +/** @return List of subdirectories (not full paths) containing DCPs that can be successfully dcp::DCP::read() */ list Film::dcps () const { @@ -766,7 +766,7 @@ Film::dcps () const ) { try { - libdcp::DCP dcp (*i); + dcp::DCP dcp (*i); dcp.read (); out.push_back (i->path().leaf ()); } catch (...) { @@ -861,7 +861,7 @@ Film::move_content_later (shared_ptr c) _playlist->move_later (c); } -Time +DCPTime Film::length () const { return _playlist->length (); @@ -873,12 +873,18 @@ Film::has_subtitles () const return _playlist->has_subtitles (); } -OutputVideoFrame +VideoFrame Film::best_video_frame_rate () const { return _playlist->best_dcp_frame_rate (); } +FrameRateChange +Film::active_frame_rate_change (DCPTime t) const +{ + return _playlist->active_frame_rate_change (t, video_frame_rate ()); +} + void Film::playlist_content_changed (boost::weak_ptr c, int p) { @@ -897,31 +903,31 @@ Film::playlist_changed () signal_changed (CONTENT); } -OutputAudioFrame -Film::time_to_audio_frames (Time t) const +AudioFrame +Film::time_to_audio_frames (DCPTime t) const { return t * audio_frame_rate () / TIME_HZ; } -OutputVideoFrame -Film::time_to_video_frames (Time t) const +VideoFrame +Film::time_to_video_frames (DCPTime t) const { return t * video_frame_rate () / TIME_HZ; } -Time -Film::audio_frames_to_time (OutputAudioFrame f) const +DCPTime +Film::audio_frames_to_time (AudioFrame f) const { return f * TIME_HZ / audio_frame_rate (); } -Time -Film::video_frames_to_time (OutputVideoFrame f) const +DCPTime +Film::video_frames_to_time (VideoFrame f) const { return f * TIME_HZ / video_frame_rate (); } -OutputAudioFrame +AudioFrame Film::audio_frame_rate () const { /* XXX */ @@ -936,23 +942,23 @@ Film::set_sequence_video (bool s) signal_changed (SEQUENCE_VIDEO); } -libdcp::Size +dcp::Size Film::full_frame () const { switch (_resolution) { case RESOLUTION_2K: - return libdcp::Size (2048, 1080); + return dcp::Size (2048, 1080); case RESOLUTION_4K: - return libdcp::Size (4096, 2160); + return dcp::Size (4096, 2160); } assert (false); - return libdcp::Size (); + return dcp::Size (); } -libdcp::KDM +dcp::KDM Film::make_kdm ( - shared_ptr target, + shared_ptr target, boost::filesystem::path dcp_dir, boost::posix_time::ptime from, boost::posix_time::ptime until @@ -960,7 +966,7 @@ Film::make_kdm ( { shared_ptr signer = make_signer (); - libdcp::DCP dcp (dir (dcp_dir.string ())); + dcp::DCP dcp (dir (dcp_dir.string ())); try { dcp.read (); @@ -970,14 +976,14 @@ Film::make_kdm ( time_t now = time (0); struct tm* tm = localtime (&now); - string const issue_date = libdcp::tm_to_string (tm); + string const issue_date = dcp::tm_to_string (tm); dcp.cpls().front()->set_mxf_keys (key ()); - return libdcp::KDM (dcp.cpls().front(), signer, target, from, until, "DCP-o-matic", issue_date); + return dcp::KDM (dcp.cpls().front(), signer, target, from, until, "DCP-o-matic", issue_date); } -list +list Film::make_kdms ( list > screens, boost::filesystem::path dcp, @@ -985,7 +991,7 @@ Film::make_kdms ( boost::posix_time::ptime until ) const { - list kdms; + list kdms; for (list >::iterator i = screens.begin(); i != screens.end(); ++i) { kdms.push_back (make_kdm ((*i)->certificate, dcp, from, until));