summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-12-19 19:59:18 +0100
committerCarl Hetherington <cth@carlh.net>2025-09-03 00:52:11 +0200
commitd18408f2d89897d01d250238bcd5f4438b038948 (patch)
tree2841d2e6396a12df7d72ef234ba9911270d61677 /src/lib
parent3be2a770aabfe44d33f5f7509c89dce28cf9f50d (diff)
Add and use Time::identifier().
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/content.cc7
-rw-r--r--src/lib/dcpomatic_time.h5
-rw-r--r--src/lib/film.cc10
-rw-r--r--src/lib/text_content.cc4
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)))