summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-02-09 22:49:47 +0100
committerCarl Hetherington <cth@carlh.net>2023-02-10 10:31:15 +0100
commitfbdfc901498605f89f28a57d595df966bddc4eb1 (patch)
tree41f046cc60ee9ab11cbb391d0afce114bbd685d2
parentead33f1db9657b3af93ec966d7bbc24218b6fba0 (diff)
Cleanup: add Content::period().
-rw-r--r--src/lib/content.h4
-rw-r--r--src/lib/empty.cc2
-rw-r--r--src/lib/overlaps.cc2
-rw-r--r--src/lib/player.cc4
-rw-r--r--src/lib/playlist.cc2
-rw-r--r--src/wx/timeline.cc5
6 files changed, 12 insertions, 7 deletions
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<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 {
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<const Film> film, shared_ptr<const Playlist> playlist,
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));
}
}
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<const Film> film, ContentList cl, function<bool
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);
}
}
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<const Film> 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<const Film> 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<const Film> 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;