Re: [Bug 17793] New: AudioNode.disconnect() needs to be able to disconnect only one connection

On Fri, Jul 20, 2012 at 11:30 AM, Peter van der Noord <peterdunord@gmail.com
> wrote:

> Op 20 jul. 2012 om 19:54 heeft Chris Wilson <cwilso@google.com> het
> volgende geschreven:
>
> Yes, EXCEPT connect() is one-way, and disconnect is currently the same.  I
> do not think nodeA.disconnect() should disconnect inputs into nodeA.  So it
> would be:
> nodeA.disconnect() -> removes all outbound connections from nodeA's
>
> Hmm, we're clearly not agreeing on this. I know i'm repeating myself, but
> i think it's very strange that if you say disconnect to a node, that it
> disconnects its outputs. I could live with it if there *was* a way to
> simply disconnect a node (everything connected to it).
>

It's just being symmetric with connect() (which creates an outbound
connection).


> *Note that the scenarios you were talking about before - specific gate
> inputs, e.g. - would likely be exposed as separately-named parameters on
> the nodes, not just as numbered inputs - the same way the named AudioParams
> like .gain are exposed today.  The "inputs" and "outputs" really are
> channels, to me.
>
> I disagree, i will still use them a lot - although me being the only one
> is still not much, i admit ;)
>
> I know that i can use params (instead of an input), but there's no way to
> do something similar with an output. And since i will be using multiple
> outputs, i will probably not use param-instead-of-inputs, because that will
> add unnecessary complexity.
>

Actually, you easily could - there just aren't examples of this today.  You
could easily expose AudioNode members of an AudioNode:
interface ClockMultiplier : AudioNode {
   AudioNode TwoX;
   AudioNode FourX;
}

then you call .connect on those members.


> But, the thing that struck me when i read your *note... how do i even
> disconnect something that's connected to a param?
>

A good point; we'd need a method that takes an AudioParam as well.  At
least AudioParams don't have multiple inputs.

-C

Received on Friday, 20 July 2012 19:59:33 UTC