- From: Chris Wilson <cwilso@google.com>
- Date: Tue, 24 Apr 2012 13:20:22 -0700
- To: Chris Rogers <crogers@google.com>
- Cc: public-audio@w3.org
- Message-ID: <CAJK2wqW6z=aPWN_H3tJixh1YEoFv6Wk=ZKz8+T8QYnuXvjA8sA@mail.gmail.com>
Great updates. Put me down as one vote for putting .gain back on AudioBufferSourceNode, as I (and some of the partners I've worked with, like Fieldrunners) have found it useful there. :) -Chris On Tue, Apr 24, 2012 at 1:06 PM, Chris Rogers <crogers@google.com> wrote: > Hey folks, I've recently updated the editor's draft of the Web Audio API: > https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html > > With some changes addressing list feedback. > > For low-level details, the actual edits are here (please see all edits > since re-basing from Thierry Michel): > https://dvcs.w3.org/hg/audio/ > > And here's my summary: > > * add AudioContext .activeSourceCount attribute > * add AudioBufferSourceNode .playbackState attribute and state constants > > Taken together the .activeSourceCount and .playbackState attributes allow > developers to dynamically monitor the number of active voices. In a busy > game there may be many dozens of sounds playing at any given moment, and > the exact number is constantly changing. Based on this information about > the number of voices, developers can choose to drop older voices. > > * createBuffer() methods can throw exceptions > > If it's passed illegal arguments... > > * add AudioContext method createMediaElementSource() > > Implemented in Chrome for a couple months. This method creates a > MediaElementAudioSourceNode from an <audio> or <video> element. > > * update AudioContext methods createJavaScriptNode() (clean up description > of parameters) > > Previous description was confusing. > > * update AudioContext method createChannelSplitter() (add numberOfOutputs > parameter) > * update AudioContext method createChannelMerger() (add numberOfInputs > parameter) > * update AudioChannelMerger section describing numberOfOutputs (defaults > to 6 but settable in constructor) > * update AudioChannelSplitter section describing numberOfInputs (defaults > to 6 but settable in constructor) > > Address list feedback about allowing the developer to choose the numbers > of outputs and inputs for splitters and mergers. > > * update description of out-of-bounds AudioParam values (exception will > not be thrown) > > Since parameters such as gain can be effectively un-bounded. > > * remove AudioBuffer .gain attribute > * remove AudioBufferSourceNode .gain attribute > * remove AudioListener .gain attribute > > We may need to re-visit the removal of these gain attributes from the API, > since I've found several pages out in the wild using them. They're not > harmful attributes, just ones I felt could be cleaned up (removed) since > AudioGainNode can be used instead. We may need to choose a deprectation > path, or simply keep them. > > * RealtimeAnalyserNode no longer requires its output be connected to > anything > > This was in response to list feedback where it was felt to be unnecessary > to have to connect the output of an analyser to anything, since its purpose > is normally just to "inspect" the audio signal. > > * add note in Spatialization sections about potential to get arbitrary > convolution matrixing > > Effectively arbitrary convolution matrixing can be used for rich spatial > effects. > > * Add Oscillator and WaveTable > > This was in response to list feedback. People found the lack of > oscillator support surprising, since it's an elementary building-block of > synthesis. > > * Define default values for optional arguments in createJavaScriptNode(), > createChannelSplitter(), createChannelMerger() > * Define default filter type for BiquadFilterNode as LOWPASS > > This was just a clarification of default filter type. > > * Cleanup AudioNode connect() and disconnect() method descriptions. > > API same - update to more modern IDL > > * Add AudioNode connect() to AudioParam method. > > Allows audio-rate signals to control AudioParams >
Received on Tuesday, 24 April 2012 20:20:53 UTC