Open jeffgca opened 3 years ago
An additional thing I observe when debugging this. If I disable, then re-enable the two extensions in Firefox I get these "refresh" events printed to the page:
[
"refresh",
{
"ins": [
{
"name": "NewName",
"manufacturer": "Unknown",
"version": "0.0"
}
],
"outs": [
{
"name": "Apple DLS Synth",
"manufacturer": "Apple",
"version": "1.0"
},
{
"name": "NewName",
"manufacturer": "Unknown",
"version": "0.0"
}
]
}
]
These seem to be coming from the underlying extension?
The JSON above comes from the jazz-midi extension
The JSON above comes from the jazz-midi extension
Yeah I was able to discover this using the debugger. Should these messages not be printed to the browser console instead?
This is the way jazz-midi communicates with JZZ. On some systems this is the only solution. JZZ deletes the text immediately after it is published.
I definitely see that - I'm just wondering if the generic Web MIDI extension needs to be adjusted to bring the behaviour closer to what developers see on a browser with native web midi support. The extra messages printed to the page aren't really the point - @jazz-soft I was wondering about your thoughts on whether it is possible to get the Firefox / Jazz combination to reliably propagate MIDI interface change events as per the spec.
Chromium based browsers reliably propagate MIDI interface state changes, however Firefox + the web midi extension do not seem to get events when MIDI interfaces are added to or removed from the host system.
Browser version: Firefox 87, macOS 10.15.7, latest versions of the JAZZ plugin and web-midi extension.
To reproduce:
Results:
Chrome: all events are logged Firefox: no events are logged, except a single event is logged if the page is refreshed.
The location bar icon for the Jazz MIDI plugin displays the following text:
Aside: is there logging available for crashes in the underlying Jazz compiled code?
Test code:
( Codepen here )