#include <string>
#include "pbd/xml++.h"
+#include "pbd/types_convert.h"
#include "ardour/automatable.h"
#include "ardour/chan_count.h"
#include "ardour/session.h"
#include "ardour/types.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
using namespace std;
using namespace ARDOUR;
, _pre_fader (false)
, _ui_pointer (0)
, _window_proxy (0)
+ , _pinmgr_proxy (0)
, _owner (0)
{
}
, _pre_fader (false)
, _ui_pointer (0)
, _window_proxy (0)
+ , _pinmgr_proxy (0)
, _owner (0)
{
}
Processor::state (bool full_state)
{
XMLNode* node = new XMLNode (state_node_name);
- char buf[64];
- id().print (buf, sizeof (buf));
- node->add_property("id", buf);
- node->add_property("name", _name);
- node->add_property("active", active() ? "yes" : "no");
+ node->set_property("id", id());
+ node->set_property("name", name());
+ node->set_property("active", active());
if (_extra_xml){
node->add_child_copy (*_extra_xml);
XMLNode& automation = Automatable::get_automation_xml_state();
if (!automation.children().empty() || !automation.properties().empty()) {
node->add_child_nocopy (automation);
+ } else {
+ delete &automation;
}
}
- snprintf (buf, sizeof (buf), "%" PRId64, _user_latency);
- node->add_property("user-latency", buf);
+ node->set_property("user-latency", _user_latency);
return *node;
}
XMLProperty const * prop;
XMLNodeList children = node.children ();
-
+
for (XMLNodeIterator i = children.begin(); i != children.end(); ++i) {
if ((*i)->name() == X_("IO")) {
-
+
if ((prop = (*i)->property ("name")) != 0) {
set_name (prop->value ());
}
-
+
set_id (**i);
//note: in A2, active state was stored in the Redirect node, not the child IO node
}
}
}*/
-
+
}
}
return set_state_2X (node, version);
}
- const XMLProperty *prop;
- const XMLProperty *legacy_active = 0;
- bool leave_name_alone = (node.property ("ignore-name") != 0);
-
- if (!leave_name_alone) {
+ bool ignore_name;
+ // Only testing for the presence of the property not value
+ if (!node.get_property("ignore-name", ignore_name)) {
+ string name;
// may not exist for legacy 3.0 sessions
- if ((prop = node.property ("name")) != 0) {
+ if (node.get_property ("name", name)) {
/* don't let derived classes have a crack at set_name,
as some (like Send) will screw with the one we suggest.
*/
- Processor::set_name (prop->value());
+ Processor::set_name (name);
}
-
+
set_id (node);
}
Stateful::save_extra_xml (node);
+ XMLProperty const * prop = 0;
+ XMLProperty const * legacy_active = 0;
+
for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
if ((*niter)->name() == X_("Automation")) {
- XMLProperty *prop;
-
if ((prop = (*niter)->property ("path")) != 0) {
old_set_automation_state (*(*niter));
} else {
}
}
- bool const a = string_is_affirmative (prop->value ()) && !_session.get_bypass_all_loaded_plugins();
+ bool const a = string_to<bool> (prop->value ()) && !_session.get_bypass_all_loaded_plugins();
if (_active != a) {
if (a) {
activate ();
}
}
- if ((prop = node.property ("user-latency")) != 0) {
- _user_latency = atoi (prop->value ());
- }
+ node.get_property ("user-latency", _user_latency);
return 0;
}
_ui_pointer = p;
}
-void
-Processor::set_window_proxy (ProcessorWindowProxy* wp)
-{
- _window_proxy = wp;
-}
-
void
Processor::set_owner (SessionObject* o)
{