summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-04-02 22:38:16 +0200
committerCarl Hetherington <cth@carlh.net>2021-04-04 20:48:34 +0200
commitf188fc8d92eaba89aaa63cfd7f5a2fc9836e94b6 (patch)
tree576f98fd4295ae0e9dae6e0ae92f019876f02ff3
parent60520afb4a6bb364c981c2b6976805d4128ac81f (diff)
Use release territory from Interop/SMPTE metadata instead of ISDCF metadata dialogue.
-rw-r--r--src/lib/film.cc6
-rw-r--r--src/lib/isdcf_metadata.cc7
-rw-r--r--src/lib/isdcf_metadata.h1
-rw-r--r--src/wx/dcp_panel.cc2
-rw-r--r--src/wx/interop_metadata_dialog.cc50
-rw-r--r--src/wx/interop_metadata_dialog.h9
-rw-r--r--src/wx/isdcf_metadata_dialog.cc5
-rw-r--r--src/wx/isdcf_metadata_dialog.h1
-rw-r--r--src/wx/metadata_dialog.cc79
-rw-r--r--src/wx/metadata_dialog.h32
-rw-r--r--src/wx/smpte_metadata_dialog.cc58
-rw-r--r--src/wx/smpte_metadata_dialog.h16
-rw-r--r--test/isdcf_name_test.cc8
13 files changed, 149 insertions, 125 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 5ccc5437a..9051c5a15 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -957,8 +957,10 @@ Film::isdcf_name (bool if_created_now) const
d += "-XX";
}
- if (!dm.territory.empty ()) {
- d += "_" + dm.territory;
+ if (_release_territory) {
+ auto territory = _release_territory->subtag();
+ transform (territory.begin(), territory.end(), territory.begin(), ::toupper);
+ d += "_" + territory;
if (dm.rating.empty ()) {
d += "-NR";
} else {
diff --git a/src/lib/isdcf_metadata.cc b/src/lib/isdcf_metadata.cc
index 4f157ce70..daf3a4c4f 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)
- : territory (node->string_child ("Territory"))
- , rating (node->string_child ("Rating"))
+ : rating (node->string_child ("Rating"))
, studio (node->string_child ("Studio"))
, facility (node->string_child ("Facility"))
/* This stuff was added later */
@@ -52,7 +51,6 @@ ISDCFMetadata::ISDCFMetadata (cxml::ConstNodePtr node)
void
ISDCFMetadata::as_xml (xmlpp::Node* root) const
{
- root->add_child("Territory")->add_child_text (territory);
root->add_child("Rating")->add_child_text (rating);
root->add_child("Studio")->add_child_text (studio);
root->add_child("Facility")->add_child_text (facility);
@@ -67,8 +65,7 @@ ISDCFMetadata::as_xml (xmlpp::Node* root) const
bool
operator== (ISDCFMetadata const & a, ISDCFMetadata const & b)
{
- return a.territory == b.territory &&
- a.rating == b.rating &&
+ return a.rating == b.rating &&
a.studio == b.studio &&
a.facility == b.facility &&
a.temp_version == b.temp_version &&
diff --git a/src/lib/isdcf_metadata.h b/src/lib/isdcf_metadata.h
index 22c418c6e..3dc2c2d35 100644
--- a/src/lib/isdcf_metadata.h
+++ b/src/lib/isdcf_metadata.h
@@ -43,7 +43,6 @@ public:
void as_xml (xmlpp::Node *) const;
void read_old_metadata (std::string, std::string);
- std::string territory;
std::string rating;
std::string studio;
std::string facility;
diff --git a/src/wx/dcp_panel.cc b/src/wx/dcp_panel.cc
index dcb78dc93..ecedec66f 100644
--- a/src/wx/dcp_panel.cc
+++ b/src/wx/dcp_panel.cc
@@ -323,6 +323,7 @@ DCPPanel::metadata_clicked ()
}
_interop_metadata_dialog = new InteropMetadataDialog (_panel, _film);
+ _interop_metadata_dialog->setup ();
_interop_metadata_dialog->Show ();
} else {
if (_smpte_metadata_dialog) {
@@ -447,6 +448,7 @@ DCPPanel::film_changed (Film::Property p)
break;
case Film::Property::CONTENT_VERSIONS:
case Film::Property::VERSION_NUMBER:
+ case Film::Property::RELEASE_TERRITORY:
setup_dcp_name ();
break;
default:
diff --git a/src/wx/interop_metadata_dialog.cc b/src/wx/interop_metadata_dialog.cc
index aa61984b3..61aa23498 100644
--- a/src/wx/interop_metadata_dialog.cc
+++ b/src/wx/interop_metadata_dialog.cc
@@ -38,24 +38,22 @@ using namespace boost::placeholders;
InteropMetadataDialog::InteropMetadataDialog (wxWindow* parent, weak_ptr<Film> film)
- : wxDialog (parent, wxID_ANY, _("Metadata"))
- , _film (film)
+ : MetadataDialog (parent, film)
{
- auto overall_sizer = new wxBoxSizer (wxVERTICAL);
- SetSizer (overall_sizer);
- auto sizer = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
- sizer->AddGrowableCol (1, 1);
+}
- auto f = _film.lock();
- DCPOMATIC_ASSERT (f);
+void
+InteropMetadataDialog::setup_standard (wxPanel* panel, wxSizer* sizer)
+{
+ MetadataDialog::setup_standard (panel, sizer);
{
int flags = wxALIGN_TOP | wxLEFT | wxRIGHT | wxTOP;
#ifdef __WXOSX__
flags |= wxALIGN_RIGHT;
#endif
- auto m = create_label (this, _("Ratings"), true);
+ auto m = create_label (panel, _("Ratings"), true);
sizer->Add (m, 0, flags, DCPOMATIC_SIZER_GAP);
}
@@ -63,7 +61,7 @@ InteropMetadataDialog::InteropMetadataDialog (wxWindow* parent, weak_ptr<Film> f
columns.push_back (EditableListColumn(_("Agency"), 200, true));
columns.push_back (EditableListColumn(_("Label"), 50, true));
_ratings = new EditableList<dcp::Rating, RatingDialog> (
- this,
+ panel,
columns,
boost::bind(&InteropMetadataDialog::ratings, this),
boost::bind(&InteropMetadataDialog::set_ratings, this, _1),
@@ -78,23 +76,13 @@ InteropMetadataDialog::InteropMetadataDialog (wxWindow* parent, weak_ptr<Film> f
);
sizer->Add (_ratings, 1, wxEXPAND);
- add_label_to_sizer (sizer, this, _("Content version"), true, 0, wxLEFT | wxRIGHT | wxALIGN_CENTER_VERTICAL);
- _content_version = new wxTextCtrl (this, wxID_ANY);
+ add_label_to_sizer (sizer, panel, _("Content version"), true, 0, wxLEFT | wxRIGHT | wxALIGN_CENTER_VERTICAL);
+ _content_version = new wxTextCtrl (panel, wxID_ANY);
sizer->Add (_content_version, 1, wxEXPAND);
- auto cv = f->content_versions();
+ auto cv = film()->content_versions();
_content_version->SetValue (std_to_wx(cv.empty() ? "" : cv[0]));
- overall_sizer->Add (sizer, 1, wxEXPAND | wxALL, DCPOMATIC_DIALOG_BORDER);
-
- auto buttons = CreateSeparatedButtonSizer (wxCLOSE);
- if (buttons) {
- overall_sizer->Add (buttons, wxSizerFlags().Expand().DoubleBorder());
- }
-
- overall_sizer->Layout ();
- overall_sizer->SetSizeHints (this);
-
_content_version->Bind (wxEVT_TEXT, boost::bind(&InteropMetadataDialog::content_version_changed, this));
_content_version->SetFocus ();
}
@@ -103,25 +91,19 @@ InteropMetadataDialog::InteropMetadataDialog (wxWindow* parent, weak_ptr<Film> f
vector<dcp::Rating>
InteropMetadataDialog::ratings () const
{
- auto film = _film.lock ();
- DCPOMATIC_ASSERT (film);
- return film->ratings ();
+ return film()->ratings ();
}
+
void
InteropMetadataDialog::set_ratings (vector<dcp::Rating> r)
{
- auto film = _film.lock ();
- DCPOMATIC_ASSERT (film);
- film->set_ratings (r);
+ film()->set_ratings (r);
}
+
void
InteropMetadataDialog::content_version_changed ()
{
- auto film = _film.lock ();
- DCPOMATIC_ASSERT (film);
- vector<string> cv;
- cv.push_back (wx_to_std(_content_version->GetValue()));
- film->set_content_versions (cv);
+ film()->set_content_versions ({ wx_to_std(_content_version->GetValue()) });
}
diff --git a/src/wx/interop_metadata_dialog.h b/src/wx/interop_metadata_dialog.h
index b8a1a36e6..b730c1238 100644
--- a/src/wx/interop_metadata_dialog.h
+++ b/src/wx/interop_metadata_dialog.h
@@ -20,6 +20,7 @@
#include "editable_list.h"
+#include "metadata_dialog.h"
#include <dcp/language_tag.h>
#include <dcp/types.h>
#include <wx/wx.h>
@@ -31,17 +32,19 @@ class LanguageTagWidget;
class RatingDialog;
-class InteropMetadataDialog : public wxDialog
+class InteropMetadataDialog : public MetadataDialog
{
public:
InteropMetadataDialog (wxWindow* parent, std::weak_ptr<Film> film);
private:
- std::vector<dcp::Rating> ratings () const;
+ void setup_standard (wxPanel* panel, wxSizer* sizer) override;
+
void set_ratings (std::vector<dcp::Rating> r);
void content_version_changed ();
- std::weak_ptr<Film> _film;
+ std::vector<dcp::Rating> ratings () const;
+
EditableList<dcp::Rating, RatingDialog>* _ratings;
wxTextCtrl* _content_version;
};
diff --git a/src/wx/isdcf_metadata_dialog.cc b/src/wx/isdcf_metadata_dialog.cc
index d204258dd..cb12d6a29 100644
--- a/src/wx/isdcf_metadata_dialog.cc
+++ b/src/wx/isdcf_metadata_dialog.cc
@@ -35,9 +35,6 @@ using std::shared_ptr;
ISDCFMetadataDialog::ISDCFMetadataDialog (wxWindow* parent, ISDCFMetadata dm, bool threed)
: TableDialog (parent, _("ISDCF name"), 2, 1, true)
{
- add (_("Territory (e.g. UK)"), true);
- _territory = add (new wxTextCtrl (this, wxID_ANY));
-
add (_("Rating (e.g. 15)"), true);
_rating = add (new wxTextCtrl (this, wxID_ANY));
@@ -69,7 +66,6 @@ ISDCFMetadataDialog::ISDCFMetadataDialog (wxWindow* parent, ISDCFMetadata dm, bo
add (_("Mastered luminance (e.g. 14fl)"), true);
_mastered_luminance = add (new wxTextCtrl (this, wxID_ANY));
- _territory->SetValue (std_to_wx (dm.territory));
_rating->SetValue (std_to_wx (dm.rating));
_studio->SetValue (std_to_wx (dm.studio));
_facility->SetValue (std_to_wx (dm.facility));
@@ -89,7 +85,6 @@ ISDCFMetadataDialog::isdcf_metadata () const
{
ISDCFMetadata dm;
- dm.territory = wx_to_std (_territory->GetValue ());
dm.rating = wx_to_std (_rating->GetValue ());
dm.studio = wx_to_std (_studio->GetValue ());
dm.facility = wx_to_std (_facility->GetValue ());
diff --git a/src/wx/isdcf_metadata_dialog.h b/src/wx/isdcf_metadata_dialog.h
index 0df00017a..8980bd11a 100644
--- a/src/wx/isdcf_metadata_dialog.h
+++ b/src/wx/isdcf_metadata_dialog.h
@@ -33,7 +33,6 @@ public:
ISDCFMetadata isdcf_metadata () const;
private:
- wxTextCtrl* _territory;
wxTextCtrl* _rating;
wxTextCtrl* _studio;
wxTextCtrl* _facility;
diff --git a/src/wx/metadata_dialog.cc b/src/wx/metadata_dialog.cc
index abc95c3c1..376591ca2 100644
--- a/src/wx/metadata_dialog.cc
+++ b/src/wx/metadata_dialog.cc
@@ -19,6 +19,8 @@
*/
+#include "dcpomatic_button.h"
+#include "full_language_tag_dialog.h"
#include "metadata_dialog.h"
#include "wx_util.h"
#include "lib/film.h"
@@ -69,5 +71,82 @@ MetadataDialog::setup ()
SetSizer (overall_sizer);
overall_sizer->Layout ();
overall_sizer->SetSizeHints (this);
+
+ _film_changed_connection = film()->Change.connect(boost::bind(&MetadataDialog::film_changed, this, _1, _2));
+
+ film_changed (ChangeType::DONE, Film::Property::RELEASE_TERRITORY);
+}
+
+
+void
+MetadataDialog::film_changed (ChangeType type, Film::Property property)
+{
+ if (type != ChangeType::DONE) {
+ return;
+ }
+
+ if (property == Film::Property::RELEASE_TERRITORY) {
+ auto rt = film()->release_territory();
+ checked_set (_enable_release_territory, static_cast<bool>(rt));
+ if (rt) {
+ _release_territory = *rt;
+ checked_set (_release_territory_text, std_to_wx(*dcp::LanguageTag::get_subtag_description(*_release_territory)));
+ }
+ }
+}
+
+
+void
+MetadataDialog::setup_standard (wxPanel* panel, wxSizer* sizer)
+{
+ _enable_release_territory = new wxCheckBox (panel, wxID_ANY, _("Release territory"));
+ sizer->Add (_enable_release_territory, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_GAP);
+ {
+ auto s = new wxBoxSizer (wxHORIZONTAL);
+ _release_territory_text = new wxStaticText (panel, wxID_ANY, wxT(""));
+ s->Add (_release_territory_text, 1, wxLEFT | wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_X_GAP);
+ _edit_release_territory = new Button (panel, _("Edit..."));
+ s->Add (_edit_release_territory, 0, wxLEFT, DCPOMATIC_SIZER_GAP);
+ sizer->Add (s, 0, wxEXPAND);
+ }
+
+ _edit_release_territory->Bind (wxEVT_BUTTON, boost::bind(&MetadataDialog::edit_release_territory, this));
+ _enable_release_territory->Bind (wxEVT_CHECKBOX, boost::bind(&MetadataDialog::enable_release_territory_changed, this));
+}
+
+
+void
+MetadataDialog::edit_release_territory ()
+{
+ DCPOMATIC_ASSERT (film()->release_territory());
+ auto d = new RegionSubtagDialog(this, *film()->release_territory());
+ d->ShowModal ();
+ auto tag = d->get();
+ if (tag) {
+ _release_territory = *tag;
+ film()->set_release_territory(*tag);
+ }
+ d->Destroy ();
+}
+
+
+void
+MetadataDialog::setup_sensitivity ()
+{
+ auto const enabled = _enable_release_territory->GetValue();
+ _release_territory_text->Enable (enabled);
+ _edit_release_territory->Enable (enabled);
+}
+
+
+void
+MetadataDialog::enable_release_territory_changed ()
+{
+ setup_sensitivity ();
+ if (_enable_release_territory->GetValue()) {
+ film()->set_release_territory (_release_territory.get_value_or(dcp::LanguageTag::RegionSubtag("US")));
+ } else {
+ film()->set_release_territory ();
+ }
}
diff --git a/src/wx/metadata_dialog.h b/src/wx/metadata_dialog.h
index ef5dd0687..8483d8615 100644
--- a/src/wx/metadata_dialog.h
+++ b/src/wx/metadata_dialog.h
@@ -19,6 +19,12 @@
*/
+#ifndef DCPOMATIC_METADATA_DIALOG_H
+#define DCPOMATIC_METADATA_DIALOG_H
+
+
+#include "lib/change_signaller.h"
+#include "lib/film.h"
#include "lib/warnings.h"
#include "lib/weak_film.h"
DCPOMATIC_DISABLE_WARNINGS
@@ -26,6 +32,9 @@ DCPOMATIC_DISABLE_WARNINGS
DCPOMATIC_ENABLE_WARNINGS
+class Button;
+
+
class MetadataDialog : public wxDialog, public WeakFilm
{
public:
@@ -34,6 +43,27 @@ public:
virtual void setup ();
protected:
- virtual void setup_standard (wxPanel*, wxSizer*) {}
+ virtual void setup_standard (wxPanel*, wxSizer*);
virtual void setup_advanced (wxPanel*, wxSizer*) {}
+ virtual void film_changed (ChangeType type, Film::Property property);
+ virtual void setup_sensitivity ();
+
+private:
+ void edit_release_territory ();
+ void enable_release_territory_changed ();
+
+ wxCheckBox* _enable_release_territory;
+ /** The current release territory displayed in the UI; since we can't easily convert
+ * the string in _release_territory_text to a RegionSubtag we just store the RegionSubtag
+ * alongside.
+ */
+ boost::optional<dcp::LanguageTag::RegionSubtag> _release_territory;
+ wxStaticText* _release_territory_text;
+ Button* _edit_release_territory;
+
+ boost::signals2::scoped_connection _film_changed_connection;
};
+
+
+#endif
+
diff --git a/src/wx/smpte_metadata_dialog.cc b/src/wx/smpte_metadata_dialog.cc
index a2e9d355a..857be282c 100644
--- a/src/wx/smpte_metadata_dialog.cc
+++ b/src/wx/smpte_metadata_dialog.cc
@@ -102,17 +102,6 @@ SMPTEMetadataDialog::setup_advanced (wxPanel* panel, wxSizer* sizer)
{
MetadataDialog::setup_advanced (panel, sizer);
- _enable_release_territory = new wxCheckBox (panel, wxID_ANY, _("Release territory"));
- sizer->Add (_enable_release_territory, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_GAP);
- {
- auto s = new wxBoxSizer (wxHORIZONTAL);
- _release_territory_text = new wxStaticText (panel, wxID_ANY, wxT(""));
- s->Add (_release_territory_text, 1, wxLEFT | wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_X_GAP);
- _edit_release_territory = new Button (panel, _("Edit..."));
- s->Add (_edit_release_territory, 0, wxLEFT, DCPOMATIC_SIZER_GAP);
- sizer->Add (s, 0, wxEXPAND);
- }
-
add_label_to_sizer (sizer, panel, _("Version number"), true, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL);
_version_number = new wxSpinCtrl (panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 1000);
sizer->Add (_version_number, 0);
@@ -192,7 +181,6 @@ SMPTEMetadataDialog::setup ()
_luminance_unit->Append (_("foot lambert"));
_name_language->Changed.connect (boost::bind(&SMPTEMetadataDialog::name_language_changed, this, _1));
- _edit_release_territory->Bind (wxEVT_BUTTON, boost::bind(&SMPTEMetadataDialog::edit_release_territory, this));
_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));
@@ -203,12 +191,8 @@ SMPTEMetadataDialog::setup ()
_facility->Bind (wxEVT_TEXT, boost::bind(&SMPTEMetadataDialog::facility_changed, this));
_luminance_value->Bind (wxEVT_SPINCTRLDOUBLE, boost::bind(&SMPTEMetadataDialog::luminance_changed, this));
_luminance_unit->Bind (wxEVT_CHOICE, boost::bind(&SMPTEMetadataDialog::luminance_changed, this));
- _enable_release_territory->Bind (wxEVT_CHECKBOX, boost::bind(&SMPTEMetadataDialog::enable_release_territory_changed, this));
-
- _film_changed_connection = film()->Change.connect(boost::bind(&SMPTEMetadataDialog::film_changed, this, _1, _2));
film_changed (ChangeType::DONE, Film::Property::NAME_LANGUAGE);
- film_changed (ChangeType::DONE, Film::Property::RELEASE_TERRITORY);
film_changed (ChangeType::DONE, Film::Property::VERSION_NUMBER);
film_changed (ChangeType::DONE, Film::Property::STATUS);
film_changed (ChangeType::DONE, Film::Property::CHAIN);
@@ -224,19 +208,14 @@ SMPTEMetadataDialog::setup ()
void
SMPTEMetadataDialog::film_changed (ChangeType type, Film::Property property)
{
+ MetadataDialog::film_changed (type, property);
+
if (type != ChangeType::DONE || film()->interop()) {
return;
}
if (property == Film::Property::NAME_LANGUAGE) {
_name_language->set (film()->name_language());
- } else if (property == Film::Property::RELEASE_TERRITORY) {
- auto rt = film()->release_territory();
- checked_set (_enable_release_territory, static_cast<bool>(rt));
- if (rt) {
- _release_territory = *rt;
- checked_set (_release_territory_text, std_to_wx(*dcp::LanguageTag::get_subtag_description(*_release_territory)));
- }
} else if (property == Film::Property::VERSION_NUMBER) {
checked_set (_version_number, film()->version_number());
} else if (property == Film::Property::STATUS) {
@@ -322,21 +301,6 @@ SMPTEMetadataDialog::name_language_changed (dcp::LanguageTag tag)
void
-SMPTEMetadataDialog::edit_release_territory ()
-{
- DCPOMATIC_ASSERT (film()->release_territory());
- auto d = new RegionSubtagDialog(this, *film()->release_territory());
- d->ShowModal ();
- auto tag = d->get();
- if (tag) {
- _release_territory = *tag;
- film()->set_release_territory(*tag);
- }
- d->Destroy ();
-}
-
-
-void
SMPTEMetadataDialog::version_number_changed ()
{
film()->set_version_number (_version_number->GetValue());
@@ -403,11 +367,7 @@ SMPTEMetadataDialog::luminance_changed ()
void
SMPTEMetadataDialog::setup_sensitivity ()
{
- {
- auto const enabled = _enable_release_territory->GetValue();
- _release_territory_text->Enable (enabled);
- _edit_release_territory->Enable (enabled);
- }
+ MetadataDialog::setup_sensitivity ();
_chain->Enable (_enable_chain->GetValue());
_distributor->Enable (_enable_distributor->GetValue());
@@ -416,18 +376,6 @@ SMPTEMetadataDialog::setup_sensitivity ()
void
-SMPTEMetadataDialog::enable_release_territory_changed ()
-{
- setup_sensitivity ();
- if (_enable_release_territory->GetValue()) {
- film()->set_release_territory (_release_territory.get_value_or(dcp::LanguageTag::RegionSubtag("US")));
- } else {
- film()->set_release_territory ();
- }
-}
-
-
-void
SMPTEMetadataDialog::enable_chain_changed ()
{
setup_sensitivity ();
diff --git a/src/wx/smpte_metadata_dialog.h b/src/wx/smpte_metadata_dialog.h
index e27401e87..28cc38143 100644
--- a/src/wx/smpte_metadata_dialog.h
+++ b/src/wx/smpte_metadata_dialog.h
@@ -47,35 +47,25 @@ public:
private:
void setup_standard (wxPanel* parent, wxSizer* sizer) override;
void setup_advanced (wxPanel* parent, wxSizer* sizer) override;
+ void film_changed (ChangeType type, Film::Property property) override;
+ void setup_sensitivity () override;
std::vector<dcp::Rating> ratings () const;
void set_ratings (std::vector<dcp::Rating> r);
std::vector<std::string> content_versions () const;
void set_content_versions (std::vector<std::string> v);
void name_language_changed (dcp::LanguageTag tag);
- void edit_release_territory ();
void version_number_changed ();
void status_changed ();
void chain_changed ();
void distributor_changed ();
void facility_changed ();
void luminance_changed ();
- void film_changed (ChangeType type, Film::Property property);
- void setup_sensitivity ();
- void enable_release_territory_changed ();
void enable_chain_changed ();
void enable_distributor_changed ();
void enable_facility_changed ();
LanguageTagWidget* _name_language;
- wxCheckBox* _enable_release_territory;
- /** The current release territory displayed in the UI; since we can't easily convert
- * the string in _release_territory_text to a RegionSubtag we just store the RegionSubtag
- * alongside.
- */
- boost::optional<dcp::LanguageTag::RegionSubtag> _release_territory;
- wxStaticText* _release_territory_text;
- Button* _edit_release_territory;
wxSpinCtrl* _version_number;
wxChoice* _status;
wxCheckBox* _enable_chain;
@@ -88,6 +78,4 @@ private:
wxChoice* _luminance_unit;
EditableList<dcp::Rating, RatingDialog>* _ratings;
EditableList<std::string, ContentVersionDialog>* _content_versions;
-
- boost::signals2::scoped_connection _film_changed_connection;
};
diff --git a/test/isdcf_name_test.cc b/test/isdcf_name_test.cc
index 3d7b69665..51a8c5009 100644
--- a/test/isdcf_name_test.cc
+++ b/test/isdcf_name_test.cc
@@ -61,19 +61,19 @@ BOOST_AUTO_TEST_CASE (isdcf_name_test)
BOOST_REQUIRE (audio->audio);
audio->audio->set_language(dcp::LanguageTag("en-US"));
film->set_content_versions({"1"});
+ film->set_release_territory(dcp::LanguageTag::RegionSubtag("GB"));
ISDCFMetadata m;
- m.territory = "UK";
m.rating = "PG";
m.studio = "ST";
m.facility = "FA";
film->set_isdcf_metadata (m);
film->set_interop (true);
- BOOST_CHECK_EQUAL (film->isdcf_name(false), "MyNiceFilm_FTR-1_F_EN-XX_UK-PG_10_2K_ST_20140704_FA_IOP_OV");
+ BOOST_CHECK_EQUAL (film->isdcf_name(false), "MyNiceFilm_FTR-1_F_EN-XX_GB-PG_10_2K_ST_20140704_FA_IOP_OV");
/* Check that specifying no audio language writes XX */
audio->audio->set_language (boost::none);
film->set_isdcf_metadata (m);
- BOOST_CHECK_EQUAL (film->isdcf_name(false), "MyNiceFilm_FTR-1_F_XX-XX_UK-PG_10_2K_ST_20140704_FA_IOP_OV");
+ BOOST_CHECK_EQUAL (film->isdcf_name(false), "MyNiceFilm_FTR-1_F_XX-XX_GB-PG_10_2K_ST_20140704_FA_IOP_OV");
/* Test a long name and some different data */
@@ -89,13 +89,13 @@ BOOST_AUTO_TEST_CASE (isdcf_name_test)
text->text.front()->set_language (dcp::LanguageTag("fr-FR"));
film->examine_and_add_content (text);
film->set_version_number(2);
+ film->set_release_territory(dcp::LanguageTag::RegionSubtag("US"));
BOOST_REQUIRE (!wait_for_jobs());
audio = content_factory("test/data/sine_440.wav").front();
film->examine_and_add_content (audio);
BOOST_REQUIRE (!wait_for_jobs());
BOOST_REQUIRE (audio->audio);
audio->audio->set_language (dcp::LanguageTag("de-DE"));
- m.territory = "US";
m.rating = "R";
m.studio = "DI";
m.facility = "PP";