summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-04-02 20:55:40 +0200
committerCarl Hetherington <cth@carlh.net>2021-04-04 20:48:34 +0200
commit0d9831021c7dc508bc69f7bd759dacd50ccb2766 (patch)
tree602bd4d88dfac90177cc187d12baebeb713f80e2 /src
parent8e1b0dfe3103867a749ff51156e3ed6547f298a0 (diff)
Use content version from Interop (or version number from SMPTE metadata)
rather than the content version in the ISDCF metadata dialogue.
Diffstat (limited to 'src')
-rw-r--r--src/lib/film.cc13
-rw-r--r--src/lib/isdcf_metadata.cc7
-rw-r--r--src/lib/isdcf_metadata.h4
-rw-r--r--src/wx/dcp_panel.cc4
-rw-r--r--src/wx/isdcf_metadata_dialog.cc9
-rw-r--r--src/wx/isdcf_metadata_dialog.h1
6 files changed, 19 insertions, 19 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 7dd0ff6f1..5ccc5437a 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -846,7 +846,18 @@ Film::isdcf_name (bool if_created_now) const
if (dcp_content_type()) {
d += "_" + dcp_content_type()->isdcf_name();
- d += "-" + raw_convert<string>(isdcf_metadata().content_version);
+ string version = "1";
+ if (_interop) {
+ if (!_content_versions.empty()) {
+ auto cv = _content_versions[0];
+ if (!cv.empty() && std::all_of(cv.begin(), cv.end(), isdigit)) {
+ version = cv;
+ }
+ }
+ } else {
+ version = dcp::raw_convert<string>(_version_number);
+ }
+ d += "-" + version;
}
auto const dm = isdcf_metadata ();
diff --git a/src/lib/isdcf_metadata.cc b/src/lib/isdcf_metadata.cc
index 6adbd0f3c..4f157ce70 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)
- : content_version (node->number_child<int> ("ContentVersion"))
- , territory (node->string_child ("Territory"))
+ : territory (node->string_child ("Territory"))
, rating (node->string_child ("Rating"))
, studio (node->string_child ("Studio"))
, facility (node->string_child ("Facility"))
@@ -53,7 +52,6 @@ ISDCFMetadata::ISDCFMetadata (cxml::ConstNodePtr node)
void
ISDCFMetadata::as_xml (xmlpp::Node* root) const
{
- root->add_child("ContentVersion")->add_child_text (raw_convert<string> (content_version));
root->add_child("Territory")->add_child_text (territory);
root->add_child("Rating")->add_child_text (rating);
root->add_child("Studio")->add_child_text (studio);
@@ -69,8 +67,7 @@ ISDCFMetadata::as_xml (xmlpp::Node* root) const
bool
operator== (ISDCFMetadata const & a, ISDCFMetadata const & b)
{
- return a.content_version == b.content_version &&
- a.territory == b.territory &&
+ return a.territory == b.territory &&
a.rating == b.rating &&
a.studio == b.studio &&
a.facility == b.facility &&
diff --git a/src/lib/isdcf_metadata.h b/src/lib/isdcf_metadata.h
index fd021b8dc..22c418c6e 100644
--- a/src/lib/isdcf_metadata.h
+++ b/src/lib/isdcf_metadata.h
@@ -32,8 +32,7 @@ class ISDCFMetadata
{
public:
ISDCFMetadata ()
- : content_version (1)
- , temp_version (false)
+ : temp_version (false)
, pre_release (false)
, red_band (false)
, two_d_version_of_three_d (false)
@@ -44,7 +43,6 @@ public:
void as_xml (xmlpp::Node *) const;
void read_old_metadata (std::string, std::string);
- int content_version;
std::string territory;
std::string rating;
std::string studio;
diff --git a/src/wx/dcp_panel.cc b/src/wx/dcp_panel.cc
index 8501eae9c..6a5b27b18 100644
--- a/src/wx/dcp_panel.cc
+++ b/src/wx/dcp_panel.cc
@@ -444,6 +444,10 @@ DCPPanel::film_changed (Film::Property p)
setup_dcp_name ();
setup_sensitivity ();
break;
+ case Film::Property::CONTENT_VERSIONS:
+ case Film::Property::VERSION_NUMBER:
+ setup_dcp_name ();
+ break;
default:
break;
}
diff --git a/src/wx/isdcf_metadata_dialog.cc b/src/wx/isdcf_metadata_dialog.cc
index 2fde930c6..d204258dd 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 (_("Content version"), true);
- _content_version = add (new wxSpinCtrl (this, wxID_ANY));
-
add (_("Territory (e.g. UK)"), true);
_territory = add (new wxTextCtrl (this, wxID_ANY));
@@ -72,9 +69,6 @@ ISDCFMetadataDialog::ISDCFMetadataDialog (wxWindow* parent, ISDCFMetadata dm, bo
add (_("Mastered luminance (e.g. 14fl)"), true);
_mastered_luminance = add (new wxTextCtrl (this, wxID_ANY));
- _content_version->SetRange (1, 1024);
-
- _content_version->SetValue (dm.content_version);
_territory->SetValue (std_to_wx (dm.territory));
_rating->SetValue (std_to_wx (dm.rating));
_studio->SetValue (std_to_wx (dm.studio));
@@ -87,8 +81,6 @@ ISDCFMetadataDialog::ISDCFMetadataDialog (wxWindow* parent, ISDCFMetadata dm, bo
_mastered_luminance->SetValue (std_to_wx (dm.mastered_luminance));
layout ();
-
- _content_version->SetFocus ();
}
@@ -97,7 +89,6 @@ ISDCFMetadataDialog::isdcf_metadata () const
{
ISDCFMetadata dm;
- dm.content_version = _content_version->GetValue ();
dm.territory = wx_to_std (_territory->GetValue ());
dm.rating = wx_to_std (_rating->GetValue ());
dm.studio = wx_to_std (_studio->GetValue ());
diff --git a/src/wx/isdcf_metadata_dialog.h b/src/wx/isdcf_metadata_dialog.h
index 778009551..0df00017a 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:
- wxSpinCtrl* _content_version;
wxTextCtrl* _territory;
wxTextCtrl* _rating;
wxTextCtrl* _studio;