auto territory = _release_territory->subtag();
transform (territory.begin(), territory.end(), territory.begin(), ::toupper);
d += "_" + territory;
- if (dm.rating.empty ()) {
+ if (_ratings.empty ()) {
d += "-NR";
} else {
- d += "-" + dm.rating;
+ d += "-" + _ratings[0].label;
}
}
using dcp::raw_convert;
ISDCFMetadata::ISDCFMetadata (cxml::ConstNodePtr node)
- : rating (node->string_child ("Rating"))
- , studio (node->string_child ("Studio"))
+ : studio (node->string_child ("Studio"))
, facility (node->string_child ("Facility"))
/* This stuff was added later */
, temp_version (node->optional_bool_child ("TempVersion").get_value_or (false))
void
ISDCFMetadata::as_xml (xmlpp::Node* root) const
{
- root->add_child("Rating")->add_child_text (rating);
root->add_child("Studio")->add_child_text (studio);
root->add_child("Facility")->add_child_text (facility);
root->add_child("TempVersion")->add_child_text (temp_version ? "1" : "0");
bool
operator== (ISDCFMetadata const & a, ISDCFMetadata const & b)
{
- return a.rating == b.rating &&
- a.studio == b.studio &&
+ return a.studio == b.studio &&
a.facility == b.facility &&
a.temp_version == b.temp_version &&
a.pre_release == b.pre_release &&
void as_xml (xmlpp::Node *) const;
void read_old_metadata (std::string, std::string);
- std::string rating;
std::string studio;
std::string facility;
/** true if this is a temporary version (without final picture or sound) */
case Film::Property::CONTENT_VERSIONS:
case Film::Property::VERSION_NUMBER:
case Film::Property::RELEASE_TERRITORY:
+ case Film::Property::RATINGS:
setup_dcp_name ();
break;
default:
ISDCFMetadataDialog::ISDCFMetadataDialog (wxWindow* parent, ISDCFMetadata dm, bool threed)
: TableDialog (parent, _("ISDCF name"), 2, 1, true)
{
- add (_("Rating (e.g. 15)"), true);
- _rating = add (new wxTextCtrl (this, wxID_ANY));
-
add (_("Studio (e.g. TCF)"), true);
_studio = add (new wxTextCtrl (this, wxID_ANY));
add (_("Mastered luminance (e.g. 14fl)"), true);
_mastered_luminance = add (new wxTextCtrl (this, wxID_ANY));
- _rating->SetValue (std_to_wx (dm.rating));
_studio->SetValue (std_to_wx (dm.studio));
_facility->SetValue (std_to_wx (dm.facility));
_temp_version->SetValue (dm.temp_version);
{
ISDCFMetadata dm;
- dm.rating = wx_to_std (_rating->GetValue ());
dm.studio = wx_to_std (_studio->GetValue ());
dm.facility = wx_to_std (_facility->GetValue ());
dm.temp_version = _temp_version->GetValue ();
ISDCFMetadata isdcf_metadata () const;
private:
- wxTextCtrl* _rating;
wxTextCtrl* _studio;
wxTextCtrl* _facility;
wxCheckBox* _temp_version;
audio->audio->set_language(dcp::LanguageTag("en-US"));
film->set_content_versions({"1"});
film->set_release_territory(dcp::LanguageTag::RegionSubtag("GB"));
+ film->set_ratings({dcp::Rating("BBFC", "PG")});
ISDCFMetadata m;
- m.rating = "PG";
m.studio = "ST";
m.facility = "FA";
film->set_isdcf_metadata (m);
film->examine_and_add_content (text);
film->set_version_number(2);
film->set_release_territory(dcp::LanguageTag::RegionSubtag("US"));
+ film->set_ratings({dcp::Rating("MPA", "R")});
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.rating = "R";
m.studio = "DI";
m.facility = "PP";
film->set_isdcf_metadata (m);
BOOST_CHECK_EQUAL (film->isdcf_name(false), "MyNiceFilmWith_TLR-2_S_DE-fr_US-R_MOS_4K_DI_20140704_PP_SMPTE_OV");
/* Test to see that RU ratings like 6+ survive */
- m.rating = "6+";
- film->set_isdcf_metadata (m);
+ film->set_ratings({dcp::Rating("RARS", "6+")});
BOOST_CHECK_EQUAL (film->dcp_name(false), "MyNiceFilmWith_TLR-2_S_DE-fr_US-6+_MOS_4K_DI_20140704_PP_SMPTE_OV");
- m.rating = "R";
- film->set_isdcf_metadata (m);
+ film->set_ratings({dcp::Rating("MPA", "R")});
/* Test interior aspect ratio: shouldn't be shown with trailers */