On Sat, Mar 01, 2003 at 03:03:37AM +0000, Simon Jenkins wrote: > >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. > > > > [...] > SSM and amble both ignore unconnected nodes which is nice if that's what you > want, but not if its not. A general solution to the graph sorting > problem would > need to at least allow for the possibility that an unconnected node > might need > to be processed. > > That's easily solved... but here's a problem that's not: > > A general solution to the graph sorting problem would have to know about the > I/O dependencies *inside* the nodes. This isn't usually a problem on > the scale > where a node represents, for example, a simple filter or oscillator. But > what about > the scale where a node represents a quad noise gate or a reasonably > well-featured > mixer (ie with inserts etc)? Nodes like that aren't just difficult to > place correctly > in the execution order... they can be *impossible* to place correctly in > a very large > number of perfectly reasonable graphs: Different parts of their > internals need to > be executed at different times!
then these components must be built of other components... i dont see a reason why one wants a big complex component if it could be built from smaller components... (other than performace) at least we all like UNIX, dont we ? :) and to reduce the performace penalty of building complex components out of many small components is the goal of XAP as i see it... -- torben Hohn http://galan.sourceforge.net -- The graphical Audio language
