---
title: MIDIControlTransform
framework: coremidi
role: symbol
role_heading: Structure
path: coremidi/midicontroltransform
---

# MIDIControlTransform

A structure that describes the transformation of MIDI control change events.

## Declaration

```swift
struct MIDIControlTransform
```

## Overview

Overview A single parameters object may describe any number of transformations to control events. It’s important to order multiple transformations correctly: filter out, remap, and then alter values. The system performs all transformations internally using 14-bit values, so when you perform an add, min, or max transform on a 7-bit control value, the parameter must be a 14-bit value. For example, to add 10 to a control value, the parameter must be (10 << 7) = 1280. Based on the MIDI specification, the system interprets several controls specially:  |   |   |   |   |

## Topics

### Configuring a Control Transform

- [controlType](coremidi/midicontroltransform/controltype.md)
- [remappedControlType](coremidi/midicontroltransform/remappedcontroltype.md)
- [controlNumber](coremidi/midicontroltransform/controlnumber.md)
- [transform](coremidi/midicontroltransform/transform.md)
- [param](coremidi/midicontroltransform/param.md)

### Initializers

- [init()](coremidi/midicontroltransform/init().md)
- [init(controlType:remappedControlType:controlNumber:transform:param:)](coremidi/midicontroltransform/init(controltype:remappedcontroltype:controlnumber:transform:param:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Sendable](swift/sendable.md)

## See Also

### Transforming Values

- [MIDIValueMap](coremidi/midivaluemap.md)
- [MIDITransform](coremidi/miditransform.md)
- [MIDITransformType](coremidi/miditransformtype.md)
- [MIDITransformControlType](coremidi/miditransformcontroltype.md)
