Thom
I believe I already suggested some areas. In short....
A break down of exactly what each component of the code does and is responsible for, and how they link together... even a single line for each would be a vast improvement and provide a skeleton for others to expand on... this doesn't exist at all at the moment...
"Media Plugin - responsible for accepting media manipulation commands such as MH Play/Stop, creating stream objects for the house...."
"Xine_Wrapper - an instance for each MD, responsible for receiving media manipulation commands from Media Plugin, and playing media on each MD...."
"DCE Router - DCE protocol routing hub, all DCE devices connect to this device, and use it to relay DCE commands, events, etc to all other DCE devices in the house..."
"AppServer - one instance per MD, responsible for MD volume levels, spawning new DCE devices(?)...."
"MD device - one instance per MD, 'virtual' object acting as a parent object for each MD to which you can relay DCE commands which will be passed on to each child device on that MD...."
etc...
Once we have that, we can then link from each 'device' entry, and detail each .cpp .h etc that are used to implement each device, what each is responsible for and so on. Even relatively simple devices like PSS are composed of _many_ pieces of code, and it is far from clear even from the name of each .cpp exactly what it does....
Whatever we think about people being 'lazy' for wanting this information, and whether that is objectively a fair or true assessment.... if this documentation existed, people _would_ start getting involved. Lets not get hung up on if it is or isn't lazy for people to want this information.. if it existed, people would be doing work on the project.... who cares if they are lazy or not, all we are really interested in is getting hands on the project and if this is the way to do it... then so be it!!