2015-08-18 Carl Hetherington <cth@carlh.net>
+ * Add configuration for DCP creator metadata.
+
* Version 2.1.40 released.
2015-08-18 Carl Hetherington <cth@carlh.net>
_dcp_issuer = f.string_child ("DCPIssuer");
}
+ _dcp_creator = f.optional_string_child ("DCPCreator").get_value_or ("");
+
if (version && version.get() >= 2) {
_default_isdcf_metadata = ISDCFMetadata (f.node_child ("ISDCFMetadata"));
} else {
root->add_child("DefaultDCPContentType")->add_child_text (_default_dcp_content_type->isdcf_name ());
}
root->add_child("DCPIssuer")->add_child_text (_dcp_issuer);
+ root->add_child("DCPCreator")->add_child_text (_dcp_creator);
_default_isdcf_metadata.as_xml (root->add_child ("ISDCFMetadata"));
return _dcp_issuer;
}
+ std::string dcp_creator () const {
+ return _dcp_creator;
+ }
+
int default_j2k_bandwidth () const {
return _default_j2k_bandwidth;
}
maybe_set (_dcp_issuer, i);
}
+ void set_dcp_creator (std::string c) {
+ maybe_set (_dcp_creator, c);
+ }
+
void set_default_j2k_bandwidth (int b) {
maybe_set (_default_j2k_bandwidth, b);
}
Ratio const * _default_container;
DCPContentType const * _default_dcp_content_type;
std::string _dcp_issuer;
+ std::string _dcp_creator;
int _default_j2k_bandwidth;
int _default_audio_delay;
std::list<boost::shared_ptr<Cinema> > _cinemas;
}
dcp::XMLMetadata meta;
- meta.creator = String::compose ("DCP-o-matic %1 %2", dcpomatic_version, dcpomatic_git_commit);
+ meta.creator = Config::instance()->dcp_creator ();
+ if (meta.creator.empty ()) {
+ meta.creator = String::compose ("DCP-o-matic %1 %2", dcpomatic_version, dcpomatic_git_commit);
+ }
meta.issuer = Config::instance()->dcp_issuer ();
if (meta.issuer.empty ()) {
- meta.issuer = meta.creator;
+ meta.issuer = String::compose ("DCP-o-matic %1 %2", dcpomatic_version, dcpomatic_git_commit);
}
meta.set_issue_date_now ();
_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);
+
_still_length->SetRange (1, 3600);
_still_length->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&DefaultsPage::still_length_changed, this));
_audio_delay->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&DefaultsPage::audio_delay_changed, this));
_issuer->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&DefaultsPage::issuer_changed, this));
+ _creator->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&DefaultsPage::creator_changed, this));
}
void config_changed ()
_j2k_bandwidth->SetRange (50, config->maximum_j2k_bandwidth() / 1000000);
checked_set (_audio_delay, config->default_audio_delay ());
checked_set (_issuer, config->dcp_issuer ());
+ checked_set (_creator, config->dcp_creator ());
}
void j2k_bandwidth_changed ()
Config::instance()->set_dcp_issuer (wx_to_std (_issuer->GetValue ()));
}
+ void creator_changed ()
+ {
+ Config::instance()->set_dcp_creator (wx_to_std (_creator->GetValue ()));
+ }
+
wxSpinCtrl* _j2k_bandwidth;
wxSpinCtrl* _audio_delay;
wxButton* _isdcf_metadata_button;
wxChoice* _container;
wxChoice* _dcp_content_type;
wxTextCtrl* _issuer;
+ wxTextCtrl* _creator;
};
class EncodingServersPage : public StandardPage