From: Carl Hetherington Date: Sat, 3 Apr 2021 00:02:53 +0000 (+0200) Subject: Move chain to the Interop/SMPTE metadata. X-Git-Tag: v2.15.138~5^2~2 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=4b8b74ae8ae721f2fbf317f1d7ce5be6048ae1b0;p=dcpomatic.git Move chain to the Interop/SMPTE metadata. --- diff --git a/src/lib/film.cc b/src/lib/film.cc index 9857dc1f1..147470585 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -886,8 +886,8 @@ Film::isdcf_name (bool if_created_now) const d += "-RedBand"; } - if (!dm.chain.empty ()) { - d += "-" + dm.chain; + if (_chain && !_chain->empty()) { + d += "-" + *_chain; } if (three_d ()) { diff --git a/src/lib/isdcf_metadata.cc b/src/lib/isdcf_metadata.cc index 71f1fc6d0..22e094b1b 100644 --- a/src/lib/isdcf_metadata.cc +++ b/src/lib/isdcf_metadata.cc @@ -34,8 +34,7 @@ using std::shared_ptr; using dcp::raw_convert; ISDCFMetadata::ISDCFMetadata (cxml::ConstNodePtr node) - : chain (node->optional_string_child ("Chain").get_value_or ("")) - , mastered_luminance (node->optional_string_child ("MasteredLuminance").get_value_or ("")) + : mastered_luminance (node->optional_string_child ("MasteredLuminance").get_value_or ("")) { } @@ -43,13 +42,11 @@ ISDCFMetadata::ISDCFMetadata (cxml::ConstNodePtr node) void ISDCFMetadata::as_xml (xmlpp::Node* root) const { - root->add_child("Chain")->add_child_text (chain); root->add_child("MasteredLuminance")->add_child_text (mastered_luminance); } bool operator== (ISDCFMetadata const & a, ISDCFMetadata const & b) { - return a.chain == b.chain && - a.mastered_luminance == b.mastered_luminance; + return a.mastered_luminance == b.mastered_luminance; } diff --git a/src/lib/isdcf_metadata.h b/src/lib/isdcf_metadata.h index 722bb154f..4237b6a3e 100644 --- a/src/lib/isdcf_metadata.h +++ b/src/lib/isdcf_metadata.h @@ -37,8 +37,6 @@ public: void as_xml (xmlpp::Node *) const; void read_old_metadata (std::string, std::string); - /** specific theatre chain or event */ - std::string chain; /** mastered luminance if there are multiple versions distributed (e.g. 35, 4fl, 6fl etc.) */ std::string mastered_luminance; }; diff --git a/src/wx/dcp_panel.cc b/src/wx/dcp_panel.cc index 1213fe1fa..a6f4d53c0 100644 --- a/src/wx/dcp_panel.cc +++ b/src/wx/dcp_panel.cc @@ -456,6 +456,7 @@ DCPPanel::film_changed (Film::Property p) case Film::Property::PRE_RELEASE: case Film::Property::RED_BAND: case Film::Property::TWO_D_VERSION_OF_THREE_D: + case Film::Property::CHAIN: setup_dcp_name (); break; default: diff --git a/src/wx/isdcf_metadata_dialog.cc b/src/wx/isdcf_metadata_dialog.cc index 4faf88ee6..ea390c1bb 100644 --- a/src/wx/isdcf_metadata_dialog.cc +++ b/src/wx/isdcf_metadata_dialog.cc @@ -35,13 +35,9 @@ using std::shared_ptr; ISDCFMetadataDialog::ISDCFMetadataDialog (wxWindow* parent, ISDCFMetadata dm) : TableDialog (parent, _("ISDCF name"), 2, 1, true) { - add (_("Chain"), true); - _chain = add (new wxTextCtrl (this, wxID_ANY)); - add (_("Mastered luminance (e.g. 14fl)"), true); _mastered_luminance = add (new wxTextCtrl (this, wxID_ANY)); - _chain->SetValue (std_to_wx (dm.chain)); _mastered_luminance->SetValue (std_to_wx (dm.mastered_luminance)); layout (); @@ -53,7 +49,6 @@ ISDCFMetadataDialog::isdcf_metadata () const { ISDCFMetadata dm; - dm.chain = wx_to_std (_chain->GetValue ()); dm.mastered_luminance = wx_to_std (_mastered_luminance->GetValue ()); return dm; diff --git a/src/wx/isdcf_metadata_dialog.h b/src/wx/isdcf_metadata_dialog.h index 4f5e8889b..1eb7c8693 100644 --- a/src/wx/isdcf_metadata_dialog.h +++ b/src/wx/isdcf_metadata_dialog.h @@ -33,6 +33,5 @@ public: ISDCFMetadata isdcf_metadata () const; private: - wxTextCtrl* _chain; wxTextCtrl* _mastered_luminance; }; diff --git a/src/wx/metadata_dialog.cc b/src/wx/metadata_dialog.cc index 75b2eff69..c6d28922b 100644 --- a/src/wx/metadata_dialog.cc +++ b/src/wx/metadata_dialog.cc @@ -78,6 +78,8 @@ MetadataDialog::setup () _facility->Bind (wxEVT_TEXT, boost::bind(&MetadataDialog::facility_changed, this)); _enable_studio->Bind (wxEVT_CHECKBOX, boost::bind(&MetadataDialog::enable_studio_changed, this)); _studio->Bind (wxEVT_TEXT, boost::bind(&MetadataDialog::studio_changed, this)); + _enable_chain->Bind (wxEVT_CHECKBOX, boost::bind(&MetadataDialog::enable_chain_changed, this)); + _chain->Bind (wxEVT_TEXT, boost::bind(&MetadataDialog::chain_changed, this)); _temp_version->Bind (wxEVT_CHECKBOX, boost::bind(&MetadataDialog::temp_version_changed, this)); _pre_release->Bind (wxEVT_CHECKBOX, boost::bind(&MetadataDialog::pre_release_changed, this)); _red_band->Bind (wxEVT_CHECKBOX, boost::bind(&MetadataDialog::red_band_changed, this)); @@ -92,6 +94,7 @@ MetadataDialog::setup () film_changed (ChangeType::DONE, Film::Property::PRE_RELEASE); film_changed (ChangeType::DONE, Film::Property::RED_BAND); film_changed (ChangeType::DONE, Film::Property::TWO_D_VERSION_OF_THREE_D); + film_changed (ChangeType::DONE, Film::Property::CHAIN); setup_sensitivity (); } @@ -121,6 +124,11 @@ MetadataDialog::film_changed (ChangeType type, Film::Property property) if (film()->studio()) { checked_set (_studio, *film()->studio()); } + } else if (property == Film::Property::CHAIN) { + checked_set (_enable_chain, static_cast(film()->chain())); + if (film()->chain()) { + checked_set (_chain, *film()->chain()); + } } else if (property == Film::Property::TEMP_VERSION) { checked_set (_temp_version, film()->temp_version()); } else if (property == Film::Property::PRE_RELEASE) { @@ -171,6 +179,7 @@ MetadataDialog::setup_sensitivity () _release_territory_text->Enable (enabled); _edit_release_territory->Enable (enabled); _facility->Enable (_enable_facility->GetValue()); + _chain->Enable (_enable_chain->GetValue()); _studio->Enable (_enable_studio->GetValue()); } @@ -200,6 +209,11 @@ MetadataDialog::setup_advanced (wxPanel* panel, wxSizer* sizer) _studio = new wxTextCtrl (panel, wxID_ANY); sizer->Add (_studio, 1, wxEXPAND); + _enable_chain = new wxCheckBox (panel, wxID_ANY, _("Chain")); + sizer->Add (_enable_chain, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL); + _chain = new wxTextCtrl (panel, wxID_ANY); + sizer->Add (_chain, 1, wxEXPAND); + _temp_version = new wxCheckBox (panel, wxID_ANY, _("Temporary version")); sizer->Add (_temp_version, 0, wxALIGN_CENTER_VERTICAL); sizer->AddSpacer (0); @@ -283,3 +297,23 @@ MetadataDialog::two_d_version_of_three_d_changed () film()->set_two_d_version_of_three_d(_two_d_version_of_three_d->GetValue()); } + +void +MetadataDialog::chain_changed () +{ + film()->set_chain (wx_to_std(_chain->GetValue())); +} + + +void +MetadataDialog::enable_chain_changed () +{ + setup_sensitivity (); + if (_enable_chain->GetValue()) { + film()->set_chain (wx_to_std(_chain->GetValue())); + } else { + film()->set_chain (); + } +} + + diff --git a/src/wx/metadata_dialog.h b/src/wx/metadata_dialog.h index 1d49d7cfc..3ac5d10a3 100644 --- a/src/wx/metadata_dialog.h +++ b/src/wx/metadata_dialog.h @@ -59,6 +59,8 @@ private: void pre_release_changed (); void red_band_changed (); void two_d_version_of_three_d_changed (); + void chain_changed (); + void enable_chain_changed (); wxCheckBox* _enable_release_territory; /** The current release territory displayed in the UI; since we can't easily convert @@ -70,6 +72,8 @@ private: Button* _edit_release_territory; wxCheckBox* _enable_facility; wxTextCtrl* _facility; + wxCheckBox* _enable_chain; + wxTextCtrl* _chain; wxCheckBox* _enable_studio; wxTextCtrl* _studio; wxCheckBox* _temp_version; diff --git a/src/wx/smpte_metadata_dialog.cc b/src/wx/smpte_metadata_dialog.cc index 37a957921..3bc676052 100644 --- a/src/wx/smpte_metadata_dialog.cc +++ b/src/wx/smpte_metadata_dialog.cc @@ -110,11 +110,6 @@ SMPTEMetadataDialog::setup_advanced (wxPanel* panel, wxSizer* sizer) _status = new wxChoice (panel, wxID_ANY); sizer->Add (_status, 0); - _enable_chain = new wxCheckBox (panel, wxID_ANY, _("Chain")); - sizer->Add (_enable_chain, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL); - _chain = new wxTextCtrl (panel, wxID_ANY); - sizer->Add (_chain, 1, wxEXPAND); - _enable_distributor = new wxCheckBox (panel, wxID_ANY, _("Distributor")); sizer->Add (_enable_distributor, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL); _distributor = new wxTextCtrl (panel, wxID_ANY); @@ -178,8 +173,6 @@ SMPTEMetadataDialog::setup () _name_language->Changed.connect (boost::bind(&SMPTEMetadataDialog::name_language_changed, this, _1)); _version_number->Bind (wxEVT_SPINCTRL, boost::bind(&SMPTEMetadataDialog::version_number_changed, this)); _status->Bind (wxEVT_CHOICE, boost::bind(&SMPTEMetadataDialog::status_changed, this)); - _enable_chain->Bind (wxEVT_CHECKBOX, boost::bind(&SMPTEMetadataDialog::enable_chain_changed, this)); - _chain->Bind (wxEVT_TEXT, boost::bind(&SMPTEMetadataDialog::chain_changed, this)); _enable_distributor->Bind (wxEVT_CHECKBOX, boost::bind(&SMPTEMetadataDialog::enable_distributor_changed, this)); _distributor->Bind (wxEVT_TEXT, boost::bind(&SMPTEMetadataDialog::distributor_changed, this)); _luminance_value->Bind (wxEVT_SPINCTRLDOUBLE, boost::bind(&SMPTEMetadataDialog::luminance_changed, this)); @@ -188,7 +181,6 @@ SMPTEMetadataDialog::setup () film_changed (ChangeType::DONE, Film::Property::NAME_LANGUAGE); film_changed (ChangeType::DONE, Film::Property::VERSION_NUMBER); film_changed (ChangeType::DONE, Film::Property::STATUS); - film_changed (ChangeType::DONE, Film::Property::CHAIN); film_changed (ChangeType::DONE, Film::Property::DISTRIBUTOR); film_changed (ChangeType::DONE, Film::Property::CONTENT_VERSIONS); film_changed (ChangeType::DONE, Film::Property::LUMINANCE); @@ -222,11 +214,6 @@ SMPTEMetadataDialog::film_changed (ChangeType type, Film::Property property) checked_set (_status, 2); break; } - } else if (property == Film::Property::CHAIN) { - checked_set (_enable_chain, static_cast(film()->chain())); - if (film()->chain()) { - checked_set (_chain, *film()->chain()); - } } else if (property == Film::Property::DISTRIBUTOR) { checked_set (_enable_distributor, static_cast(film()->distributor())); if (film()->distributor()) { @@ -311,13 +298,6 @@ SMPTEMetadataDialog::status_changed () } -void -SMPTEMetadataDialog::chain_changed () -{ - film()->set_chain (wx_to_std(_chain->GetValue())); -} - - void SMPTEMetadataDialog::distributor_changed () { @@ -349,23 +329,10 @@ SMPTEMetadataDialog::setup_sensitivity () { MetadataDialog::setup_sensitivity (); - _chain->Enable (_enable_chain->GetValue()); _distributor->Enable (_enable_distributor->GetValue()); } -void -SMPTEMetadataDialog::enable_chain_changed () -{ - setup_sensitivity (); - if (_enable_chain->GetValue()) { - film()->set_chain (wx_to_std(_chain->GetValue())); - } else { - film()->set_chain (); - } -} - - void SMPTEMetadataDialog::enable_distributor_changed () { diff --git a/src/wx/smpte_metadata_dialog.h b/src/wx/smpte_metadata_dialog.h index f1cbee977..acf1ac111 100644 --- a/src/wx/smpte_metadata_dialog.h +++ b/src/wx/smpte_metadata_dialog.h @@ -57,17 +57,13 @@ private: void name_language_changed (dcp::LanguageTag tag); void version_number_changed (); void status_changed (); - void chain_changed (); void distributor_changed (); void luminance_changed (); - void enable_chain_changed (); void enable_distributor_changed (); LanguageTagWidget* _name_language; wxSpinCtrl* _version_number; wxChoice* _status; - wxCheckBox* _enable_chain; - wxTextCtrl* _chain; wxCheckBox* _enable_distributor; wxTextCtrl* _distributor; wxSpinCtrlDouble* _luminance_value; diff --git a/test/isdcf_name_test.cc b/test/isdcf_name_test.cc index 54b9a24d7..c559e433f 100644 --- a/test/isdcf_name_test.cc +++ b/test/isdcf_name_test.cc @@ -143,7 +143,7 @@ BOOST_AUTO_TEST_CASE (isdcf_name_test) film->set_pre_release (true); film->set_red_band (true); film->set_two_d_version_of_three_d (true); - m.chain = "MyChain"; + film->set_chain (string("MyChain")); m.mastered_luminance = "4fl"; film->set_isdcf_metadata (m); film->set_video_frame_rate (48); @@ -156,7 +156,7 @@ BOOST_AUTO_TEST_CASE (isdcf_name_test) film->set_pre_release (false); film->set_red_band (false); film->set_two_d_version_of_three_d (false); - m.chain = ""; + film->set_chain (string("")); m.mastered_luminance = ""; film->set_isdcf_metadata (m); film->set_video_frame_rate (24);