summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-10-17 14:39:08 +0100
committerCarl Hetherington <cth@carlh.net>2016-10-17 14:39:08 +0100
commit894d6e4cbfab5217adf6f39b1c097cec2a8f948c (patch)
treec618263a57215bc7b1b08fb97223520532724bb2
parent987238a22e696862aaad92adf9f32fd77aef0e07 (diff)
parent2df052b9e1811873d9ac90877836fadcd86ca6fb (diff)
Fix merge.
-rw-r--r--ChangeLog4
-rw-r--r--debian/changelog5
-rw-r--r--src/lib/dcp.cc9
-rw-r--r--src/lib/dcp_content.cc6
-rw-r--r--src/lib/dcp_content.h6
-rw-r--r--src/wx/about_dialog.cc18
-rw-r--r--src/wx/content_menu.cc19
-rw-r--r--src/wx/content_menu.h1
-rw-r--r--src/wx/content_panel.cc8
-rw-r--r--wscript2
10 files changed, 43 insertions, 35 deletions
diff --git a/ChangeLog b/ChangeLog
index a8d82999b..be2c38a0c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,10 @@
* Bump libdcp for fix to corrupted audio analyses
under some locales (#974).
+2016-10-15 Carl Hetherington <cth@carlh.net>
+
+ * Version 2.9.35 released.
+
2016-10-14 Carl Hetherington <cth@carlh.net>
* Version 2.9.34 released.
diff --git a/debian/changelog b/debian/changelog
index 9afb9eac7..cf7a1ef59 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-dcpomatic (2.9.34-1) UNRELEASED; urgency=low
+dcpomatic (2.9.35-1) UNRELEASED; urgency=low
[ Carl Hetherington ]
* New upstream release.
@@ -472,8 +472,9 @@ dcpomatic (2.9.34-1) UNRELEASED; urgency=low
* New upstream release.
* New upstream release.
* New upstream release.
+ * New upstream release.
- -- Carl Hetherington <carl@d1stkfactory> Fri, 14 Oct 2016 00:28:55 +0100
+ -- Carl Hetherington <carl@d1stkfactory> Sat, 15 Oct 2016 01:14:43 +0100
dcpomatic (0.87-1) UNRELEASED; urgency=low
diff --git a/src/lib/dcp.cc b/src/lib/dcp.cc
index 6d5c0b291..f58b06b57 100644
--- a/src/lib/dcp.cc
+++ b/src/lib/dcp.cc
@@ -38,9 +38,6 @@ DCP::cpls () const
BOOST_FOREACH (boost::filesystem::path i, _dcp_content->directories()) {
shared_ptr<dcp::DCP> dcp (new dcp::DCP (i));
dcp->read (false, 0, true);
- if (_dcp_content->kdm ()) {
- dcp->add (dcp::DecryptedKDM (_dcp_content->kdm().get(), Config::instance()->decryption_chain()->key().get ()));
- }
dcps.push_back (dcp);
BOOST_FOREACH (shared_ptr<dcp::CPL> i, dcp->cpls()) {
cpls.push_back (i);
@@ -55,5 +52,11 @@ DCP::cpls () const
}
}
+ if (_dcp_content->kdm ()) {
+ BOOST_FOREACH (shared_ptr<dcp::DCP> i, dcps) {
+ i->add (dcp::DecryptedKDM (_dcp_content->kdm().get(), Config::instance()->decryption_chain()->key().get ()));
+ }
+ }
+
return cpls;
}
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/about_dialog.cc b/src/wx/about_dialog.cc
index 9364b5427..70cfed4e1 100644
--- a/src/wx/about_dialog.cc
+++ b/src/wx/about_dialog.cc
@@ -144,8 +144,8 @@ AboutDialog::AboutDialog (wxWindow* parent)
supported_by.Add (wxT ("Silvio Bonomi"));
supported_by.Add (wxT ("Jeff Boot"));
supported_by.Add (wxT ("Paul Carey"));
- supported_by.Add (wxT ("Kieran Carroll"));
supported_by.Add (wxT ("Nathan Carpenter"));
+ supported_by.Add (wxT ("Kieran Carroll"));
supported_by.Add (wxT ("Matt Carter"));
supported_by.Add (wxT ("Frank Cianciolo"));
supported_by.Add (wxT ("Central Cinema"));
@@ -195,16 +195,9 @@ AboutDialog::AboutDialog (wxWindow* parent)
supported_by.Add (wxT ("Filip Kovcin"));
supported_by.Add (wxT ("Cihan Kulaber"));
supported_by.Add (wxT ("Carsten Kurz"));
- supported_by.Add (wxT ("Robert Legato"));
- supported_by.Add (wxT ("Mandorla"));
- supported_by.Add (wxT ("Andrea Maguolo"));
- supported_by.Add (wxT ("Gerard Manshanden"));
- supported_by.Add (wxT ("Daniel Martinez Lara"));
- supported_by.Add (wxT ("Stefan Massopust"));
- supported_by.Add (wxT ("P. Meijer"));
- supported_by.Add (wxT ("Michal Moc"));
supported_by.Add (wxT ("David Armati Lechner"));
supported_by.Add (wxT ("Lilian Lefranc"));
+ supported_by.Add (wxT ("Robert Legato"));
supported_by.Add (wxT ("Sean Leigh"));
supported_by.Add (wxT ("Olivier Lemaire"));
supported_by.Add (wxT ("Gavin Lewarne"));
@@ -212,15 +205,22 @@ AboutDialog::AboutDialog (wxWindow* parent)
supported_by.Add (wxT ("Paweł Lipiński"));
supported_by.Add (wxT ("Marco Löber"));
supported_by.Add (wxT ("Juan Marin Lorenzo"));
+ supported_by.Add (wxT ("Mandorla"));
+ supported_by.Add (wxT ("Andrea Maguolo"));
+ supported_by.Add (wxT ("Gerard Manshanden"));
+ supported_by.Add (wxT ("Daniel Martinez Lara"));
+ supported_by.Add (wxT ("Stefan Massopust"));
supported_by.Add (wxT ("Richard Malmberg"));
supported_by.Add (wxT ("Adrian Manolescu"));
supported_by.Add (wxT ("Mattias Mattsson"));
supported_by.Add (wxT ("George Mazarakis"));
supported_by.Add (wxT ("Gordon McLeod"));
+ supported_by.Add (wxT ("P. Meijer"));
supported_by.Add (wxT ("Brian Mendelssohn"));
supported_by.Add (wxT ("Kjarten Michaelsen"));
supported_by.Add (wxT ("Aldo Midali"));
supported_by.Add (wxT ("Sylvain Mielle"));
+ supported_by.Add (wxT ("Michal Moc"));
supported_by.Add (wxT ("Howard Molton"));
supported_by.Add (wxT ("Lindsay Morris"));
supported_by.Add (wxT ("NT Next"));
diff --git a/src/wx/content_menu.cc b/src/wx/content_menu.cc
index ad6d6fc65..de3aceac0 100644
--- a/src/wx/content_menu.cc
+++ b/src/wx/content_menu.cc
@@ -379,30 +379,13 @@ ContentMenu::kdm ()
shared_ptr<Film> film = _film.lock ();
DCPOMATIC_ASSERT (film);
- shared_ptr<Job> j (new ExamineContentJob (film, dcp));
- _job_connections.push_back (
- j->Finished.connect (bind (&ContentMenu::check_kdm_validity, this, weak_ptr<DCPContent> (dcp)))
- );
- JobManager::instance()->add (j);
+ JobManager::instance()->add (shared_ptr<Job> (new ExamineContentJob (film, dcp)));
}
d->Destroy ();
}
void
-ContentMenu::check_kdm_validity (weak_ptr<DCPContent> wp)
-{
- shared_ptr<DCPContent> dcp = wp.lock ();
- if (!dcp) {
- return;
- }
-
- if (dcp->needs_kdm ()) {
- error_dialog (0, _("The KDM does not decrypt the DCP. Perhaps it is targeted at the wrong CPL."));
- }
-}
-
-void
ContentMenu::ov ()
{
DCPOMATIC_ASSERT (!_content.empty ());
diff --git a/src/wx/content_menu.h b/src/wx/content_menu.h
index 7b1e663fa..84daa71a5 100644
--- a/src/wx/content_menu.h
+++ b/src/wx/content_menu.h
@@ -50,7 +50,6 @@ private:
void remove ();
void maybe_found_missing (boost::weak_ptr<Job>, boost::weak_ptr<Content>, boost::weak_ptr<Content>);
void cpl_selected (wxCommandEvent& ev);
- void check_kdm_validity (boost::weak_ptr<DCPContent> wp);
wxMenu* _menu;
wxMenu* _cpl_menu;
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 ();
}
diff --git a/wscript b/wscript
index 2e5a687b7..544ca241d 100644
--- a/wscript
+++ b/wscript
@@ -27,7 +27,7 @@ import distutils.spawn
from waflib import Logs, Context
APPNAME = 'dcpomatic'
-VERSION = '2.9.34devel'
+VERSION = '2.9.35devel'
def options(opt):
opt.load('compiler_cxx')