# MidiPort

`import { MidiPort } from "destack:device/binding";`

MIDI port.

```ds title="MidiPort"
export struct MidiPort {
    id: string;
    backend: MidiBackendKind;
    directions: MidiDirectionFlags;
    name: string;
    groupId: string;
    backendId: string;
    groupName: string;
    manufacturer: string;
    model: string;
    version: string;
    formats: MidiFormatFlags;
    defaultFormat: MidiFormat;
    protocols: MidiProtocolFlags;
    defaultProtocol: MidiProtocol;
    isVirtual: boolean;
    isConnected: boolean;
}
```

[language/library/src/device/binding/midi.ds:123:156](https://github.com/destack-sh/destack/blob/main/language/library/src/device/binding/midi.ds#L123-L156)

## Members

### `id: string`

Stable runtime port identifier.

### `backend: MidiBackendKind`

Backend that owns the port.

### `directions: MidiDirectionFlags`

Port direction flags.

### `name: string`

Host-visible port name.

### `groupId: string`

Host-visible group identifier when available.

### `backendId: string`

Backend-native port identifier when available.

### `groupName: string`

Host-visible group name when available.

### `manufacturer: string`

Host-visible manufacturer name when available.

### `model: string`

Host-visible model name when available.

### `version: string`

Host-visible version string when available.

### `formats: MidiFormatFlags`

Supported transport data formats.

### `defaultFormat: MidiFormat`

Default transport data format when known.

### `protocols: MidiProtocolFlags`

Supported MIDI protocols.

### `defaultProtocol: MidiProtocol`

Default MIDI protocol when known.

### `isVirtual: boolean`

Whether this is a virtual port.

### `isConnected: boolean`

Whether this port is currently connected.
