Official MIDI Specifications

Property Exchange

Property Exchange is part of the MIDI Capability Inquiry (MIDI-CI) specification and MIDI 2.0. Property Exchange is a method for getting and setting various data, called Resources, between two Devices. Resources are exchanged inside two payload fields of System Exclusive Messages defined by MIDI-CI, the Header Data field and Property Data field. This document defines only the contents of the Header Data and Property Data fields. For information on how to transmit and receive these Resource payloads inside MIDI-CI System Exclusive messages, see the MIDI Capability Inquiry specification and Common Rules for MIDI-CI Property Exchange specification.
MIDI-CI defines an architecture that allows Devices with bidirectional communication to agree to use extended MIDI capabilities beyond those defined in MIDI 1.0, while carefully protecting backward compatibility. MIDI-CI features “fall back” mechanisms so that if a Device does not support new features MIDI continues to work as defined by MIDI 1.0. Goals of MIDI-CI design:
Fully backward compatible: supports continued MIDI 1.0 functionality for any Devices that do not recognize extended MIDI features enabled by MIDI-CI.
  1. Allow easy configuration between MIDI-CI Devices.
  2. Sender can know the capabilities of a Receiver.
  3. Sender and Receiver can negotiate auto-configuration details
  4. Define method for negotiating choice of Protocol between Devices.
  5. Define method for using Profiles.
  6. Define method for Discovering, Getting, and Setting a wide range of Device Properties. 

Property Exchange is a set of MIDI-CI messages used to access a wide range of properties in MIDI devices. The exchange of properties takes place between a MIDI-CI Initiator and a MIDI-CI Responder.

This Common Rules for Property Exchange document provides a complement to the MIDI-CI specification by defining details of the Property Exchange mechanism and rules for the data payload in MIDI-CI Property Exchange messages. Further Property Exchange specifications define schemas and various data payloads that use the rules in MIDI-CI and this document to achieve specific tasks.