Fix merge.
authorCarl Hetherington <cth@carlh.net>
Mon, 17 Oct 2016 13:39:08 +0000 (14:39 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 17 Oct 2016 13:39:08 +0000 (14:39 +0100)
ChangeLog
debian/changelog
src/lib/dcp.cc
src/lib/dcp_content.cc
src/lib/dcp_content.h
src/wx/about_dialog.cc
src/wx/content_menu.cc
src/wx/content_menu.h
src/wx/content_panel.cc
wscript

index a8d82999bf05a9e1d9050ff4ec0abc90eec8efa0..be2c38a0ccb2be54a6daa21ff567f1c8dfd98b0f 100644 (file)
--- 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.
index 9afb9eac7d55090a9ef3ce205d7fa229c24ed7bd..cf7a1ef59912d341db8897dfb1e1d0bd8743f1ef 100644 (file)
@@ -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
 
index 6d5c0b2910ba5e6a78b41a75b5c873f8db81ea12..f58b06b57f4aab65ed48ac282f59cb4c18d7792c 100644 (file)
@@ -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;
 }
index 0d36118e716adbd720bedfb46655a34476d70dcb..dc32a243e89245221ec37b9906626bf31a39d6b3 100644 (file)
@@ -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);
 }
 
index 21b654c96040d756ad37888f427ca49ccc1f91bd..1212b8b0fbf3ff79f3681d10b8c0fd6044b5b516 100644 (file)
@@ -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;
index 9364b5427ae44cfba7cf4218d08686477f2ffd94..70cfed4e150357f16b4ce7c9b58405d8d8947fc2 100644 (file)
@@ -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"));
index ad6d6fc654403dbfda7fb8064152122097521bcb..de3aceac0ff574c2e4d0c9ce81712eeab4217d0f 100644 (file)
@@ -379,29 +379,12 @@ 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 ()
 {
index 7b1e663fa8a86902746ca9c6e05d1b30b26a961a..84daa71a56e0cd13a749471699d79ab5e0f27e1d 100644 (file)
@@ -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;
index 7bea5168757766a9c93c3fd6edae248c1fde4001..ea1d507661ec96594a7f4726eb9df9b977b90b1d 100644 (file)
@@ -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 2e5a687b7bfaf5ae67abc6ddd03c806960235c06..544ca241de5fdebd78a18dfb8d71281f86da5b67 100644 (file)
--- 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')