I am currently developing an external c++ command line app to parse a PSD file (using the PSD spec - http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577 409_17115) in order to extract some important information. One of the core things I need is the information linking layer comps to the layers themselves. In digging through the Image Resource section specifying "Layer Comps - 1065" I am only able to extract name, comments, etc. about the layer comp. The question I have is: how are layer comps referenced by the layers inside the PSD file? I need to know what layers are applied for each layer comp. In looking through the scripts provided with PS (for example Layer Comps to Files), the layer comp is always "applied" before looking to see what layers are inside that comp. It seems to be creating an Action and executing that action with the ClassID of the layer comp before looking at it's layers, so this method has to know about which layers are actually referred to by this layer comp. That, specifically is what I need to be able to do, and, thus far, haven't succeeded.
It's important that I stick with c++ & that this be an external application, so the Plugin SDK isn't much help here.
I would really appreciate any thoughts/suggestions on the matter.
If anyone comes across this problem again, last night I found the data using a binary check against the layer comp ID's I already had from the layer comp section. The layer comp --> layer data is found inside an "undocumented data" section under the Layer Records tag: shmd
Hope this helps someone.