Set 'downloadable' property on Soundcloud uploads
[ardour.git] / libs / ardour / export_profile_manager.cc
index 42e494c0cb3c9e1d56f289085149c3d7cae0f678..0792232b5fc0edb60e8d45773e51762c5f7760aa 100644 (file)
@@ -34,7 +34,7 @@
 
 #include "ardour/export_profile_manager.h"
 #include "ardour/export_format_specification.h"
-#include "ardour/export_formats_search_path.h"
+#include "ardour/search_paths.h"
 #include "ardour/export_timespan.h"
 #include "ardour/export_channel_configuration.h"
 #include "ardour/export_filename.h"
@@ -644,6 +644,7 @@ ExportProfileManager::get_new_format (ExportFormatSpecPtr original)
        ExportFormatSpecPtr format;
        if (original) {
                format.reset (new ExportFormatSpecification (*original));
+               std::cerr << "After new format created from original, format has id [" << format->id().to_s() << ']' << std::endl;
        } else {
                format = handler->add_format();
                format->set_name (_("empty format"));
@@ -685,7 +686,7 @@ ExportProfileManager::FormatStatePtr
 ExportProfileManager::deserialize_format (XMLNode & root)
 {
        XMLProperty * prop;
-       UUID id;
+       PBD::UUID id;
 
        if ((prop = root.property ("id"))) {
                id = prop->value();
@@ -724,8 +725,20 @@ ExportProfileManager::load_formats ()
 void
 ExportProfileManager::load_format_from_disk (std::string const & path)
 {
-       XMLTree const tree (path);
-       ExportFormatSpecPtr format = handler->add_format (*tree.root());
+       XMLTree tree;
+
+       if (!tree.read (path)) {
+               error << string_compose (_("Cannot load export format from %1"), path) << endmsg;
+               return;
+       }
+
+       XMLNode* root = tree.root();
+       if (!root) {
+               error << string_compose (_("Cannot export format read from %1"), path) << endmsg;
+               return;
+       }
+
+       ExportFormatSpecPtr format = handler->add_format (*root);
 
        /* Handle id to filename mapping and don't add duplicates to list */