---
title: "MIDIReceived(_:_:)"
framework: coremidi
role: symbol
role_heading: Function
path: "coremidi/midireceived(_:_:)"
---

# MIDIReceived(_:_:)

Distributes incoming MIDI from a source to the client input ports which are connected to that source.

## Declaration

```swift
func MIDIReceived(_ src: MIDIEndpointRef, _ pktlist: UnsafePointer<MIDIPacketList>) -> OSStatus
```

## Parameters

- `src`: The source which is transmitting MIDI.
- `pktlist`: The MIDI events to be transmitted.

## Return Value

Return Value An OSStatus result code.

## Discussion

Discussion Drivers should call this function when receiving MIDI from a source. Clients which have created virtual sources, using MIDISourceCreate, should call this function when the source is generating MIDI. Unlike MIDISend(), a timestamp of 0 is not equivalent to “now”; the driver or virtual source is responsible for putting proper timestamps in the packets.

## See Also

### Deprecated Functions

- [MIDIInputPortCreate(_:_:_:_:_:)](coremidi/midiinputportcreate(_:_:_:_:_:).md)
- [MIDIInputPortCreateWithBlock(_:_:_:_:)](coremidi/midiinputportcreatewithblock(_:_:_:_:).md)
- [MIDISourceCreate(_:_:_:)](coremidi/midisourcecreate(_:_:_:).md)
- [MIDIDestinationCreate(_:_:_:_:_:)](coremidi/mididestinationcreate(_:_:_:_:_:).md)
- [MIDIDestinationCreateWithBlock(_:_:_:_:)](coremidi/mididestinationcreatewithblock(_:_:_:_:).md)
- [MIDIPacketListInit(_:)](coremidi/midipacketlistinit(_:).md)
- [MIDIPacketListAdd(_:_:_:_:_:_:)](coremidi/midipacketlistadd(_:_:_:_:_:_:).md)
- [MIDISend(_:_:_:)](coremidi/midisend(_:_:_:).md)
- [MIDIReadProc](coremidi/midireadproc.md)
- [MIDIReadBlock](coremidi/midireadblock.md)
