Stop CPL <Creator> tag being configurable and use DCP-o-matic version number instead.
authorCarl Hetherington <cth@carlh.net>
Sun, 31 Aug 2014 22:42:16 +0000 (23:42 +0100)
committerCarl Hetherington <cth@carlh.net>
Sun, 31 Aug 2014 22:42:16 +0000 (23:42 +0100)
ChangeLog
src/lib/config.cc
src/lib/config.h
src/lib/writer.cc
src/wx/config_dialog.cc

index 99558f508b4895aba17f0526c326485619b5786d..c919f85b5c1e3b15b5bd6ca6d9950310e8b9df59 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2014-08-31  Carl Hetherington  <cth@carlh.net>
 
+       * Remove configurable CPL <Creator> and use "DCP-o-matic (version) (git)"
+       instead.
+
        * Fix lack of i18n of strings from src/lib/po on OS X.
 
        * Give a hint when content and container aspect ratios are not
index 04f28579ba580ab927e9ac77a58958632e7fa8a9..67abc63c2e8df4207ea339b3c909b1f69ffdf1b5 100644 (file)
@@ -150,9 +150,12 @@ Config::read ()
                _default_dcp_content_type = DCPContentType::from_isdcf_name (c.get ());
        }
 
-       _dcp_metadata.issuer = f.optional_string_child ("DCPMetadataIssuer").get_value_or ("");
-       _dcp_metadata.creator = f.optional_string_child ("DCPMetadataCreator").get_value_or ("");
-
+       if (f.optional_string_child ("DCPMetadataIssuer")) {
+               _dcp_issuer = f.string_child ("DCPMetadataIssuer");
+       } else if (f.optional_string_child ("DCPIssuer")) {
+               _dcp_issuer = f.string_child ("DCPIssuer");
+       }
+       
        if (version && version.get() >= 2) {
                _default_isdcf_metadata = ISDCFMetadata (f.node_child ("ISDCFMetadata"));
        } else {
@@ -266,11 +269,7 @@ Config::read_old_metadata ()
                } else if (k == "default_dcp_content_type") {
                        _default_dcp_content_type = DCPContentType::from_isdcf_name (v);
                } else if (k == "dcp_metadata_issuer") {
-                       _dcp_metadata.issuer = v;
-               } else if (k == "dcp_metadata_creator") {
-                       _dcp_metadata.creator = v;
-               } else if (k == "dcp_metadata_issue_date") {
-                       _dcp_metadata.issue_date = v;
+                       _dcp_issuer = v;
                }
 
                _default_isdcf_metadata.read_old_metadata (k, v);
@@ -363,8 +362,7 @@ Config::write () const
        if (_default_dcp_content_type) {
                root->add_child("DefaultDCPContentType")->add_child_text (_default_dcp_content_type->isdcf_name ());
        }
-       root->add_child("DCPMetadataIssuer")->add_child_text (_dcp_metadata.issuer);
-       root->add_child("DCPMetadataCreator")->add_child_text (_dcp_metadata.creator);
+       root->add_child("DCPIssuer")->add_child_text (_dcp_issuer);
 
        _default_isdcf_metadata.as_xml (root->add_child ("ISDCFMetadata"));
 
index aa3c06356320cd28464b14b1e7e358a403f87df5..4f6b57f5652c2ef14f1bf9ade48c6a40db8a96d0 100644 (file)
@@ -28,7 +28,6 @@
 #include <boost/shared_ptr.hpp>
 #include <boost/signals2.hpp>
 #include <boost/filesystem.hpp>
-#include <libdcp/metadata.h>
 #include "isdcf_metadata.h"
 #include "colour_conversion.h"
 #include "server.h"
@@ -145,8 +144,8 @@ public:
                return _default_dcp_content_type;
        }
 
-       libdcp::XMLMetadata dcp_metadata () const {
-               return _dcp_metadata;
+       std::string dcp_issuer () const {
+               return _dcp_issuer;
        }
 
        int default_j2k_bandwidth () const {
@@ -309,8 +308,8 @@ public:
                changed ();
        }
 
-       void set_dcp_metadata (libdcp::XMLMetadata m) {
-               _dcp_metadata = m;
+       void set_dcp_issuer (std::string i) {
+               _dcp_issuer = i;
                changed ();
        }
 
@@ -445,7 +444,7 @@ private:
        Ratio const * _default_scale;
        Ratio const * _default_container;
        DCPContentType const * _default_dcp_content_type;
-       libdcp::XMLMetadata _dcp_metadata;
+       std::string _dcp_issuer;
        int _default_j2k_bandwidth;
        int _default_audio_delay;
        std::vector<PresetColourConversion> _colour_conversions;
index e8d4f90a6cbc181bb7c162cf5bf7efc1179db29c..dd2e98eeed5e0b33e484773fea63890a95e4aaa9 100644 (file)
@@ -38,6 +38,7 @@
 #include "job.h"
 #include "cross.h"
 #include "md5_digester.h"
+#include "version.h"
 
 #include "i18n.h"
 
@@ -471,7 +472,9 @@ Writer::finish ()
                _sound_asset->compute_digest (boost::bind (&Job::set_progress, job.get(), _1, false));
        }
 
-       libdcp::XMLMetadata meta = Config::instance()->dcp_metadata ();
+       libdcp::XMLMetadata meta;
+       meta.issuer = Config::instance()->dcp_issuer ();
+       meta.creator = String::compose ("DCP-o-matic %1 %2", dcpomatic_version, dcpomatic_git_commit);
        meta.set_issue_date_now ();
        dcp.write_xml (_film->interop (), meta, _film->is_signed() ? make_signer () : shared_ptr<const libdcp::Signer> ());
 
index a0df1a6406f8a7ac6a9f3f3726fe5b253f8ba8f0..463b77e97e82d6d6f0d33c236e21eb8cfec8696c 100644 (file)
@@ -301,10 +301,6 @@ public:
                _issuer = new wxTextCtrl (panel, wxID_ANY);
                table->Add (_issuer, 1, wxEXPAND);
 
-               add_label_to_sizer (table, panel, _("Default creator"), true);
-               _creator = new wxTextCtrl (panel, wxID_ANY);
-               table->Add (_creator, 1, wxEXPAND);
-               
                Config* config = Config::instance ();
                
                _still_length->SetRange (1, 3600);
@@ -353,10 +349,8 @@ public:
                _audio_delay->SetValue (config->default_audio_delay ());
                _audio_delay->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&DefaultsPage::audio_delay_changed, this));
 
-               _issuer->SetValue (std_to_wx (config->dcp_metadata().issuer));
+               _issuer->SetValue (std_to_wx (config->dcp_issuer ()));
                _issuer->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&DefaultsPage::issuer_changed, this));
-               _creator->SetValue (std_to_wx (config->dcp_metadata().creator));
-               _creator->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&DefaultsPage::creator_changed, this));
 
                return panel;
        }
@@ -410,16 +404,7 @@ private:
 
        void issuer_changed ()
        {
-               libdcp::XMLMetadata m = Config::instance()->dcp_metadata ();
-               m.issuer = wx_to_std (_issuer->GetValue ());
-               Config::instance()->set_dcp_metadata (m);
-       }
-       
-       void creator_changed ()
-       {
-               libdcp::XMLMetadata m = Config::instance()->dcp_metadata ();
-               m.creator = wx_to_std (_creator->GetValue ());
-               Config::instance()->set_dcp_metadata (m);
+               Config::instance()->set_dcp_issuer (wx_to_std (_issuer->GetValue ()));
        }
        
        wxSpinCtrl* _j2k_bandwidth;
@@ -435,7 +420,6 @@ private:
        wxChoice* _container;
        wxChoice* _dcp_content_type;
        wxTextCtrl* _issuer;
-       wxTextCtrl* _creator;
 };
 
 class EncodingServersPage : public wxPreferencesPage, public Page