Skip to content

Release v3.1.0

Compare
Choose a tag to compare
@djipco djipco released this 18 Jan 00:21
· 236 commits to master since this release

This version updates the control change message infrastructure. It is now possible to listen to specific control change messages by using the form controlchange-volumecoarse.

There is now a Enumerations.CONTROL_CHANGE_MESSAGES array that contains more information than before about control change messages. Here's what the array looks like:

[
  {
    number: 0,
    name: "bankselectcoarse",
    description: "Bank Select (Coarse)",
    position: "msb"
  },
  {
    number: 1,
    name: "modulationwheelcoarse",
    description: "Modulation Wheel (Coarse)",
    position: "msb"
  },
  // etc.
]

Note that if your code references the Enumerations.MIDI_CONTROL_CHANGE_MESSAGES enum, you will get a deprecation warning in the console, but it will continue to work until version 4. From now on, you should use the Enumerations.CONTROL_CHANGE_MESSAGES array.

In some edge cases, it is possible that this version will demand an update to your code. Here are the potential problem areas:

  • If you are using the Utilities.getCcNameByNumber() method you may get different controller names than before for the following controllers: 16, 17, 18, 19, 39, 64, 66, 69, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 88, 91, 92, 93, 94, 95, 96, 97.

  • Controller names have been updated to reflect the current state of the MIDI specification. If you are listening to the general rpn or nrpn events, the subtype property of the event may have changed.

  • Some control change messages (98, 99, 100 and 101) were incorrectly identified (see issue #325). They are now properly labeled as:

    • 98: nonregisteredparameterfine
    • 99: nonregisteredparametercoarse
    • 100: registeredparameterfine
    • 101: registeredparametercoarse