mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-24 14:17:21 +01:00
Use XMLNode::get/set_property in ARDOUR::MIDISceneChange class
This commit is contained in:
parent
adc4bfd5db
commit
30bea96579
1 changed files with 10 additions and 29 deletions
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
#include "pbd/error.h"
|
||||
#include "pbd/compose.h"
|
||||
#include "pbd/types_convert.h"
|
||||
|
||||
#include "ardour/midi_port.h"
|
||||
#include "ardour/midi_scene_change.h"
|
||||
|
|
@ -98,20 +99,14 @@ MIDISceneChange::get_program_message (uint8_t* buf, size_t size) const
|
|||
XMLNode&
|
||||
MIDISceneChange::get_state ()
|
||||
{
|
||||
char buf[32];
|
||||
XMLNode* node = new XMLNode (SceneChange::xml_node_name);
|
||||
|
||||
node->add_property (X_("type"), X_("MIDI"));
|
||||
snprintf (buf, sizeof (buf), "%d", (int) _program);
|
||||
node->add_property (X_("id"), id().to_s());
|
||||
snprintf (buf, sizeof (buf), "%d", (int) _program);
|
||||
node->add_property (X_("program"), buf);
|
||||
snprintf (buf, sizeof (buf), "%d", (int) _bank);
|
||||
node->add_property (X_("bank"), buf);
|
||||
snprintf (buf, sizeof (buf), "%d", (int) _channel);
|
||||
node->add_property (X_("channel"), buf);
|
||||
snprintf (buf, sizeof (buf), "%u", _color);
|
||||
node->add_property (X_("color"), buf);
|
||||
node->set_property (X_("type"), X_("MIDI"));
|
||||
node->set_property (X_("id"), id());
|
||||
node->set_property (X_("program"), _program);
|
||||
node->set_property (X_("bank"), _bank);
|
||||
node->set_property (X_("channel"), _channel);
|
||||
node->set_property (X_("color"), _color);
|
||||
|
||||
return *node;
|
||||
}
|
||||
|
|
@ -123,26 +118,12 @@ MIDISceneChange::set_state (const XMLNode& node, int /* version-ignored */)
|
|||
return -1;
|
||||
}
|
||||
|
||||
XMLProperty const * prop;
|
||||
|
||||
if ((prop = node.property (X_("program"))) == 0) {
|
||||
if (!node.get_property (X_("program"), _program) || !node.get_property (X_("bank"), _bank) ||
|
||||
!node.get_property (X_("channel"), _channel)) {
|
||||
return -1;
|
||||
}
|
||||
_program = atoi (prop->value());
|
||||
|
||||
if ((prop = node.property (X_("bank"))) == 0) {
|
||||
return -1;
|
||||
}
|
||||
_bank = atoi (prop->value());
|
||||
|
||||
if ((prop = node.property (X_("channel"))) == 0) {
|
||||
return -1;
|
||||
}
|
||||
_channel = atoi (prop->value());
|
||||
|
||||
if ((prop = node.property (X_("color"))) != 0) {
|
||||
_color = atoi (prop->value());
|
||||
} else {
|
||||
if (!node.get_property (X_("color"), _color)) {
|
||||
_color = out_of_bound_color;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue