For what its worth, it *appears* that 10.7.3 fixes this issue, at least with the compositions ive tried to load and introspect - they report the menu items correctly now.
Thanks QC team for the fix. That was very annoying. On Dec 13, 2011, at 5:14 PM, vade wrote: > > Hello. > > I have 2 compositions I am loading in 2 QCRenderers, and I am iterating over > the published input keys and their attributes. Each composition has a > published port, of type index, with menu items listed in the settings pane. I > am building a custom interface by checking for the existence of the > QCPortAttributeMenuItemsKey. One input splitter reports the > QCPortAttributeMenuItemsKey, the other does not. Looking at a very very > simple (attached) composition, reveals no reason for the discrepancy in the > QC Editor. > > However, I was able to reproduce "losing" the QCPortAttributeMenuItemsKey in > the one published input that worked, via Property List editor: By opening the > composition, and editing the UserInfo Key (actually, just removing it), of > the published rootPatch -> publishedInputPorts-> (published item) > ->state->userInfo. > > That resulted in the one working input (that returned proper > QCPortAttributeMenuItemsKey) to returning a key with a min and max, and no > menu items listed. > > Attached is two *very simple* compositions which show the issue. > > The first, "Test": > > This has an an input key published named "Texture Format", which properly > returns menu items. It has a second published input key named "test", which > in the user intefrace has menu items declared, but has no menu items reported > programmatically. This compostion *was not altered in any way* and was the > result of editing a QC composition, and noticing that ports behaved > differently. > > The second composition "Test Copy", > > Same as the first, in the editor, both input keys have menu items declared, > however, neither report any QCPortAttributeMenuItemsKey, and both report a > min and a max. This feat was accomplished by editing the user info keys of > the published ports, via Property List editor (as an experiment to try and > determine if I can fix this myself). My feeling is that somehow the userInfo > key had a min key added by somehow flipping a input splitter preference or > some such, but flipping it back did not remove it, resulting in a disparity > between the user interface, and the reported values. (total speculation...) > > I am aware there is a known bug about QCPortAttributeMenuItemsKey, but, this > *really* inhibits any 3rd party applications from properly loading and > presenting user custom interfaces by introspecting keys and their attributes, > especially if the behavior is inconsistent. > > Thank you. > > > <Test copy.qtz><Test.qtz> > > :The result of looking at "Test.qtz" via GDB, attemping to read the input > attributes of the port values from a loaded QCRenderer. > > (gdb) po inputAttributes > { > QCPortAttributeMaximumValueKey = 5; > QCPortAttributeMinimumValueKey = 0; > QCPortAttributeNameKey = Test; > QCPortAttributeTypeKey = QCPortTypeIndex; > } > (gdb) continue > > (gdb) po inputAttributes > { > QCPortAttributeMaximumValueKey = 14; > QCPortAttributeMenuItemsKey = ( > "GL_RGB4", > "GL_RGB5", > "GL_RGB8", > "GL_RGB10", > "GL_RGB12", > "GL_RGB16", > "GL_RGB16F_ARB", > "GL_RGBA2", > "GL_RGBA4", > "GL_RGB5_A1", > "GL_RGBA8", > "GL_RGB10_A2", > "GL_RGBA12", > "GL_RGBA16", > "GL_RGBA16F_ARB" > ); > QCPortAttributeMinimumValueKey = 0; > QCPortAttributeNameKey = "Texture Format"; > QCPortAttributeTypeKey = QCPortTypeIndex; > } > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Quartzcomposer-dev mailing list (Quartzcomposer-dev@lists.apple.com) > Help/Unsubscribe/Update your Subscription: > http://lists.apple.com/mailman/options/quartzcomposer-dev/doktorp%40mac.com > > This email sent to dokt...@mac.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Quartzcomposer-dev mailing list (Quartzcomposer-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com