W3C home > Mailing lists > Public > public-audio@w3.org > July to September 2013

Re: Handling cycles with no DelayNode

From: Ehsan Akhgari <ehsan.akhgari@gmail.com>
Date: Wed, 4 Sep 2013 10:46:57 -0400
Message-ID: <CANTur_7Fq25knjGWzuXq7bGu+JrUo7cRax5E7wCCjsrwfpW08w@mail.gmail.com>
To: David Dailey <ddailey@zoominternet.net>
Cc: "Robert O'Callahan" <robert@ocallahan.org>, "public-audio@w3.org" <public-audio@w3.org>
The size of the graph is controlled by Web content, so it can be
arbitrarily large.  The connectivity can also change by calling
AudioNode.connect/disconnect, so implementation can't make assumptions
about either the graph size or the connectivity.

Cheers,

--
Ehsan
<http://ehsanakhgari.org/>


On Fri, Aug 30, 2013 at 4:01 PM, David Dailey <ddailey@zoominternet.net>wrote:

> I am quite naïve about all of this, having some very rudimentary
> understanding of how graphs can be used in musical arrangement (based on
> what a friend of mine showed me on his Yamaha keyboard about 30 years ago),
> but how complex really are these graphs? Hundreds of nodes? Thousands? I am
> sometimes happy doing things in graph theory, when I can get things down to
> O(n^4), so O(n^2) seems maybe not so big an issue? I wrote a little
> simulation thingy some decades ago (sort of like Stella) and cycle
> detection was not that big an issue, but I was working with only hundreds
> of nodes. It seems like a breadth first search from any start node ought to
> terminate pretty quickly.****
>
> ** **
>
> Robert, when you are talking about synchronous cycle detection, is the
> connectivity of the graph varying in real time (as in
> http://srufaculty.sru.edu/david.dailey/svg/graphs30.svg ? I suppose, when
> dealing with little tiny musical events that happen inside milliseconds,
> big funky searches could get expensive, but if the graph connectivity is
> constant throughout the composition then it seems not a big thing.****
>
> ** **
>
> Again, apologies for the naiveté of my question, but I am intrigued to
> know more. It sounds fun.****
>
> ** **
>
> Cheers****
>
> David****
>
> ** **
>
> ** **
>
> ** **
>
> *From:* rocallahan@gmail.com [mailto:rocallahan@gmail.com] *On Behalf Of *Robert
> O'Callahan
> *Sent:* Thursday, August 29, 2013 9:12 PM
> *To:* public-audio@w3.org
> *Subject:* Handling cycles with no DelayNode****
>
> ** **
>
> The spec for connect() currently says "This is allowed only if there is at
> least one DelayNode in the cycle or an exception will be thrown" but it
> doesn't say what kind of exception. More importantly, I don't think we
> should throw an exception here. Synchronous cycle detection can get
> expensive when you're creating large graphs; it's likely to make graph
> construction O(N^2) for certain kinds of graphs.****
>
> I think instead we should say that cycles containing no DelayNodes simply
> produce silence. If browsers want to help developers find such bugs, they
> can provide developer tool assistance to do so --- and that could be much
> more useful than just an exception, for example it could report all the
> nodes in the cycle. (Efficient asynchronous cycle detection --- e.g.
> checking for cycles every Nms --- is easy.)****
>
> ** **
>
> Rob****
>
> -- ****
>
> Jtehsauts  tshaei dS,o n" Wohfy  Mdaon  yhoaus  eanuttehrotraiitny  eovni
> le atrhtohu gthot sf oirng iyvoeu rs ihnesa.r"t sS?o  Whhei csha iids  teoa
> stiheer :p atroa lsyazye,d  'mYaonu,r  "sGients  uapr,e  tfaokreg iyvoeunr,
> 'm aotr  atnod  sgaoy ,h o'mGee.t"  uTph eann dt hwea lmka'n?  gBoutt  uIp
> waanndt  wyeonut  thoo mken.o w  ****
>
Received on Wednesday, 4 September 2013 14:48:10 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:50:10 UTC