3 ms·
I think browsers are somewhat unique even among "large projects" for the sheer breadth of their codebases. Everything from networking to graphics to midi is som
by snek 7y ago
I think browsers are somewhat unique even among "large projects" for the sheer breadth of their codebases. Everything from networking to graphics to midi is somewhere in there, and they all have to provide a somewhat common interface. It just has to be complex, no matter how well the project is organized.
On a sidenote, firefox has fantastic build times (like 20-45 minutes cold), and the codebase is fairly well organized, so if you want to try contributing to a browser, that's probably the one to start with. Chromium has a much nicer source IMO, but cold build times can be as high as seven or eight hours.
- erikpukinskis 7y ago> Everything from networking to graphics to midi Wow, I had to look it up: (midi) https://developer.mozilla.org/en-US/docs/Web/API/MIDIAccess https://developer.mozilla.org/en-US/docs/Web/API/MIDIAccess Chrome and Opera only it seems. So no excuse for Firefox having a complex codebase! But yes, browsers are operating systems in every sense except that they target another operating system and not bare metal.
- cakebrewery 7y agoI recently discovered Chrome had MIDI as well while looking for a music sight-reading app. Unfortunately, Chrome for iOS does not support it even though Android does.
- charrondev 7y agoThat’s because chrome isn’t allowed to ship it’s own engine on apple’s platform. Chrome for iOS is essentially safari with a wrapper for syncing some data.
- jes5199 7y agoBrowser MIDI is kinda half-baked- you can use it to do most MIDI things, but it’s not visible to the rest of your MIDI network. So, for example, you can make a web page that functions as a MIDI synth, but your recording studio app won’t be able to select it as output. Also, they expose MIDI messages as arrays of bytes rather than parsing them, which is a weird choice