- From: Joseph Berkovitz <joe@noteflight.com>
- Date: Mon, 18 Oct 2010 16:34:26 -0400
- To: Chris Rogers <crogers@google.com>
- Cc: public-xg-audio@w3.org
- Message-Id: <E307BF40-B68F-4C9A-9DCD-E1EE55707E73@noteflight.com>
Sounds good. ...j On Oct 18, 2010, at 4:09 PM, Chris Rogers wrote: > Joe, > > I was thinking that "notes" scheduled to play in the future would be > cancelled, and probably any notes currently playing would be issued > "note-off" commands. I suppose this would be similar to the MIDI > "all notes off" command. Currently, if there are any JS references > to a source AudioNode then it will not be disconnected automatically > from the graph even if it has stopped playing. My idea there is > that it might be interesting to play the note again. > > Chris > > On Mon, Oct 18, 2010 at 12:14 PM, Joseph Berkovitz > <joe@noteflight.com> wrote: > Chris, > > I think it's fine to just cancel everything that's scheduled -- the > point is to stop all sound. However the spec should answer the > question, "does this action actually break any connections in the > graph?" In other words, if you invoke this function, then look at > some AudioNode and see if it's still connected to > context.destination, what is the result? > > If there is no additional state added to AudioContext, I would > expect the connections to disappear so that the graph reflects the > reality of everything having stopped. > > But there is another way, which is to have some kind of > AudioContext.active boolean attribute which can be set to false to > disable all sound output. This would leave the graph intact, but > cause the AudioContext to simply ignore it. I'm not sure if that is > a good idea, however, because it raises questions about what would > happen if you set the active flag back to true again. I guess it > doesn't really "take out the garbage" in the way that a stop- > everything sort of function would do. > > ...joe > > > On Oct 18, 2010, at 3:04 PM, Chris Rogers wrote: > >> Joe, this is simply an omission in the current spec, but it >> definitely should be there. Do you think it's sufficient to have a >> way to "cancel all" scheduled events on the whole context, or do we >> need to have finer-grained control over specific AudioNodes? >> >> Chris >> >> On Mon, Oct 18, 2010 at 9:57 AM, Joseph Berkovitz >> <joe@noteflight.com> wrote: >> I'm not sure if I missed it, but in the proposed API I couldn't >> find a simple way to stop all output and clean out the >> AudioContext. In our notation playback demo, I had to manually do >> bookkeeping on all the nodes connected to the destination and >> disconnect them in case the user clicked "Stop". I would imagine >> that for more complex apps this could become a real pain point. >> >> Is there a good way to do this? If not, is this a feature that >> merits addition to the spec? >> >> ... . . . Joe >> >> Joe Berkovitz >> President >> Noteflight LLC >> 160 Sidney St, Cambridge, MA 02139 >> phone: +1 978 314 6271 >> www.noteflight.com >> >> >> >> >> >> > > ... . . . Joe > > Joe Berkovitz > President > Noteflight LLC > 160 Sidney St, Cambridge, MA 02139 > phone: +1 978 314 6271 > www.noteflight.com > > > > > > ... . . . Joe Joe Berkovitz President Noteflight LLC 160 Sidney St, Cambridge, MA 02139 phone: +1 978 314 6271 www.noteflight.com
Received on Monday, 18 October 2010 20:35:10 UTC