diff options
| author | Carl Hetherington <cth@carlh.net> | 2017-12-11 01:06:37 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2017-12-11 01:06:37 +0000 |
| commit | 14c5566fe90b2584c7474c3250e6506d70e81510 (patch) | |
| tree | a219ac33ceb407eb384e0781b4f4e741f99a374d /src/lib/content_factory.cc | |
| parent | f09e516b90f0b097c949926831ad1bc282ba41f7 (diff) | |
Fix various problems caused by non-integer-frame start trims,
and also by the inability of content_video_to_dcp to return
negative values. The latter is necessary for tests on "is this
content too early" to work.
Diffstat (limited to 'src/lib/content_factory.cc')
| -rw-r--r-- | src/lib/content_factory.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/lib/content_factory.cc b/src/lib/content_factory.cc index 8aa432b09..51dc4e1b3 100644 --- a/src/lib/content_factory.cc +++ b/src/lib/content_factory.cc @@ -119,6 +119,26 @@ content_factory (shared_ptr<const Film> film, cxml::NodePtr node, int version, l notes.push_back (note); } + /* ...or have a start trim which is an integer number of frames */ + ContentTime const old_trim = content->trim_start(); + content->set_trim_start(old_trim); + if (old_trim != content->trim_start()) { + string note = _("Your project contains video content whose trim was not aligned to a frame boundary."); + note += " "; + if (old_trim < content->trim_start()) { + note += String::compose( + _("The file %1 has been trimmed by %2 milliseconds more."), + content->path_summary(), ContentTime(content->trim_start() - old_trim).seconds() * 1000 + ); + } else { + note += String::compose( + _("The file %1 has been trimmed by %2 milliseconds less."), + content->path_summary(), ContentTime(old_trim - content->trim_start()).seconds() * 1000 + ); + } + notes.push_back (note); + } + return content; } |
