X-Git-Url: https://main.carlh.net/gitweb/?p=ardour.git;a=blobdiff_plain;f=libs%2Fardour%2Fexport_preset.cc;h=dec4c4b79a63200753444e39c4788b0ee4d06cd5;hp=620daa0f7ff127edef0fc83305450661c4db7e08;hb=c8c6bca6587450ff64303dbc994a4cd28d6ce7aa;hpb=68f04adec110a991e2b2c1657e67a7dc791decc1 diff --git a/libs/ardour/export_preset.cc b/libs/ardour/export_preset.cc index 620daa0f7f..dec4c4b79a 100644 --- a/libs/ardour/export_preset.cc +++ b/libs/ardour/export_preset.cc @@ -18,10 +18,11 @@ */ -#include +#include "ardour/export_preset.h" -#include +#include "ardour/session.h" +using namespace std; using namespace ARDOUR; ExportPreset::ExportPreset (string filename, Session & s) : @@ -29,14 +30,14 @@ 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); @@ -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,17 +120,17 @@ 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) { - XMLProperty * prop; + XMLProperty const * prop; if ((prop = (*it)->property ("id")) && _id == PBD::UUID(prop->value())) { return *it; } } } - + 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);