diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-12-19 19:59:18 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-09-03 00:52:11 +0200 |
| commit | d18408f2d89897d01d250238bcd5f4438b038948 (patch) | |
| tree | 2841d2e6396a12df7d72ef234ba9911270d61677 /src/lib | |
| parent | 3be2a770aabfe44d33f5f7509c89dce28cf9f50d (diff) | |
Add and use Time::identifier().
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/content.cc | 7 | ||||
| -rw-r--r-- | src/lib/dcpomatic_time.h | 5 | ||||
| -rw-r--r-- | src/lib/film.cc | 10 | ||||
| -rw-r--r-- | src/lib/text_content.cc | 4 |
4 files changed, 13 insertions, 13 deletions
diff --git a/src/lib/content.cc b/src/lib/content.cc index 94011c784..c62522105 100644 --- a/src/lib/content.cc +++ b/src/lib/content.cc @@ -320,12 +320,7 @@ Content::length_after_trim(shared_ptr<const Film> film) const string Content::identifier() const { - char buffer[256]; - snprintf( - buffer, sizeof(buffer), "%s_%" PRId64 "_%" PRId64 "_%" PRId64, - Content::digest().c_str(), position().get(), trim_start().get(), trim_end().get() - ); - return buffer; + return fmt::format("{}_{}_{}_{}", Content::digest(), position().identifier(), trim_start().identifier(), trim_end().identifier()); } diff --git a/src/lib/dcpomatic_time.h b/src/lib/dcpomatic_time.h index 8382a7d95..2f788d580 100644 --- a/src/lib/dcpomatic_time.h +++ b/src/lib/dcpomatic_time.h @@ -259,6 +259,11 @@ public: return buffer; } + std::string identifier() const { + /* XXX: maybe this should be more carefully considered */ + return fmt::to_string(_t); + } + static Time<S, O> from_seconds (double s) { return Time<S, O> (llrint (s * HZ)); } diff --git a/src/lib/film.cc b/src/lib/film.cc index e2e2de111..3c7a8efb3 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -288,8 +288,8 @@ Film::info_file(DCPTimePeriod period) const { boost::filesystem::path p; p /= "info"; - p /= video_identifier() + "_" + fmt::to_string(period.from.get()) + "_" + fmt::to_string(period.to.get()); - return file(p); + p /= video_identifier() + "_" + period.from.identifier() + "_" + period.to.identifier(); + return file (p); } @@ -318,9 +318,9 @@ Film::audio_analysis_path(shared_ptr<const Playlist> playlist) const /* Likewise we only care about position if we're looking at a * whole-project view. */ - digester.add(content->position().get()); - digester.add(content->trim_start().get()); - digester.add(content->trim_end().get()); + digester.add(content->position().identifier()); + digester.add(content->trim_start().identifier()); + digester.add(content->trim_end().identifier()); } } diff --git a/src/lib/text_content.cc b/src/lib/text_content.cc index 726b95f02..a83facd68 100644 --- a/src/lib/text_content.cc +++ b/src/lib/text_content.cc @@ -404,8 +404,8 @@ TextContent::identifier() const + "_" + fmt::to_string(x_offset()) + "_" + fmt::to_string(y_offset()) + "_" + fmt::to_string(line_spacing()) - + "_" + fmt::to_string(fade_in().get_value_or(ContentTime()).get()) - + "_" + fmt::to_string(fade_out().get_value_or(ContentTime()).get()) + + "_" + fmt::to_string(fade_in().get_value_or({}).identifier()) + + "_" + fmt::to_string(fade_out().get_value_or({}).identifier()) + "_" + fmt::to_string(outline_width()) + "_" + fmt::to_string(colour().get_value_or(dcp::Colour(255, 255, 255)).to_argb_string()) + "_" + fmt::to_string(dcp::effect_to_string(effect().get_value_or(dcp::Effect::NONE))) |
