> > > Great, this is just like Loci's locus types/classes. > > > > > > > Just to make sure everyone understand, the definition is the equivalent of a > > function call, not a function prototype/implementation. > > Okay, I was showing you some actual locus implementation in XML. Loci doesn't > keep workspace information in a single flat file like Overflow does. Loci > (right now) uses the local filesystem to help organize the structure. I'll > let you, Jarl and Brad work out how VSH will do it. > > > > This is like a mime-type for link I/O? This is also something Loci was going > > > to define. > > > > I'm not sure what you're talking about... > > I mean, when Overflow defines a link, does it also define the type of data > that is passed through the link? Well, that's not necessary since all Overflow objects derive from the Object class. Of course, some nodes require their input to be a certain type, so they will check the type. However some nodes, like "save", don't care about the type, since all objects know how to save themselves. Also some nodes, like "load" don't even know what type they will return (it depends on what's in the file their loading). BTW, the virtual getOutput() method defined in the base Node class returns a type ObjectRef, which is a reference-counted pointer (aka "smart-pointer") to an Object (the base class). For those who know the language, our object system is a lot inspired by Smalltalk. > > When the node is loaded (its library is dynamically linked), a function puts > > that info in a node "database", which the GUI uses to know what node are > > available (and takes what arguments). > > How are you making this 'database'? Is it an external db like mySQL or your > own creation? It's not a database in that sense, it's just a structure (I use an STL map) that maps a node name to a set of information for the GUI (inputs, outputs, parameters, ...). Jean-Marc -- Jean-Marc Valin Universite de Sherbrooke - Genie Electrique valj01 at gel.usherb.ca