X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdcp_content_type.cc;h=b7bf8d81ad14f6b48c8165aff7163854e19b3def;hb=6fde557864505b470c438e4161ee494f29b90d63;hp=1f50c8dc4da519fc0881f336af798be70020e1f1;hpb=75be8cbd1d3307ea62fe8e79543ca518f4ee7bc2;p=dcpomatic.git diff --git a/src/lib/dcp_content_type.cc b/src/lib/dcp_content_type.cc index 1f50c8dc4..b7bf8d81a 100644 --- a/src/lib/dcp_content_type.cc +++ b/src/lib/dcp_content_type.cc @@ -21,16 +21,20 @@ * @brief A description of the type of content for a DCP (e.g. feature, trailer etc.) */ -#include #include "dcp_content_type.h" +#include "dcpomatic_assert.h" +#include + +#include "i18n.h" using namespace std; vector DCPContentType::_dcp_content_types; -DCPContentType::DCPContentType (string p, libdcp::ContentKind k) +DCPContentType::DCPContentType (string p, dcp::ContentKind k, string d) : _pretty_name (p) , _libdcp_kind (k) + , _isdcf_name (d) { } @@ -38,16 +42,16 @@ DCPContentType::DCPContentType (string p, libdcp::ContentKind k) void DCPContentType::setup_dcp_content_types () { - _dcp_content_types.push_back (new DCPContentType ("Feature", libdcp::FEATURE)); - _dcp_content_types.push_back (new DCPContentType ("Short", libdcp::SHORT)); - _dcp_content_types.push_back (new DCPContentType ("Trailer", libdcp::TRAILER)); - _dcp_content_types.push_back (new DCPContentType ("Test", libdcp::TEST)); - _dcp_content_types.push_back (new DCPContentType ("Transitional", libdcp::TRANSITIONAL)); - _dcp_content_types.push_back (new DCPContentType ("Rating", libdcp::RATING)); - _dcp_content_types.push_back (new DCPContentType ("Teaser", libdcp::TEASER)); - _dcp_content_types.push_back (new DCPContentType ("Policy", libdcp::POLICY)); - _dcp_content_types.push_back (new DCPContentType ("Public Service Announcement", libdcp::PUBLIC_SERVICE_ANNOUNCEMENT)); - _dcp_content_types.push_back (new DCPContentType ("Advertisement", libdcp::ADVERTISEMENT)); + _dcp_content_types.push_back (new DCPContentType (_("Feature"), dcp::FEATURE, N_("FTR"))); + _dcp_content_types.push_back (new DCPContentType (_("Short"), dcp::SHORT, N_("SHR"))); + _dcp_content_types.push_back (new DCPContentType (_("Trailer"), dcp::TRAILER, N_("TLR"))); + _dcp_content_types.push_back (new DCPContentType (_("Test"), dcp::TEST, N_("TST"))); + _dcp_content_types.push_back (new DCPContentType (_("Transitional"), dcp::TRANSITIONAL, N_("XSN"))); + _dcp_content_types.push_back (new DCPContentType (_("Rating"), dcp::RATING, N_("RTG"))); + _dcp_content_types.push_back (new DCPContentType (_("Teaser"), dcp::TEASER, N_("TSR"))); + _dcp_content_types.push_back (new DCPContentType (_("Policy"), dcp::POLICY, N_("POL"))); + _dcp_content_types.push_back (new DCPContentType (_("Public Service Announcement"), dcp::PUBLIC_SERVICE_ANNOUNCEMENT, N_("PSA"))); + _dcp_content_types.push_back (new DCPContentType (_("Advertisement"), dcp::ADVERTISEMENT, N_("ADV"))); } DCPContentType const * @@ -62,10 +66,22 @@ DCPContentType::from_pretty_name (string n) return 0; } +DCPContentType const * +DCPContentType::from_isdcf_name (string n) +{ + for (vector::const_iterator i = _dcp_content_types.begin(); i != _dcp_content_types.end(); ++i) { + if ((*i)->isdcf_name() == n) { + return *i; + } + } + + return 0; +} + DCPContentType const * DCPContentType::from_index (int n) { - assert (n >= 0 && n < int (_dcp_content_types.size ())); + DCPOMATIC_ASSERT (n >= 0 && n < int (_dcp_content_types.size ())); return _dcp_content_types[n]; }