webmidi
webmidi copied to clipboard
Work In Progress: Testing using web-midi-test
Work in progress...
Okay. I think I've got all of the tests in place now. However, I think that this may have surfaced few bugs/problems/incompatibilities between the web-midi-test library and webmidi.
Some theories:
- It looks like
web-midi-test'sMidiSrc.emit([1, 2, 3])isn't properly triggeringwebmidi'sInput._onMidiMessage(). The data is getting there. And it looks like the correct message type is being received. But if I set aninput.addListener("midimessage"), I don't get any data. I'm wondering if this has something to do with missing MIDI channel data. So any tests which listen for MIDI data are failing. - It looks like
web-midi-test's emulation of theMIDIOutput.send(data, timestamp)'s timestamp argument isn't working the same as the way that themidilibrary worked. So any tests which rely on MIDI timestamp are failing because the receive time is outside of parameters.
I don't know if these issues are problems with web-midi-test or with webmidi, but I'm guessing Jean-Philippe would have thoughts.
Status of tests:
- [x] Enumerations
- [x] Forwarder
- [ ] Input - the
midiSrc.emit()problem is causing a lot of timeouts since.addListener()s aren't triggering - [ ] InputChannel - lots of
TypeError: Cannot read property 'channels' of undefined - [x] Message
- [x] Note
- [ ] Output - problem with
destroy(), problems withtimestamp - [ ] OutputChannel -
timestampproblems - [x] Utilities
- [x] WebMidi
Thanks for your work on this Jeff. Unfortunately, as I mentioned in a prior message, I don't have much bandwidth to dedicate to this right now. Are you currently stuck?
Thanks for your work on this Jeff. Unfortunately, as I mentioned in a prior message, I don't have much bandwidth to dedicate to this right now. Are you currently stuck?
Yeah. I think I'm stuck. Just trying to determine if these issues are a problem with WebMidi.js, web-midi-test, or (hopefully) something that can be adjusted in the test files.
It's mostly just down to the midiSrc.emit() and midiOutput.send(data, **timestamp**) problems. Details above.
I'll keep chipping away at these, but my progress is getting slower.
I think I've found the timestamp problem and I've posted an issue for the web-midi-test project:
https://github.com/jazz-soft/web-midi-test/issues/2
But now that I'm looking at the spec again, maybe this isn't the issue...