<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreMIDI",
  "identifier" : "/documentation/CoreMIDI/MIDIThruConnectionParams",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Core MIDI"
    ],
    "preciseIdentifier" : "c:@S@MIDIThruConnectionParams"
  },
  "title" : "MIDIThruConnectionParams"
}
-->

# MIDIThruConnectionParams

A set of MIDI routings and transformations.

```
struct MIDIThruConnectionParams
```

## Topics

### Connection Parameters

[`noteNumber`](/documentation/CoreMIDI/MIDIThruConnectionParams/noteNumber)

The transformation of MIDI note numbers.

[`lowNote`](/documentation/CoreMIDI/MIDIThruConnectionParams/lowNote)

The note value below which the system filters out notes.

[`highNote`](/documentation/CoreMIDI/MIDIThruConnectionParams/highNote)

The note value above which the system filters out notes.

[`velocity`](/documentation/CoreMIDI/MIDIThruConnectionParams/velocity)

A note velocity transformation.

[`lowVelocity`](/documentation/CoreMIDI/MIDIThruConnectionParams/lowVelocity)

The velocity value below which the system filters out notes.

[`highVelocity`](/documentation/CoreMIDI/MIDIThruConnectionParams/highVelocity)

The velocity value above which the system filters out notes.

[`keyPressure`](/documentation/CoreMIDI/MIDIThruConnectionParams/keyPressure)

The transformation of polyphonic key pressure events.

[`channelPressure`](/documentation/CoreMIDI/MIDIThruConnectionParams/channelPressure)

The transformation of MIDI monophonic channel pressure events.

[`version`](/documentation/CoreMIDI/MIDIThruConnectionParams/version)

The version number.

[`numSources`](/documentation/CoreMIDI/MIDIThruConnectionParams/numSources)

The number of valid sources.

[`sources`](/documentation/CoreMIDI/MIDIThruConnectionParams/sources)

All MIDI sources for this connection.

[`numDestinations`](/documentation/CoreMIDI/MIDIThruConnectionParams/numDestinations)

The number of valid destinations.

[`destinations`](/documentation/CoreMIDI/MIDIThruConnectionParams/destinations)

All MIDI destinations for this connection.

[`channelMap`](/documentation/CoreMIDI/MIDIThruConnectionParams/channelMap)

A mapping of MIDI channels.

[`filterOutAllControls`](/documentation/CoreMIDI/MIDIThruConnectionParams/filterOutAllControls)

A value that indicates whether to filter out MIDI continuous control messages.

[`filterOutBeatClock`](/documentation/CoreMIDI/MIDIThruConnectionParams/filterOutBeatClock)

A value that indicates whether to filter out MIDI clock, play, stop, and resume messages.

[`filterOutMTC`](/documentation/CoreMIDI/MIDIThruConnectionParams/filterOutMTC)

A value that indicates whether to filter out MIDI Time Code messages.

[`filterOutSysEx`](/documentation/CoreMIDI/MIDIThruConnectionParams/filterOutSysEx)

A value that indicates wheter to filter out system-exclusive messages.

[`filterOutTuneRequest`](/documentation/CoreMIDI/MIDIThruConnectionParams/filterOutTuneRequest)

A value that specifies whether to filter out MIDI tune request messages.

[`numControlTransforms`](/documentation/CoreMIDI/MIDIThruConnectionParams/numControlTransforms)

The number of control transformations in the variable-length portion of the struct.

[`numMaps`](/documentation/CoreMIDI/MIDIThruConnectionParams/numMaps)

The number of MIDI value maps in the variable-length portion of the struct.

[`pitchBend`](/documentation/CoreMIDI/MIDIThruConnectionParams/pitchBend)

The transformation of a MIDI pitch bend event.

[`programChange`](/documentation/CoreMIDI/MIDIThruConnectionParams/programChange)

A transformation of a MIDI program change event.

[`reserved2`](/documentation/CoreMIDI/MIDIThruConnectionParams/reserved2)

A reserved value that must be 0.

[`reserved3`](/documentation/CoreMIDI/MIDIThruConnectionParams/reserved3)

A reserved value that must be 0.

### Initializers

[`init()`](/documentation/CoreMIDI/MIDIThruConnectionParams/init())

[`init(version:numSources:sources:numDestinations:destinations:channelMap:lowVelocity:highVelocity:lowNote:highNote:noteNumber:velocity:keyPressure:channelPressure:programChange:pitchBend:filterOutSysEx:filterOutMTC:filterOutBeatClock:filterOutTuneRequest:reserved2:filterOutAllControls:numControlTransforms:numMaps:reserved3:)`](/documentation/CoreMIDI/MIDIThruConnectionParams/init(version:numSources:sources:numDestinations:destinations:channelMap:lowVelocity:highVelocity:lowNote:highNote:noteNumber:velocity:keyPressure:channelPressure:programChange:pitchBend:filterOutSysEx:filterOutMTC:filterOutBeatClock:filterOutTuneRequest:reserved2:filterOutAllControls:numControlTransforms:numMaps:reserved3:))

## Relationships

### Conforms To

[`BitwiseCopyable`](/documentation/Swift/BitwiseCopyable)

[`Sendable`](/documentation/Swift/Sendable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)