mdn / content

The content behind MDN Web Docs
https://developer.mozilla.org
Other
9.11k stars 22.45k forks source link

[WebAPI] Midi Support added #12792

Closed hamishwillee closed 2 years ago

hamishwillee commented 2 years ago

Acceptance Criteria

For folks helping with Firefox related documentation

Features to document

Related Gecko bugs

Other

hamishwillee commented 2 years ago

@Rumyra I've converted the WebMidi project notes into this issue. Right now my testing shows that it works on FF60 on windows, which is a bit odd because the implication of the thread is that support should appear in FF97. Anyway, as a result I'm querying what exactly is delivered in https://bugzilla.mozilla.org/show_bug.cgi?id=836897#c117.

Looking at this there are already some docs here: https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API. I expect the task here would be

hamishwillee commented 2 years ago

Edited. As discussed, I will sort out the BCD, but everything else is for you @Rumyra . Of course you can shift things back to me if you want, and note that at time of writing this is not yet released in FF98. If it is released, not that this won't be for Android or iOS as no backends exist.

hamishwillee commented 2 years ago

@Rumyra OK, BCD for WebMidi for FF97 sorted in https://github.com/mdn/browser-compat-data/pull/14874 - essentially we are considering to have been added "new" on behind a preference (ignoring previous dummy implementation) on FF. FF for android is still false, because a) preferences not set on android, b)there is no android backend.

So in FF98 the plan is that the preference will be removed. When that happens I intend to add a new entry for FF removing the preference. FF for Android will remain false until there is a backend.

Please ping me if you note that this has shipped in FF98 so I can do the next bit.

Rumyra commented 2 years ago

OK @hamishwillee thank you 👍 I'm going to move this to 'In Progress' as I plan to start work on the docs tomorrow

Rumyra commented 2 years ago

@hamishwillee could you update the bcd for navigator.requestMIDIAccess as per 97 above here: https://github.com/mdn/browser-compat-data/blob/main/api/Navigator.json#L3160

Rumyra commented 2 years ago

NB it looks as though this will be rolled into FF99 - I plan to get the docs work done now, but I'll keep my eye on it release info 👍

hamishwillee commented 2 years ago

@Rumyra Excellent. BCD update in https://github.com/mdn/browser-compat-data/pull/15152.

Excellent to get docs done and close this. Then we can start fresh on the release in (hopefully) FF99

hamishwillee commented 2 years ago

@Rumyra Further BCD update in FF99: https://bugzilla.mozilla.org/show_bug.cgi?id=1757153

Rumyra commented 2 years ago

Also https://bugzilla.mozilla.org/show_bug.cgi?id=1752906

hamishwillee commented 2 years ago

FYI @Rumyra

Rumyra commented 2 years ago

Thanks @hamishwillee :) - I've only just created a pr for the edits to 98 release notes and updating 99 & 100 - so it's probably best to wait for that to go through before updating anyway 👍

hamishwillee commented 2 years ago

Cool. I'm leaving to you, but I'll track the BCD stuff.

hamishwillee commented 2 years ago

@Rumyra Just FYI, and you might already have known this, but access to web midi is gated on a site permission add on. This is something I had not heard of. Some discussion here: https://bugzilla.mozilla.org/show_bug.cgi?id=1752906

Rumyra commented 2 years ago

Yes I am - thanks @hamishwillee - I think I'll tackle the events pages first (move to new format) but I want to update the api landing page - which I think will be a good page to explain this 👍

Rumyra commented 2 years ago

This is mostly done - I just need to go through each page & remove any experimental notes & add rel note

In regards to the list above:

Update with a live example (makes testing easier)

I don't think a live example would be useful here - the reader would need a midi device for it to make any sense.

Maybe add link to this page, which makes a nice test tool: https://blog.karimratib.me/demos/sheetplayer/

This doesn't actually use this api - Web MIDI just supports inputs from MIDI devices not the file format.

Rumyra commented 2 years ago

Looks like this is getting pushed to FF100 - I'll check properly tomorrow

hamishwillee commented 2 years ago

@Rumyra You were right https://bugzilla.mozilla.org/show_bug.cgi?id=1752906#c30 - FF100.

BCD updated -https://github.com/mdn/browser-compat-data/pull/15610 - I am assuming you will let me know if anything more is required of me on this one :-)

Rumyra commented 2 years ago

Amazing @hamishwillee - that was precisely the thing that was needed. Luckily I hadn't done the rel note yet so I'll just push the few last tasks for this to this coming month 👍

Rumyra commented 2 years ago

Update! This is going into 'beta or earlier' which means it's in beta and nightly where it will stay until ready (which I'm sure might not be long, but also won't be 100 & possibly not 101 see https://bugzilla.mozilla.org/show_bug.cgi?id=1765894 ). I guess there's no way in bcd to have that kind of info as it needs a release number - unless we add a note. Happy for thoughts @hamishwillee @queengooborg

queengooborg commented 2 years ago

BCD actually does have a way to represent this! We added "preview" as a possible value for the version, which means "available in beta/nightly".

hamishwillee commented 2 years ago

Yes, BCD fixed in https://github.com/mdn/browser-compat-data/pull/16062

Rumyra commented 2 years ago

Star @hamishwillee thank you!

Rumyra commented 2 years ago

I'm going to add a note to the Experiemental Features page which will mean the work on this is primarily done - we can add a release note when it comes out of preview 👍

Rumyra commented 2 years ago

Still on hold so closing and will re-open once it comes around again 👍