-#undef CONFIG_VARIABLE
-#undef CONFIG_VARIABLE_SPECIAL
-#define CONFIG_VARIABLE(type,var,name,value) \
- if (var.set_from_node (node, owner)) { \
- ParameterChanged (name); \
- }
-#define CONFIG_VARIABLE_SPECIAL(type,var,name,value,mutator) \
- if (var.set_from_node (node, owner)) { \
- ParameterChanged (name); \
- }
-#include "ardour/configuration_vars.h"
-#undef CONFIG_VARIABLE
-#undef CONFIG_VARIABLE_SPECIAL
-
-}
-
-Configuration::MidiPortDescriptor::MidiPortDescriptor (const XMLNode& node)
-{
- const XMLProperty *prop;
- bool have_tag = false;
- bool have_device = false;
- bool have_type = false;
- bool have_mode = false;
-
- if ((prop = node.property ("tag")) != 0) {
- tag = prop->value();
- have_tag = true;
- }
-
- if ((prop = node.property ("device")) != 0) {
- device = prop->value();
- have_device = true;
- }
-
- if ((prop = node.property ("type")) != 0) {
- type = prop->value();
- have_type = true;
- }
-
- if ((prop = node.property ("mode")) != 0) {
- mode = prop->value();
- have_mode = true;
- }
-
- if (!have_tag || !have_device || !have_type || !have_mode) {
- throw failed_constructor();
- }
-}
-
-XMLNode&
-Configuration::MidiPortDescriptor::get_state()
-{
- XMLNode* root = new XMLNode("MIDI-port");
-
- root->add_property("tag", tag);
- root->add_property("device", device);
- root->add_property("type", type);
- root->add_property("mode", mode);
-
- return *root;