37 |
} |
} |
38 |
} |
} |
39 |
|
|
|
std::map<String,DeviceCreationParameter*> MidiInputDevice::AvailableParameters() { |
|
|
static const std::map<String,DeviceCreationParameter*> available_parameters = CreateAvailableParameters(); |
|
|
return available_parameters; |
|
|
} |
|
|
|
|
|
std::map<String,DeviceCreationParameter*> MidiInputDevice::CreateAvailableParameters() { |
|
|
static ParameterActive param_active(NULL); |
|
|
static ParameterPorts param_ports(NULL); |
|
|
std::map<String,DeviceCreationParameter*> result; |
|
|
result["active"] = ¶m_active; |
|
|
result["ports"] = ¶m_ports; |
|
|
return result; |
|
|
} |
|
|
|
|
40 |
MidiInputDevice::MidiInputPort::~MidiInputPort() { |
MidiInputDevice::MidiInputPort::~MidiInputPort() { |
41 |
std::map<String,DeviceCreationParameter*>::iterator iter = Parameters.begin(); |
std::map<String,DeviceCreationParameter*>::iterator iter = Parameters.begin(); |
42 |
while (iter != Parameters.end()) { |
while (iter != Parameters.end()) { |
112 |
while (diff != 0) { |
while (diff != 0) { |
113 |
if (diff > 0) { //We've got too many ports, remove one |
if (diff > 0) { //We've got too many ports, remove one |
114 |
std::map<int,MidiInputPort*>::iterator portsIter = Ports.end(); |
std::map<int,MidiInputPort*>::iterator portsIter = Ports.end(); |
115 |
Ports.erase(--portsIter); |
--portsIter; |
116 |
|
Ports.erase(portsIter); |
117 |
delete portsIter->second; |
delete portsIter->second; |
118 |
diff--; |
diff--; |
119 |
} |
} |