Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(129)

Side by Side Diff: media/midi/midi_manager_mac.cc

Issue 960213006: Web MIDI: newly attached device was not registered to listen (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/midi/midi_manager_mac.h" 5 #include "media/midi/midi_manager_mac.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 reinterpret_cast<const MIDIObjectAddRemoveNotification*>(message); 216 reinterpret_cast<const MIDIObjectAddRemoveNotification*>(message);
217 MIDIEndpointRef endpoint = 217 MIDIEndpointRef endpoint =
218 static_cast<MIDIEndpointRef>(notification->child); 218 static_cast<MIDIEndpointRef>(notification->child);
219 if (notification->childType == kMIDIObjectType_Source) { 219 if (notification->childType == kMIDIObjectType_Source) {
220 SourceMap::iterator it = source_map_.find(endpoint); 220 SourceMap::iterator it = source_map_.find(endpoint);
221 if (it == source_map_.end()) { 221 if (it == source_map_.end()) {
222 uint32 index = source_map_.size(); 222 uint32 index = source_map_.size();
223 source_map_[endpoint] = index; 223 source_map_[endpoint] = index;
224 MidiPortInfo info = GetPortInfoFromEndpoint(endpoint); 224 MidiPortInfo info = GetPortInfoFromEndpoint(endpoint);
225 AddInputPort(info); 225 AddInputPort(info);
226 MIDIPortConnectSource(
227 coremidi_input_, endpoint, reinterpret_cast<void*>(endpoint));
226 } else { 228 } else {
227 uint32 index = it->second; 229 uint32 index = it->second;
228 SetInputPortState(index, MIDI_PORT_OPENED); 230 SetInputPortState(index, MIDI_PORT_OPENED);
229 } 231 }
230 } else if (notification->childType == kMIDIObjectType_Destination) { 232 } else if (notification->childType == kMIDIObjectType_Destination) {
231 auto i = std::find(destinations_.begin(), destinations_.end(), endpoint); 233 auto i = std::find(destinations_.begin(), destinations_.end(), endpoint);
232 if (i != destinations_.end()) { 234 if (i != destinations_.end()) {
233 SetOutputPortState(i - destinations_.begin(), MIDI_PORT_OPENED); 235 SetOutputPortState(i - destinations_.begin(), MIDI_PORT_OPENED);
234 } else { 236 } else {
235 destinations_.push_back(endpoint); 237 destinations_.push_back(endpoint);
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 327
326 MIDISend(coremidi_output_, destination, packet_list_); 328 MIDISend(coremidi_output_, destination, packet_list_);
327 329
328 // Re-initialize for next time. 330 // Re-initialize for next time.
329 midi_packet_ = MIDIPacketListInit(packet_list_); 331 midi_packet_ = MIDIPacketListInit(packet_list_);
330 332
331 client->AccumulateMidiBytesSent(data.size()); 333 client->AccumulateMidiBytesSent(data.size());
332 } 334 }
333 335
334 } // namespace media 336 } // namespace media
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698