return position() + length_after_trim(film);
}
+ dcpomatic::DCPTimePeriod period(std::shared_ptr<const Film> film) const {
+ return { position(), end(film) };
+ }
+
dcpomatic::DCPTime length_after_trim (std::shared_ptr<const Film> film) const;
boost::optional<double> video_frame_rate () const {
list<DCPTimePeriod> full;
for (auto i: playlist->content()) {
if (part(i) && i->paths_valid()) {
- full.push_back (DCPTimePeriod(i->position(), i->end(film)));
+ full.push_back(i->period(film));
}
}
ContentList overlaps;
DCPTimePeriod period (from, to);
for (auto i: cl) {
- if (part(i) && DCPTimePeriod(i->position(), i->end(film)).overlap(period)) {
+ if (part(i) && i->period(film).overlap(period)) {
overlaps.push_back (i);
}
}
for (auto piece = _pieces.begin(); piece != _pieces.end(); ++piece) {
if (ignore_overlap((*piece)->content->video)) {
/* Look for content later in the content list with in-use video that overlaps this */
- auto const period = DCPTimePeriod((*piece)->content->position(), (*piece)->content->end(film));
+ auto const period = (*piece)->content->period(film);
for (auto later_piece = std::next(piece); later_piece != _pieces.end(); ++later_piece) {
if (ignore_overlap((*later_piece)->content->video)) {
- (*piece)->ignore_video = DCPTimePeriod((*later_piece)->content->position(), (*later_piece)->content->end(film)).overlap(period);
+ (*piece)->ignore_video = (*later_piece)->content->period(film).overlap(period);
}
}
}
int best_score = -1;
for (auto i: content()) {
int score = 0;
- auto const o = DCPTimePeriod(i->position(), i->end(film)).overlap (period);
+ auto const o = i->period(film).overlap(period);
if (o) {
score += 100 * o.get().duration().get() / period.duration().get();
}
int t = base;
auto content = cv->content();
- DCPTimePeriod const content_period (content->position(), content->end(film));
+ DCPTimePeriod const content_period = content->period(film);
while (true) {
auto j = views.begin();
auto test_content = test->content();
if (
test->track() && test->track().get() == t &&
- content_period.overlap(DCPTimePeriod(test_content->position(), test_content->end(film)))) {
+ content_period.overlap(test_content->period(film))
+ ) {
/* we have an overlap on track `t' */
++t;
break;