mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-17 19:06:01 +01:00
Use XMLNode::get/set_property API in ARDOUR::Source class
This commit is contained in:
parent
baf0cf9393
commit
12ffebab05
1 changed files with 21 additions and 22 deletions
|
|
@ -33,15 +33,21 @@
|
|||
#include "pbd/xml++.h"
|
||||
#include "pbd/pthread_utils.h"
|
||||
#include "pbd/enumwriter.h"
|
||||
#include "pbd/types_convert.h"
|
||||
|
||||
#include "ardour/debug.h"
|
||||
#include "ardour/profile.h"
|
||||
#include "ardour/session.h"
|
||||
#include "ardour/source.h"
|
||||
#include "ardour/transient_detector.h"
|
||||
#include "ardour/types_convert.h"
|
||||
|
||||
#include "pbd/i18n.h"
|
||||
|
||||
namespace PBD {
|
||||
DEFINE_ENUM_CONVERT(ARDOUR::Source::Flag);
|
||||
}
|
||||
|
||||
using namespace std;
|
||||
using namespace ARDOUR;
|
||||
using namespace PBD;
|
||||
|
|
@ -94,16 +100,14 @@ XMLNode&
|
|||
Source::get_state ()
|
||||
{
|
||||
XMLNode *node = new XMLNode ("Source");
|
||||
char buf[64];
|
||||
|
||||
node->add_property ("name", name());
|
||||
node->add_property ("type", _type.to_string());
|
||||
node->add_property (X_("flags"), enum_2_string (_flags));
|
||||
node->add_property ("id", id().to_s());
|
||||
node->set_property ("name", name());
|
||||
node->set_property ("type", _type);
|
||||
node->set_property (X_("flags"), _flags);
|
||||
node->set_property ("id", id());
|
||||
|
||||
if (_timestamp != 0) {
|
||||
snprintf (buf, sizeof (buf), "%ld", _timestamp);
|
||||
node->add_property ("timestamp", buf);
|
||||
node->set_property ("timestamp", (int64_t)_timestamp);
|
||||
}
|
||||
|
||||
return *node;
|
||||
|
|
@ -112,10 +116,9 @@ Source::get_state ()
|
|||
int
|
||||
Source::set_state (const XMLNode& node, int version)
|
||||
{
|
||||
XMLProperty const * prop;
|
||||
|
||||
if ((prop = node.property ("name")) != 0) {
|
||||
_name = prop->value();
|
||||
std::string str;
|
||||
if (node.get_property ("name", str)) {
|
||||
_name = str;
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
|
|
@ -124,23 +127,19 @@ Source::set_state (const XMLNode& node, int version)
|
|||
return -1;
|
||||
}
|
||||
|
||||
if ((prop = node.property ("type")) != 0) {
|
||||
_type = DataType(prop->value());
|
||||
node.get_property ("type", _type);
|
||||
|
||||
int64_t t;
|
||||
if (node.get_property ("timestamp", t)) {
|
||||
_timestamp = t;
|
||||
}
|
||||
|
||||
if ((prop = node.property ("timestamp")) != 0) {
|
||||
sscanf (prop->value().c_str(), "%ld", &_timestamp);
|
||||
}
|
||||
|
||||
if ((prop = node.property (X_("flags"))) != 0) {
|
||||
_flags = Flag (string_2_enum (prop->value(), _flags));
|
||||
} else {
|
||||
if (!node.get_property (X_("flags"), _flags)) {
|
||||
_flags = Flag (0);
|
||||
|
||||
}
|
||||
|
||||
/* old style, from the period when we had DestructiveFileSource */
|
||||
if ((prop = node.property (X_("destructive"))) != 0) {
|
||||
if (node.get_property (X_("destructive"), str)) {
|
||||
_flags = Flag (_flags | Destructive);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue