From: Carl Hetherington Date: Thu, 9 Feb 2023 21:49:47 +0000 (+0100) Subject: Cleanup: add Content::period(). X-Git-Tag: v2.16.43~19 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=fbdfc901498605f89f28a57d595df966bddc4eb1 Cleanup: add Content::period(). --- diff --git a/src/lib/content.h b/src/lib/content.h index eddce2858..979680d6a 100644 --- a/src/lib/content.h +++ b/src/lib/content.h @@ -175,6 +175,10 @@ public: return position() + length_after_trim(film); } + dcpomatic::DCPTimePeriod period(std::shared_ptr film) const { + return { position(), end(film) }; + } + dcpomatic::DCPTime length_after_trim (std::shared_ptr film) const; boost::optional video_frame_rate () const { diff --git a/src/lib/empty.cc b/src/lib/empty.cc index 96d036463..a75066395 100644 --- a/src/lib/empty.cc +++ b/src/lib/empty.cc @@ -43,7 +43,7 @@ Empty::Empty (shared_ptr film, shared_ptr playlist, list 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)); } } diff --git a/src/lib/overlaps.cc b/src/lib/overlaps.cc index 770882cd5..fbc6b5cb1 100644 --- a/src/lib/overlaps.cc +++ b/src/lib/overlaps.cc @@ -33,7 +33,7 @@ ContentList overlaps (shared_ptr film, ContentList cl, functionposition(), i->end(film)).overlap(period)) { + if (part(i) && i->period(film).overlap(period)) { overlaps.push_back (i); } } diff --git a/src/lib/player.cc b/src/lib/player.cc index 76e7239aa..575fd5c23 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -381,10 +381,10 @@ Player::setup_pieces () 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); } } } diff --git a/src/lib/playlist.cc b/src/lib/playlist.cc index 5f26b94f3..df7c95cc0 100644 --- a/src/lib/playlist.cc +++ b/src/lib/playlist.cc @@ -683,7 +683,7 @@ Playlist::content_summary (shared_ptr film, DCPTimePeriod period) co 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(); } diff --git a/src/wx/timeline.cc b/src/wx/timeline.cc index 0d7ae7afb..2b8fba6fd 100644 --- a/src/wx/timeline.cc +++ b/src/wx/timeline.cc @@ -330,7 +330,7 @@ place (shared_ptr film, TimelineViewList& views, int& tracks) 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(); @@ -344,7 +344,8 @@ place (shared_ptr film, TimelineViewList& views, int& tracks) 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;