[Dev] connections

Stephen Sinclair sinclair at music.mcgill.ca
Wed Oct 3 03:49:20 BST 2007


Hi,

Well I've now done my homework... I read through the ICMC paper and have 
been actively reading over the source code for libIntegra.  I think I 
have a much better understanding now, but there are things that are 
still unclear.  It's a big task to get up to scratch on this work, so to 
keep things in perspective I've been keeping my current job in mind, 
which is to ensure that the routing GUI will be usable for looking at 
modules and making connections between them.

If I understand correctly, an ntg_instance has an array of connections, 
each which points to a module's port number.  I was confused for a while 
between the words "port" and "attribute", but I think I have this sorted 
now.. ports are implicitly defined by a module's attributes.  By the 
way, is there a missing "n_connections" member?

For GUI development then, I'll continue to refer to the libIntegra code, 
making the assumption that the "bridge" will eventually provide methods 
for enumerating modules, attributes, and instances, and getting and 
setting attributes, enumerating connections between ports, etc.  (I may 
very well contribute to building this bridge, but for the moment it's 
probably more important to get a functioning GUI using the storage stub.)

I'd like to ensure that the OSC messages internally used in the GUI will 
be as close as possible to the terminology and structure of libIntegra.  
So far this unfortunately hasn't really been the case, imho, but we'll 
improve it in the coming weeks.

A last question: it seems like the "instances" in the database are 
basically in a big soup, so that a "piece" is really just a collection 
of specific instances that exist amidst all the other instances, all 
serialized flatly to one giant database.  Is this correct?  So when the 
GUI creates an instance, this will filter through the bridge and 
instance host to eventually become a CREATE call to a PostgreSQL table.

A piece of music then is basically defined by a list of instance IDs?  I 
hope my question is clear.

I'm sure I'll have further questions but I'll defer until I've distilled 
all this information a little more.  Sorry if this email seems a bit 
all-over-the-place.


cheers,
Steve



More information about the Dev mailing list