- From: Ehsan Akhgari <ehsan.akhgari@gmail.com>
- Date: Wed, 4 Sep 2013 10:46:57 -0400
- To: David Dailey <ddailey@zoominternet.net>
- Cc: "Robert O'Callahan" <robert@ocallahan.org>, "public-audio@w3.org" <public-audio@w3.org>
- Message-ID: <CANTur_7Fq25knjGWzuXq7bGu+JrUo7cRax5E7wCCjsrwfpW08w@mail.gmail.com>
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