X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fcontent.cc;h=ed0e9af6db855da97f095d134679dc8c421fd192;hb=ff639b3cf30afcc097bfd21d39c8d15f466cadd6;hp=370139d12b72579f180837466458556fe88f7f81;hpb=07b21bb92a8d54c6c03de9aadc63ab93b65d9bc5;p=dcpomatic.git diff --git a/src/lib/content.cc b/src/lib/content.cc index 370139d12..ed0e9af6d 100644 --- a/src/lib/content.cc +++ b/src/lib/content.cc @@ -24,17 +24,17 @@ */ -#include "content.h" +#include "audio_content.h" #include "change_signaller.h" -#include "util.h" +#include "compose.hpp" +#include "content.h" #include "content_factory.h" -#include "video_content.h" -#include "audio_content.h" -#include "text_content.h" #include "exceptions.h" #include "film.h" #include "job.h" -#include "compose.hpp" +#include "text_content.h" +#include "util.h" +#include "video_content.h" #include #include #include @@ -48,8 +48,6 @@ using std::cout; using std::list; using std::make_shared; -using std::max; -using std::pair; using std::shared_ptr; using std::string; using std::vector; @@ -171,15 +169,11 @@ Content::as_xml (xmlpp::Node* node, bool with_paths) const string Content::calculate_digest () const { - boost::mutex::scoped_lock lm (_mutex); - auto p = _paths; - lm.unlock (); - /* Some content files are very big, so we use a poor man's digest here: a digest of the first and last 1e6 bytes with the size of the first file tacked on the end as a string. */ - return digest_head_tail(p, 1000000) + raw_convert(boost::filesystem::file_size(p.front())); + return simple_digest (paths()); } @@ -465,7 +459,24 @@ Content::active_video_frame_rate (shared_ptr film) const void Content::add_properties (shared_ptr, list& p) const { - p.push_back (UserProperty (UserProperty::GENERAL, _("Filename"), path(0).string ())); + auto paths_to_show = std::min(number_of_paths(), size_t{8}); + string paths = ""; + for (auto i = size_t{0}; i < paths_to_show; ++i) { + paths += path(i).string(); + if (i < (paths_to_show - 1)) { + paths += "\n"; + } + } + if (paths_to_show < number_of_paths()) { + paths += String::compose("... and %1 more", number_of_paths() - paths_to_show); + } + p.push_back ( + UserProperty( + UserProperty::GENERAL, + paths_to_show > 1 ? _("Filenames") : _("Filename"), + paths + ) + ); if (_video_frame_rate) { if (video) {