This is the simple way - This function connects the first available midi input to first available midi output.
You can set all midi thru params like sources and destinations in this example.
func makeMidiThru() -> OSStatus {
var connectionRef: MIDIThruConnectionRef = 0
var params = MIDIThruConnectionParams()
MIDIThruConnectionParamsInitialize(¶ms)
				params.numSources = 1
params.numDestinations = 1
params.sources.0.endpointRef = MIDIGetSource(0)
params.destinations.0.endpointRef = MIDIGetDestination(0)
let paramsData = withUnsafePointer(to: params) { p in
Data(bytes: p, count: MIDIThruConnectionParamsSize(¶ms))
}
return MIDIThruConnectionCreate(nil, paramsData as CFData, &connectionRef)
}
Topic:
Programming Languages
SubTopic:
Swift
Tags: