"J.W. Bizzaro" wrote: > > So, how about this. The 3 basic GUI objects: > > (1) Window > (2) Locus (node) > (3) Connector Also, in GUI terms, the node is an icon. You know, if we really want to go wacky, the core can define 3 basic objects: (1) Network (2) Node (3) Link Networks contain nodes, nodes contain links and networks, networks contain nodes, nodes contain links and networks, networks contain nodes, nodes contain links and networks, networks contain nodes, nodes contain links and networks, networks contain nodes, nodes contain links and networks, networks contain nodes, nodes contain links and networks, networks contain nodes, hahaha! So, in Overflow, 'document' can be replaced with 'node', no? <?xml version="1.0"?> <Node> <Network type="subnet" name="MAIN"> <Node name="node1" type="Constant" x="-294.000000" y="101.000000"> <Parameter name="VALUE" type="subnet_param" value="IN"/> </Node> <Node name="node5" type="MAIN_LOOP" x="-26.000000" y="108.000000"> <Parameter name="FRAME_SIZE" type="int" value="256"/> </Node> <Node name="node2" type="ExecStream" x="-165.000000" y="98.000000"> <Parameter name="COMMAND" type="string" value="cat"/> </Node> <Node name="node6" type="Constant" x="-162.000000" y="186.000000"> <Parameter name="VALUE" type="string" value="frames"/> </Node> <Node name="node8" type="OutputStream" x="43.000000" y="190.000000"/> <Node name="node9" type="Save" x="243.000000" y="119.000000"/> <Link from="node2" output="OUTPUT" to="node5" input="INPUT"/> <Link from="node1" output="VALUE" to="node2" input="INPUT"/> <Link from="node6" output="VALUE" to="node8" input="INPUT"/> <Link from="node5" output="TRAIN_IN" to="node9" input="OBJECT"/> <Link from="node8" output="OUTPUT" to="node9" input="STREAM"/> <NetOutput name="OUTPUT" node="node9" terminal="OUTPUT"/> </Network> <Network type="iterator" name="MAIN_LOOP"> <Node name="node1" type="AudioStream" x="-526.000000" y="93.000000"> <Parameter name="LENGTH" type="subnet_param" value="FRAME_SIZE"/> <Parameter name="ENCODING" type="string" value="LIN16"/> <Parameter name="STREAM_TYPE" type="string" value="FILE"/> </Node> <Node name="node2" type="NotDone" x="-344.000000" y="45.000000"/> <Node name="node10" type="FrameAccumulator" x="-336.000000" y="131.000000"> <Parameter name="LENGTH" type="int" value="256"/> <Parameter name="CACHEALL" type="int" value="1"/> </Node> <Link from="node1" output="OUTPUT" to="node2" input="INPUT"/> <Link from="node1" output="OUTPUT" to="node10" input="INPUT"/> <NetInput name="INPUT" node="node1" terminal="INPUT"/> <NetCondition name="CONDITION" node="node2" terminal="OUTPUT"/> <NetOutput name="TRAIN_IN" node="node10" terminal="OUTPUT"/> </Network> <Parameter name="IN" type="string" value="/data/ntt/french/*/*"/> </Node> Why not? Jeff -- +----------------------------------+ | J.W. Bizzaro | | | | http://bioinformatics.org/~jeff/ | | | | BIOINFORMATICS.ORG | | The Open Lab | | | | http://bioinformatics.org/ | +----------------------------------+