Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Web MIDI API - the paster, the present, and the future -
1. Web MIDI API
- the past, the present, and the future -
Takashi Toyoshima <toyoshim@chromium.org>
2. Web MIDI API
MIDI is a protocol to control music devices in real-time
❏ AMEI / MMA - Invent and develop the MIDI
❏ W3C Audio WG (http://www.w3.org/2011/audio/)
❏ Web MIDI: http://webaudio.github.io/web-midi-api/
Why does the web need MIDI?
❏ HTML gots expressive features by HTML5
❏ Web Audio API is really awesome!
❏ But we still miss a controller...
3. Chromium / Blink
The Chromium Projects started Web MIDI API in 2013
❏ Members
❏ Chris Rogers (Web Audio spec / implement)
❏ Chris Wilson (Web MIDI spec)
❏ Takashi Toyoshima (Web MIDI implement)
4. OS dependent impl.Chrome specific impl.
ChromeMIDIPermissionContext
RenderProcessHost
Render
RenderView RenderThreadImpl
Blink
Web MIDI Impl. in Blink
MIDIAccessor
depends
MIDIDispatcher :
WebMIDIClient, RVO
Blink Web API
MIDIMessageFilter :
IPC::ChannelProxy::MessageFilter
RendererWebMIDIAccessorImpl
Blink Platform API
MIDIDispatcherHost :
BrowserMessageFilter
MIDIHost :
BrowserMessageFilter
ChildProcess
SecurityPolicy
Allow Check
ProfileImpl
Content API
Content
Settings UI Thread
MIDIManager
MIDIManagerMacMIDI Thread
Intent to Implement
5. Short Histories
Chrome 30 Input device for Mac
Chrome 31 Output device for Mac
Chrome 32 IAC driver for Mac
Chrome 33 Windows
Chrome 34 System / real-time messages, Linux
Chrome 35 Promise, Chrome OS
Chrome 36 Android
Chrome 37 Android (UI), Chrome OS (Seq. API)
...
6. Blink focus
❏ 2013 mobile performance
➜ Speed
➜ Memory
➜ Graphics (GPU)
❏ 2014 performance and APIs
➜ Yes, Web MIDI API is welcomed ;)
7. Source: Vision Mobile Blog
60hz, Speed Team, Juice
Device APIs, ServiceWorker
WebComponents
WebAnimation
polymer-project.org
developer.google.com/web
from Eric Seidel’s slide
at BlinkOn 2
9. Under development issues
❏ Device detection
❏ Device list is snapshotted at the first API call
❏ New device does not appear (restart is needed)
❏ API is not up to date
❏ OLD: http://goo.gl/vfj1xP
❏ NEW: http://webaudio.github.io/web-midi-api/
11. What’s the Next
❏ Web MIDI API is depending on new JS features
❏ Promise => Done!
❏ ECMA Script 6 (harmony)
❏ Map
❏ MIDIInputMap, MIDIOutputMap
❏ Iterators
❏ MIDIKeyIterator, MIDIEntryIterator, MIDIValueIterator
❏ Device detection
❏ Depends on new API (Map and Iterators)
12. Web MIDI v2?
❏ Worker
❏ Software Synth framework
❏ New device support?