abort if configuration fails
[ardour.git] / libs / ardour / export_preset.cc
index 620daa0f7ff127edef0fc83305450661c4db7e08..c6bae093c40ebf6fa4a5ca9938342256920d3ee5 100644 (file)
 
 */
 
-#include <ardour/export_preset.h>
+#include "ardour/export_preset.h"
 
-#include <ardour/session.h>
+#include "ardour/session.h"
 
+using namespace std;
 using namespace ARDOUR;
 
 ExportPreset::ExportPreset (string filename, Session & s) :
@@ -36,7 +37,7 @@ ExportPreset::ExportPreset (string filename, Session & s) :
                if ((prop = root->property ("name"))) {
                        set_name (prop->value());
                }
-               
+
                XMLNode * instant_xml = get_instant_xml ();
                if (instant_xml) {
                        XMLNode * instant_copy = new XMLNode (*instant_xml);
@@ -47,9 +48,7 @@ ExportPreset::ExportPreset (string filename, Session & s) :
 
 ExportPreset::~ExportPreset ()
 {
-       if (local) {
-               delete local;
-       }
+       delete local;
 }
 
 void
@@ -57,7 +56,7 @@ ExportPreset::set_name (string const & name)
 {
        _name = name;
 
-       XMLNode * node; 
+       XMLNode * node;
        if ((node = global.root())) {
                node->add_property ("name", name);
        }
@@ -85,7 +84,7 @@ ExportPreset::set_global_state (XMLNode & state)
 {
        delete global.root ();
        global.set_root (&state);
-       
+
        set_id (_id.to_s());
        set_name (_name);
 }
@@ -95,16 +94,18 @@ ExportPreset::set_local_state (XMLNode & state)
 {
        delete local;
        local = &state;
-       
+
        set_id (_id.to_s());
        set_name (_name);
 }
 
 void
-ExportPreset::save () const
+ExportPreset::save (std::string const & filename)
 {
        save_instant_xml ();
+
        if (global.root()) {
+                global.set_filename (filename);
                global.write ();
        }
 }
@@ -119,7 +120,7 @@ XMLNode *
 ExportPreset::get_instant_xml () const
 {
        XMLNode * instant_xml;
-       
+
        if ((instant_xml = session.instant_xml ("ExportPresets"))) {
                XMLNodeList children = instant_xml->children ("ExportPreset");
                for (XMLNodeList::iterator it = children.begin(); it != children.end(); ++it) {
@@ -129,7 +130,7 @@ ExportPreset::get_instant_xml () const
                        }
                }
        }
-       
+
        return 0;
 }
 
@@ -139,9 +140,9 @@ ExportPreset::save_instant_xml () const
        if (!local) { return; }
 
        /* First remove old, then add new */
-       
+
        remove_instant_xml ();
-       
+
        XMLNode * instant_xml;
        if ((instant_xml = session.instant_xml ("ExportPresets"))) {
                instant_xml->add_child_copy (*local);