summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-10-14 23:38:16 +0100
committerCarl Hetherington <cth@carlh.net>2016-10-14 23:38:16 +0100
commit8726c70cc1b14dc996c18670cdcda0b4d670605e (patch)
treead1b6f02f366c3c0aec275cf4b6fb6e0f8050402 /src/lib
parent19a66e2230f56cb84c17d1b00d34f2849f36f3e2 (diff)
Update content list when selected CPL changes in DCP content.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dcp_content.cc6
-rw-r--r--src/lib/dcp_content.h6
2 files changed, 12 insertions, 0 deletions
diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc
index 0d36118e7..dc32a243e 100644
--- a/src/lib/dcp_content.cc
+++ b/src/lib/dcp_content.cc
@@ -59,6 +59,7 @@ int const DCPContentProperty::NEEDS_KDM = 601;
int const DCPContentProperty::REFERENCE_VIDEO = 602;
int const DCPContentProperty::REFERENCE_AUDIO = 603;
int const DCPContentProperty::REFERENCE_SUBTITLE = 604;
+int const DCPContentProperty::NAME = 605;
DCPContent::DCPContent (shared_ptr<const Film> film, boost::filesystem::path p)
: Content (film)
@@ -138,6 +139,7 @@ DCPContent::examine (shared_ptr<Job> job)
{
bool const needed_assets = needs_assets ();
bool const needed_kdm = needs_kdm ();
+ string const old_name = name ();
job->set_progress_unknown ();
Content::examine (job);
@@ -180,6 +182,10 @@ DCPContent::examine (shared_ptr<Job> job)
signal_changed (DCPContentProperty::NEEDS_KDM);
}
+ if (old_name != name ()) {
+ signal_changed (DCPContentProperty::NAME);
+ }
+
video->set_frame_type (_three_d ? VIDEO_FRAME_TYPE_3D : VIDEO_FRAME_TYPE_2D);
}
diff --git a/src/lib/dcp_content.h b/src/lib/dcp_content.h
index 21b654c96..1212b8b0f 100644
--- a/src/lib/dcp_content.h
+++ b/src/lib/dcp_content.h
@@ -37,6 +37,7 @@ public:
static int const REFERENCE_VIDEO;
static int const REFERENCE_AUDIO;
static int const REFERENCE_SUBTITLE;
+ static int const NAME;
};
class ContentPart;
@@ -135,6 +136,11 @@ private:
std::list<std::string>& why_not
) const;
+ std::string name () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _name;
+ }
+
std::string _name;
/** true if our DCP is encrypted */
bool _encrypted;