#include "ardour/session.h"
+using namespace std;
using namespace ARDOUR;
ExportPreset::ExportPreset (string filename, Session & s) :
{
XMLNode * root;
if ((root = global.root())) {
- XMLProperty * prop;
+ XMLProperty const * prop;
if ((prop = root->property ("id"))) {
set_id (prop->value());
}
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);
{
_name = name;
- XMLNode * node;
+ XMLNode * node;
if ((node = global.root())) {
node->add_property ("name", name);
}
{
delete global.root ();
global.set_root (&state);
-
+
set_id (_id.to_s());
set_name (_name);
}
{
delete local;
local = &state;
-
+
set_id (_id.to_s());
set_name (_name);
}
ExportPreset::save (std::string const & filename)
{
save_instant_xml ();
+
if (global.root()) {
- global.set_filename (filename);
+ global.set_filename (filename);
global.write ();
}
}
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) {
- XMLProperty * prop;
+ XMLProperty const * prop;
if ((prop = (*it)->property ("id")) && _id == PBD::UUID(prop->value())) {
return *it;
}
}
}
-
+
return 0;
}
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);