52 if (_mtc_input_port) {
55 if (_mtc_output_port) {
58 if (_midi_clock_input_port) {
61 if (_midi_clock_output_port) {
123 _mtc_output_port->set_always_parse (
true);
124 _midi_clock_input_port->set_always_parse (
true);
125 _midi_clock_output_port->set_always_parse (
true);
132 typedef map<std::string,boost::shared_ptr<Port> > PortMap;
134 const int version = 0;
136 ports.insert (make_pair (_mtc_input_port->name(), _mtc_input_port));
137 ports.insert (make_pair (_mtc_output_port->name(), _mtc_output_port));
138 ports.insert (make_pair (_midi_clock_input_port->name(), _midi_clock_input_port));
139 ports.insert (make_pair (_midi_clock_output_port->name(), _midi_clock_output_port));
140 ports.insert (make_pair (_midi_input_port->name(), _midi_in));
141 ports.insert (make_pair (_midi_output_port->name(), _midi_out));
142 ports.insert (make_pair (_mmc_input_port->name(), _mmc_in));
143 ports.insert (make_pair (_mmc_output_port->name(), _mmc_out));
144 ports.insert (make_pair (_scene_output_port->name(), _scene_out));
145 ports.insert (make_pair (_scene_input_port->name(), _scene_in));
147 for (XMLNodeList::const_iterator n = nodes.begin(); n != nodes.end(); ++n) {
148 if ((prop = (*n)->property (
X_(
"name"))) == 0) {
152 PortMap::iterator p = ports.find (prop->
value());
153 if (p == ports.end()) {
157 p->second->set_state (**n, version);
164 typedef map<std::string,boost::shared_ptr<Port> > PortMap;
168 ports.insert (make_pair (_mtc_input_port->name(), _mtc_input_port));
169 ports.insert (make_pair (_mtc_output_port->name(), _mtc_output_port));
170 ports.insert (make_pair (_midi_clock_input_port->name(), _midi_clock_input_port));
171 ports.insert (make_pair (_midi_clock_output_port->name(), _midi_clock_output_port));
172 ports.insert (make_pair (_midi_input_port->name(), _midi_in));
173 ports.insert (make_pair (_midi_output_port->name(), _midi_out));
174 ports.insert (make_pair (_mmc_input_port->name(), _mmc_in));
175 ports.insert (make_pair (_mmc_output_port->name(), _mmc_out));
176 ports.insert (make_pair (_scene_output_port->name(), _scene_out));
177 ports.insert (make_pair (_scene_input_port->name(), _scene_in));
179 for (PortMap::const_iterator p = ports.begin(); p != ports.end(); ++p) {
180 s.push_back (&p->second->get_state());
boost::shared_ptr< Port > register_input_port(DataType, const std::string &portname, bool async=false)
const std::string & value() const
void set_midi_port_states(const XMLNodeList &)
shared_ptr< T > dynamic_pointer_cast(shared_ptr< U > const &r)
static AudioEngine * instance()
std::list< XMLNode * > XMLNodeList
std::list< XMLNode * > get_midi_port_states() const
virtual ~MidiPortManager()
void set_always_parse(bool yn)
boost::shared_ptr< Port > register_output_port(DataType, const std::string &portname, bool async=false)
int unregister_port(boost::shared_ptr< Port >)