Give a better error when map doesn't find an asset.
[dcpomatic.git] / src / lib / map_cli.cc
index c49964f80e7da03a80d927405804a276a0c3083f..487d1690d846b756a68bad358a33676ca0a43c28 100644 (file)
@@ -298,7 +298,11 @@ map_cli(int argc, char* argv[], std::function<void (string)> out)
 
        dcp.resolve_refs(assets);
        dcp.set_annotation_text(cpls[0]->annotation_text().get_value_or(""));
-       dcp.write_xml(Config::instance()->signer_chain());
+       try {
+               dcp.write_xml(Config::instance()->signer_chain());
+       } catch (dcp::UnresolvedRefError& e) {
+               return String::compose("%1\nPerhaps you need to give a -d parameter to say where this asset is located.", e.what());
+       }
 
        return {};
 }