| Index: Source/modules/webmidi/MIDIAccess.cpp
|
| diff --git a/Source/modules/webmidi/MIDIAccess.cpp b/Source/modules/webmidi/MIDIAccess.cpp
|
| index c9ea88f5b25d9fc3b31c8a6ff7196dd62e51d889..910dbada389d60a57375017c7b21db622e7478c4 100644
|
| --- a/Source/modules/webmidi/MIDIAccess.cpp
|
| +++ b/Source/modules/webmidi/MIDIAccess.cpp
|
| @@ -106,28 +106,38 @@ MIDIOutputMap* MIDIAccess::outputs() const
|
| void MIDIAccess::didAddInputPort(const String& id, const String& manufacturer, const String& name, const String& version, bool isActive)
|
| {
|
| ASSERT(isMainThread());
|
| - m_inputs.append(MIDIInput::create(this, id, manufacturer, name, version, isActive));
|
| + MIDIInput* port = MIDIInput::create(this, id, manufacturer, name, version, isActive);
|
| + m_inputs.append(port);
|
| + dispatchEvent(MIDIConnectionEvent::create(port));
|
| }
|
|
|
| void MIDIAccess::didAddOutputPort(const String& id, const String& manufacturer, const String& name, const String& version, bool isActive)
|
| {
|
| ASSERT(isMainThread());
|
| unsigned portIndex = m_outputs.size();
|
| - m_outputs.append(MIDIOutput::create(this, portIndex, id, manufacturer, name, version, isActive));
|
| + MIDIOutput* port = MIDIOutput::create(this, portIndex, id, manufacturer, name, version, isActive);
|
| + m_outputs.append(port);
|
| + dispatchEvent(MIDIConnectionEvent::create(port));
|
| }
|
|
|
| void MIDIAccess::didSetInputPortState(unsigned portIndex, bool isActive)
|
| {
|
| ASSERT(isMainThread());
|
| - if (portIndex < m_inputs.size())
|
| - m_inputs[portIndex]->setActiveState(isActive);
|
| + if (portIndex >= m_inputs.size())
|
| + return;
|
| +
|
| + m_inputs[portIndex]->setActiveState(isActive);
|
| + dispatchEvent(MIDIConnectionEvent::create(m_inputs[portIndex]));
|
| }
|
|
|
| void MIDIAccess::didSetOutputPortState(unsigned portIndex, bool isActive)
|
| {
|
| ASSERT(isMainThread());
|
| - if (portIndex < m_outputs.size())
|
| - m_outputs[portIndex]->setActiveState(isActive);
|
| + if (portIndex >= m_outputs.size())
|
| + return;
|
| +
|
| + m_outputs[portIndex]->setActiveState(isActive);
|
| + dispatchEvent(MIDIConnectionEvent::create(m_outputs[portIndex]));
|
| }
|
|
|
| void MIDIAccess::didReceiveMIDIData(unsigned portIndex, const unsigned char* data, size_t length, double timeStamp)
|
|
|