Untested watermarking.
[dcpomatic.git] / src / lib / cinema_kdms.cc
index 316deed2fa3401b0a2606a251176e267adbfa74e..aaeb0d9056f3f89b94b9c62c731b4a8edd7912ef 100644 (file)
@@ -65,6 +65,7 @@ CinemaKDMs::make_zip_file (boost::filesystem::path zip_file, dcp::NameFormat nam
                }
 
                name_values['s'] = i.screen->name;
+               name_values['i'] = i.kdm.id ();
                string const name = name_format.get(name_values, ".xml");
                if (zip_add (zip, name.c_str(), source) == -1) {
                        throw runtime_error ("failed to add KDM to ZIP archive");
@@ -130,15 +131,14 @@ CinemaKDMs::write_directories (
 
        int written = 0;
 
-       if (!boost::filesystem::exists (directory)) {
-               boost::filesystem::create_directories (directory);
-       }
-
        BOOST_FOREACH (CinemaKDMs const & i, cinema_kdms) {
                boost::filesystem::path path = directory;
                name_values['c'] = i.cinema->name;
                path /= container_name_format.get(name_values, "");
-               ScreenKDM::write_files (i.screen_kdms, path, filename_format, name_values, confirm_overwrite);
+               if (!boost::filesystem::exists (path) || confirm_overwrite (path)) {
+                       boost::filesystem::create_directories (path);
+                       ScreenKDM::write_files (i.screen_kdms, path, filename_format, name_values, confirm_overwrite);
+               }
                written += i.screen_kdms.size();
        }
 
@@ -161,10 +161,6 @@ CinemaKDMs::write_zip_files (
 
        int written = 0;
 
-       if (!boost::filesystem::exists (directory)) {
-               boost::filesystem::create_directories (directory);
-       }
-
        BOOST_FOREACH (CinemaKDMs const & i, cinema_kdms) {
                boost::filesystem::path path = directory;
                name_values['c'] = i.cinema->name;