summaryrefslogtreecommitdiff
path: root/libs/ardour/midiport_manager.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-09-05 13:22:34 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-09-05 13:22:34 -0400
commit1c49138e0099db37931b34fad552b43c332e187d (patch)
treeb3ebb558e8b055695fff674114272f7a28792bda /libs/ardour/midiport_manager.cc
parentfee626c386ccc23c41b7b2976c5031cd335b7587 (diff)
move MidiPortManager from AudioEngine to Session
This makes the responsibilities and ownership of non-Route related MIDI ports more clear, and removes a few wierd bits of code. It also ensures that open/close/open on the same session will retain connections for those MIDI ports
Diffstat (limited to 'libs/ardour/midiport_manager.cc')
-rw-r--r--libs/ardour/midiport_manager.cc10
1 files changed, 3 insertions, 7 deletions
diff --git a/libs/ardour/midiport_manager.cc b/libs/ardour/midiport_manager.cc
index 7abd47580b..d17401cee8 100644
--- a/libs/ardour/midiport_manager.cc
+++ b/libs/ardour/midiport_manager.cc
@@ -32,6 +32,7 @@ using namespace PBD;
MidiPortManager::MidiPortManager ()
{
+ create_ports ();
}
MidiPortManager::~MidiPortManager ()
@@ -110,21 +111,16 @@ MidiPortManager::create_ports ()
_mtc_output_port->set_always_parse (true);
_midi_clock_input_port->set_always_parse (true);
_midi_clock_output_port->set_always_parse (true);
-
- set_midi_port_states ();
}
void
-MidiPortManager::set_midi_port_states ()
+MidiPortManager::set_midi_port_states (const XMLNodeList&nodes)
{
- list<XMLNode*> nodes;
XMLProperty* prop;
typedef map<std::string,boost::shared_ptr<Port> > PortMap;
PortMap ports;
const int version = 0;
- nodes = Config->midi_port_states ();
-
ports.insert (make_pair (_mtc_input_port->name(), _mtc_input_port));
ports.insert (make_pair (_mtc_output_port->name(), _mtc_output_port));
ports.insert (make_pair (_midi_clock_input_port->name(), _midi_clock_input_port));
@@ -134,7 +130,7 @@ MidiPortManager::set_midi_port_states ()
ports.insert (make_pair (_mmc_input_port->name(), _mmc_in));
ports.insert (make_pair (_mmc_output_port->name(), _mmc_out));
- for (list<XMLNode*>::iterator n = nodes.begin(); n != nodes.end(); ++n) {
+ for (XMLNodeList::const_iterator n = nodes.begin(); n != nodes.end(); ++n) {
if ((prop = (*n)->property (X_("name"))) == 0) {
continue;
}