rather than the content version in the ISDCF metadata dialogue.
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 ();
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"))
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);
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 &&
{
public:
ISDCFMetadata ()
- : content_version (1)
- , temp_version (false)
+ : temp_version (false)
, pre_release (false)
, red_band (false)
, two_d_version_of_three_d (false)
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;
setup_dcp_name ();
setup_sensitivity ();
break;
+ case Film::Property::CONTENT_VERSIONS:
+ case Film::Property::VERSION_NUMBER:
+ setup_dcp_name ();
+ break;
default:
break;
}
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));
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));
_mastered_luminance->SetValue (std_to_wx (dm.mastered_luminance));
layout ();
-
- _content_version->SetFocus ();
}
{
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 ());
ISDCFMetadata isdcf_metadata () const;
private:
- wxSpinCtrl* _content_version;
wxTextCtrl* _territory;
wxTextCtrl* _rating;
wxTextCtrl* _studio;
BOOST_REQUIRE (!wait_for_jobs());
BOOST_REQUIRE (audio->audio);
audio->audio->set_language(dcp::LanguageTag("en-US"));
+ film->set_content_versions({"1"});
ISDCFMetadata m;
- m.content_version = 1;
m.territory = "UK";
m.rating = "PG";
m.studio = "ST";
text->text.front()->set_burn (true);
text->text.front()->set_language (dcp::LanguageTag("fr-FR"));
film->examine_and_add_content (text);
+ film->set_version_number(2);
BOOST_REQUIRE (!wait_for_jobs());
- m.content_version = 2;
audio = content_factory("test/data/sine_440.wav").front();
film->examine_and_add_content (audio);
BOOST_REQUIRE (!wait_for_jobs());