Remove Screen pointer from KDMWithMetadata, preferring to
[dcpomatic.git] / src / lib / kdm_with_metadata.cc
index 674554f7ea13e5dd309d8f46a79a48e6cb9c7922..012172a8ed6bd8b1433081b01bd2f8b6d31dc47c 100644 (file)
@@ -28,6 +28,7 @@ using std::string;
 using std::cout;
 using std::list;
 using boost::shared_ptr;
+using boost::optional;
 
 int
 write_files (
@@ -56,8 +57,6 @@ write_files (
 
        /* Write KDMs to the specified directory */
        BOOST_FOREACH (KDMWithMetadataPtr i, screen_kdms) {
-               name_values['c'] = i->screen->cinema ? i->screen->cinema->name : "";
-               name_values['s'] = i->screen->name;
                name_values['i'] = i->kdm_id ();
                boost::filesystem::path out = directory / careful_string_filter(name_format.get(name_values, ".xml"));
                if (!boost::filesystem::exists (out) || confirm_overwrite (out)) {
@@ -68,3 +67,15 @@ write_files (
 
        return written;
 }
+
+
+optional<string>
+KDMWithMetadata::get (char k) const
+{
+       dcp::NameFormat::Map::const_iterator i = _name_values.find (k);
+       if (i == _name_values.end()) {
+               return optional<string>();
+       }
+
+       return i->second;
+}