diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-07-31 23:52:02 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-07-31 23:52:02 +0100 |
| commit | 9c01623c3038b978ba732de2ad147d29fad60afe (patch) | |
| tree | 72907bc7560dcef38d43f363881e2b959d4c0d34 /src/lib/playlist.cc | |
| parent | 83a2cf5916fe7207e786b95aa5c560b6b5d11e4e (diff) | |
Allow configuration of MXF/XML filenames (part of #710).
Diffstat (limited to 'src/lib/playlist.cc')
| -rw-r--r-- | src/lib/playlist.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/lib/playlist.cc b/src/lib/playlist.cc index 739c5a20b..a8b5a26eb 100644 --- a/src/lib/playlist.cc +++ b/src/lib/playlist.cc @@ -511,3 +511,28 @@ Playlist::required_disk_space (int j2k_bandwidth, int audio_channels, int audio_ /* Add on 64k for bits and pieces (metadata, subs etc) */ return video + audio + 65536; } + +string +Playlist::content_summary (DCPTimePeriod period) const +{ + string best_summary; + int best_score = -1; + BOOST_FOREACH (shared_ptr<Content> i, _content) { + int score = 0; + optional<DCPTimePeriod> const o = DCPTimePeriod(i->position(), i->end()).overlap (period); + if (o) { + score += 100 * o.get().duration().get() / period.duration().get(); + } + + if (i->video) { + score += 100; + } + + if (score > best_score) { + best_summary = i->path(0).leaf().string(); + best_score = score; + } + } + + return best_summary; +} |
