RCConfiguration::~RCConfiguration ()
{
- for (list<XMLNode*>::iterator i = _old_midi_port_states.begin(); i != _old_midi_port_states.end(); ++i) {
- delete *i;
- }
-
- for (list<XMLNode*>::iterator i = _midi_port_states.begin(); i != _midi_port_states.end(); ++i) {
- delete *i;
- }
-
delete _control_protocol_state;
}
RCConfiguration::load_state ()
{
std::string rcfile;
- struct stat statbuf;
+ GStatBuf statbuf;
/* load system configuration first */
root = new XMLNode("Ardour");
- list<XMLNode*> midi_port_nodes = AudioEngine::instance()->get_midi_port_states();
- for (list<XMLNode*>::const_iterator n = midi_port_nodes.begin(); n != midi_port_nodes.end(); ++n) {
- root->add_child_nocopy (**n);
- }
-
root->add_child_nocopy (get_variables ());
root->add_child_nocopy (SessionMetadata::Metadata()->get_user_state());
XMLNodeConstIterator niter;
XMLNode *node;
- for (list<XMLNode*>::iterator i = _midi_port_states.begin(); i != _midi_port_states.end(); ++i) {
- delete *i;
- }
-
- _midi_port_states.clear ();
-
Stateful::save_extra_xml (root);
for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
SessionMetadata::Metadata()->set_state (*node, version);
} else if (node->name() == ControlProtocolManager::state_node_name) {
_control_protocol_state = new XMLNode (*node);
- } else if (node->name() == MIDI::Port::state_node_name) {
- _old_midi_port_states.push_back (new XMLNode (*node));
- } else if (node->name() == ARDOUR::Port::state_node_name) {
- _midi_port_states.push_back (new XMLNode (*node));
}
}