diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-10-14 23:38:16 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-10-14 23:38:16 +0100 |
| commit | 8726c70cc1b14dc996c18670cdcda0b4d670605e (patch) | |
| tree | ad1b6f02f366c3c0aec275cf4b6fb6e0f8050402 /src | |
| parent | 19a66e2230f56cb84c17d1b00d34f2849f36f3e2 (diff) | |
Update content list when selected CPL changes in DCP content.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/dcp_content.cc | 6 | ||||
| -rw-r--r-- | src/lib/dcp_content.h | 6 | ||||
| -rw-r--r-- | src/wx/content_panel.cc | 8 |
3 files changed, 19 insertions, 1 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; diff --git a/src/wx/content_panel.cc b/src/wx/content_panel.cc index 7bea51687..ea1d50766 100644 --- a/src/wx/content_panel.cc +++ b/src/wx/content_panel.cc @@ -481,7 +481,13 @@ ContentPanel::set_selection (ContentList cl) void ContentPanel::film_content_changed (int property) { - if (property == ContentProperty::PATH || property == DCPContentProperty::NEEDS_ASSETS || property == DCPContentProperty::NEEDS_KDM) { + if ( + property == ContentProperty::PATH || + property == DCPContentProperty::NEEDS_ASSETS || + property == DCPContentProperty::NEEDS_KDM || + property == DCPContentProperty::NAME + ) { + setup (); } |
