Skip to content

Implement missing WebAudio automation student project

Josh Matthews edited this page Feb 15, 2019 · 1 revision

Implement support for missing WebAudio automation

Background information: Major browsers support the WebAudio standard which can be used to create complex media playback applications from low-level building blocks. Servo is a new, experimental browser that supports some of these building blocks (called audio nodes); the goal of this project is to implement some missing audio processing algorithms and interfaces to improve compatibility with existing multimedia content on the web.

Tracking issue: (please ask questions in these issues)

Useful references:

  • Setup for modifying the standalone media backend implementation
  • Implementation of audio node processing algorithms
  • Runnable examples of audio node processing algorithms
  • Example pull request implementing a missing node type in Servo (another example)
  • Example pull request implementing the processing backend for a missing node type
  • Setup for making changes to Servo's code
  • Documentation for introducing new WebIDL-based DOM interfaces to Servo
  • Documentation for integrating a version of servo-media that contains your local changes into your local Servo build

Initial steps:

  • email the mozilla.dev.servo mailing list (be sure to subscribe to it first!) introducing your group and asking any necessary questions
  • Add the new ValueCurveAtTime automation event and implement the processing algorithm for it (per the github issue)
  • Create an example program (in examples/) that demonstrates this automation being applied to an oscillator node

Subsequent steps:

Clone this wiki locally