projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge master; specify libdcp-1.0.
[dcpomatic.git]
/
src
/
lib
/
film.cc
diff --git
a/src/lib/film.cc
b/src/lib/film.cc
index 1d07ec77f4a0ff50ebc105970709cde687c29099..901c512844c9da3585c74fe5149c3a2e1df2b702 100644
(file)
--- 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 boost::ends_with;
using boost::starts_with;
using boost::optional;
-using
lib
dcp::Size;
-using
lib
dcp::Signer;
+using dcp::Size;
+using dcp::Signer;
/* 5 -> 6
* AudioMapping XML changed.
/* 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");
_sequence_video = f.bool_child ("SequenceVideo");
_three_d = f.bool_child ("ThreeD");
_interop = f.bool_child ("Interop");
- _key =
lib
dcp::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;
_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 file (p);
}
-/** @return List of subdirectories (not full paths) containing DCPs that can be successfully
lib
dcp::DCP::read() */
+/** @return List of subdirectories (not full paths) containing DCPs that can be successfully dcp::DCP::read() */
list<boost::filesystem::path>
Film::dcps () const
{
list<boost::filesystem::path>
Film::dcps () const
{
@@
-766,7
+766,7
@@
Film::dcps () const
) {
try {
) {
try {
-
lib
dcp::DCP dcp (*i);
+ dcp::DCP dcp (*i);
dcp.read ();
out.push_back (i->path().leaf ());
} catch (...) {
dcp.read ();
out.push_back (i->path().leaf ());
} catch (...) {
@@
-861,7
+861,7
@@
Film::move_content_later (shared_ptr<Content> c)
_playlist->move_later (c);
}
_playlist->move_later (c);
}
-Time
+
DCP
Time
Film::length () const
{
return _playlist->length ();
Film::length () const
{
return _playlist->length ();
@@
-873,12
+873,18
@@
Film::has_subtitles () const
return _playlist->has_subtitles ();
}
return _playlist->has_subtitles ();
}
-
Output
VideoFrame
+VideoFrame
Film::best_video_frame_rate () const
{
return _playlist->best_dcp_frame_rate ();
}
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<Content> c, int p)
{
void
Film::playlist_content_changed (boost::weak_ptr<Content> c, int p)
{
@@
-897,31
+903,31
@@
Film::playlist_changed ()
signal_changed (CONTENT);
}
signal_changed (CONTENT);
}
-
Output
AudioFrame
-Film::time_to_audio_frames (Time t) const
+AudioFrame
+Film::time_to_audio_frames (
DCP
Time t) const
{
return t * audio_frame_rate () / TIME_HZ;
}
{
return t * audio_frame_rate () / TIME_HZ;
}
-
Output
VideoFrame
-Film::time_to_video_frames (Time t) const
+VideoFrame
+Film::time_to_video_frames (
DCP
Time t) const
{
return t * video_frame_rate () / TIME_HZ;
}
{
return t * video_frame_rate () / TIME_HZ;
}
-Time
-Film::audio_frames_to_time (
Output
AudioFrame f) const
+
DCP
Time
+Film::audio_frames_to_time (AudioFrame f) const
{
return f * TIME_HZ / audio_frame_rate ();
}
{
return f * TIME_HZ / audio_frame_rate ();
}
-Time
-Film::video_frames_to_time (
Output
VideoFrame f) const
+
DCP
Time
+Film::video_frames_to_time (VideoFrame f) const
{
return f * TIME_HZ / video_frame_rate ();
}
{
return f * TIME_HZ / video_frame_rate ();
}
-
Output
AudioFrame
+AudioFrame
Film::audio_frame_rate () const
{
/* XXX */
Film::audio_frame_rate () const
{
/* XXX */
@@
-936,23
+942,23
@@
Film::set_sequence_video (bool s)
signal_changed (SEQUENCE_VIDEO);
}
signal_changed (SEQUENCE_VIDEO);
}
-
lib
dcp::Size
+dcp::Size
Film::full_frame () const
{
switch (_resolution) {
case RESOLUTION_2K:
Film::full_frame () const
{
switch (_resolution) {
case RESOLUTION_2K:
- return
lib
dcp::Size (2048, 1080);
+ return dcp::Size (2048, 1080);
case RESOLUTION_4K:
case RESOLUTION_4K:
- return
lib
dcp::Size (4096, 2160);
+ return dcp::Size (4096, 2160);
}
assert (false);
}
assert (false);
- return
lib
dcp::Size ();
+ return dcp::Size ();
}
}
-
lib
dcp::KDM
+dcp::KDM
Film::make_kdm (
Film::make_kdm (
- shared_ptr<
lib
dcp::Certificate> target,
+ shared_ptr<dcp::Certificate> target,
boost::filesystem::path dcp_dir,
boost::posix_time::ptime from,
boost::posix_time::ptime until
boost::filesystem::path dcp_dir,
boost::posix_time::ptime from,
boost::posix_time::ptime until
@@
-960,7
+966,7
@@
Film::make_kdm (
{
shared_ptr<const Signer> signer = make_signer ();
{
shared_ptr<const Signer> signer = make_signer ();
-
lib
dcp::DCP dcp (dir (dcp_dir.string ()));
+ dcp::DCP dcp (dir (dcp_dir.string ()));
try {
dcp.read ();
try {
dcp.read ();
@@
-970,14
+976,14
@@
Film::make_kdm (
time_t now = time (0);
struct tm* tm = localtime (&now);
time_t now = time (0);
struct tm* tm = localtime (&now);
- string const issue_date =
lib
dcp::tm_to_string (tm);
+ string const issue_date = dcp::tm_to_string (tm);
dcp.cpls().front()->set_mxf_keys (key ());
dcp.cpls().front()->set_mxf_keys (key ());
- return
lib
dcp::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<
lib
dcp::KDM>
+list<dcp::KDM>
Film::make_kdms (
list<shared_ptr<Screen> > screens,
boost::filesystem::path dcp,
Film::make_kdms (
list<shared_ptr<Screen> > screens,
boost::filesystem::path dcp,
@@
-985,7
+991,7
@@
Film::make_kdms (
boost::posix_time::ptime until
) const
{
boost::posix_time::ptime until
) const
{
- list<
lib
dcp::KDM> kdms;
+ list<dcp::KDM> kdms;
for (list<shared_ptr<Screen> >::iterator i = screens.begin(); i != screens.end(); ++i) {
kdms.push_back (make_kdm ((*i)->certificate, dcp, from, until));
for (list<shared_ptr<Screen> >::iterator i = screens.begin(); i != screens.end(); ++i) {
kdms.push_back (make_kdm ((*i)->certificate, dcp, from, until));