- From: Chris Rogers <crogers@google.com>
- Date: Mon, 18 Oct 2010 14:24:11 -0700
- To: Ian Ni-Lewis <ilewis@google.com>
- Cc: Joseph Berkovitz <joe@noteflight.com>, public-xg-audio@w3.org
- Message-ID: <AANLkTiku6dquLG3D9VnXpoDNY0kxkT4f3g3XLAW08BGa@mail.gmail.com>
Ian, good point. Yes, we should probably have both. On Mon, Oct 18, 2010 at 1:54 PM, Ian Ni-Lewis <ilewis@google.com> wrote: > What about reverb tails etc? Should there be a distinction between "all > notes off" and "entire graph off"? > Ian > > > On Mon, Oct 18, 2010 at 1:34 PM, Joseph Berkovitz <joe@noteflight.com>wrote: > >> 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 >> >> >> >> >> >> > > > -- > Ian Ni-Lewis > Developer Advocate > Google Game Developer Relations > >
Received on Monday, 18 October 2010 21:24:45 UTC