Skip to content

Releases: djipco/webmidi

Release v3.1.9

21 Apr 13:53
Compare
Choose a tag to compare
  • Fix WebMidi.supported not necessarily returning boolean (#417)
  • Various module updates for security fixes

Release v3.1.8

16 Dec 17:46
Compare
Choose a tag to compare

This is a maintenance release with a few fixes and clarifications.

  • Fix raw values not being properly sent in Output.channelAfterTouch() (#401) (19faf78)
  • Clarify documentation for Output.clear() method (43b6285)
  • Fix documentation for sendAllNotesOff() (dd91df4)
  • Move to @julusian/midi module for testing (a9f4692)

Release v3.1.7

23 Nov 20:17
Compare
Choose a tag to compare

This version is a minor release that fixes an issue that appeared in Node.js v21+

Release v3.1.6

04 Jun 14:54
Compare
Choose a tag to compare

Fixes minor bug when calling WebMidi.disable() (issue #361)

Release v3.1.5

10 Mar 15:46
Compare
Choose a tag to compare
  • The playNote() method nows correctly sends noteoff messages when the notes are specified as an array. Thanks to @tobyhede for the fix!

Release v3.1.4

03 Feb 00:14
Compare
Choose a tag to compare

OutputChannel.playNote() now properly sends a note off when the duration is specified via the Note object (issue #337).

Release v3.1.3

29 Jan 13:45
Compare
Choose a tag to compare

This is a minor release that fixes a type issue with the new Utilities.getCcNumberByName() method. Thanks to @tobyhede for submitting PR #335.

Release v3.1.2

18 Jan 01:21
Compare
Choose a tag to compare
  • Add position (MSB/LSB) property to control change event payload (697b2c2)

Release v3.1.1

18 Jan 01:04
Compare
Choose a tag to compare
  • Add user-friendly description to control change event payload (fa29caf)

Release v3.1.0

18 Jan 00:21
Compare
Choose a tag to compare

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