- shared_ptr<Screen> s (new Screen (b[0]));
-
- vector<string>::size_type i = 1;
- while (b.size() > i) {
- if (b.size() >= (i + 5)) {
- s->set_geometry (
- Format::from_metadata (b[i].c_str()),
- Position (atoi (b[i+1].c_str()), atoi (b[i+2].c_str())),
- Size (atoi (b[i+3].c_str()), atoi (b[i+4].c_str()))
- );
- }
- i += 5;
+ auto cinema = screen->cinema;
+ dcp::LocalTime const begin(valid_from, cinema ? cinema->utc_offset_hour() : 0, cinema ? cinema->utc_offset_minute() : 0);
+ dcp::LocalTime const end (valid_to, cinema ? cinema->utc_offset_hour() : 0, cinema ? cinema->utc_offset_minute() : 0);
+
+ auto const kdm = film->make_kdm (
+ screen->recipient.get(),
+ screen->trusted_device_thumbprints(),
+ cpl,
+ begin,
+ end,
+ formulation,
+ disable_forensic_marking_picture,
+ disable_forensic_marking_audio
+ );
+
+ dcp::NameFormat::Map name_values;
+ if (cinema) {
+ name_values['c'] = cinema->name;
+ } else {
+ name_values['c'] = "";