Schemas / Music

rig.music.midi_input

v0.31.0 · draft 4 fields 0 required

Fields

FieldTypeMeaning
portName string optional Platform port name as reported by the host
portIndex uint optional Host API port index
open bool optional Optional. Whether the document expects this port open; absent = true
channel integer0 – 15 optional Optional. 0-15; absent means omni

MIDI input port binding. Format when present.

Ship whichever identifier the host API exposes - portName when it names ports, portIndex when it numbers them; at least one must be present.

The mirror of rig.music.midi_output, and it carries the same caveat: both identifiers are machine-local. Moving a document between machines will not find the same port, and a host should fail visibly rather than silently bind to the wrong one.

Incoming notes and controller values are host state and are never serialized. To route a controller onto a property, use rig.mod.binding rather than adding mappings here.

JSON Schema

Resolves at https://rig.works/schemas/rig.music.midi_input.schema.jsonraw file.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rig.works/schemas/rig.music.midi_input.schema.json",
  "title": "rig.music.midi_input",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "portName": {
      "$ref": "./_defs.schema.json#/$defs/string"
    },
    "portIndex": {
      "$ref": "./_defs.schema.json#/$defs/uint"
    },
    "open": {
      "$ref": "./_defs.schema.json#/$defs/bool"
    },
    "channel": {
      "type": "integer",
      "minimum": 0,
      "maximum": 15
    }
  },
  "allOf": [
    {
      "anyOf": [
        {
          "required": [
            "portName"
          ]
        },
        {
          "required": [
            "portIndex"
          ]
        }
      ]
    }
  ]
}