On Sat, 01 Mar 2003 03:03:37 +0000 Simon Jenkins <[EMAIL PROTECTED]> wrote:
> Dave Griffiths wrote: > > >On Fri, 28 Feb 2003 19:05:19 +0100 > >David Olofson <[EMAIL PROTECTED]> wrote: > > > >>On Friday 28 February 2003 09.20, [EMAIL PROTECTED] wrote: > >>[...] > >> > >> > >>>random latency ? how do you mean that ? > >>> > >>> > >>Latency depends on how you happen to construct the net (order of > >>instantiation, connections etc) and/or the actual layout of the net, > > > >>in "non-obvious" ways. > >> > >> > > > >In ssm I sort the network each time a connection is made/destroyed, > >and generate a ordered list of modules to process from the root up to > >the leaves. It has to cope with circular sections, which unavoidably > >introduce latency, but it works. It also automatically means > >unconnected modules don't get processed, which is nice. > > > I just took a look at the SSM GraphSort code (from 0.2.1rc2). Its a > neat encapsulation but the sort algorithm > seems to mess up on an important case: Nicely spotted, I hadn't noticed that one. The recursive sort algorithm won't explore branches until it finds a leaf node. I can't think of a elegant way to solve it, but I'm sure there is one. I'll have to leave it for the moment though, as I'm trying to get a release ready and it's sensitive code to be changing right now. Surprising that no one had noticed it though, lags in the internal latency are really noticable with the sequencing in ssm, especially when you're writing fast music ;) cheers, dave