root
root

Reputation: 2420

MIDI spec: "respond accordingly" to missing LSB or MSB of parameter number

What does the MIDI 1.0 Detailed Specification mean by "respond accordingly" to receiving only a least-significant byte (LSB) or a most-significant byte (MSB) (but not both) for a (non-)registered parameter number (NRPN/RPN)?

  1. [...] the receiver should wait until it receives both the LSB and MSB for a parameter number to ensure that it is operating on the correct parameter.

  2. The receiver should be able to respond accordingly if the transmitter sends only an LSB or MSB to change the parameter number. [...]

Should the receiver use a certain default (e.g. 127, which is set after a Reset All Controllers message) for the missing byte? Or use the respective byte from the previous RPN or NRPN change, depending on whether the parameter number currently being selected is an RPN or an NRPN, or regardless of that? With what default (e.g. 127) in case there was no previous RPN/NRPN change? Or ignore subsequent Data Entry messages?

(Note that this is about the parameter number, not the parameter value from subsequent Data Entry messages, as in registered_parameters[number] = value. Side note: I also wonder whether the receiver should use the previous or default MSB if there's only a Data Entry (parameter value) LSB message not accompanied by a Data Entry MSB message.)

Maybe there's a reference/industry-standard implementation that can shed light on this. Or maybe some later specifications such as MIDI 2.0 clarify this.

Upvotes: 1

Views: 61

Answers (0)

Related Questions