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 ([email protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/quartzcomposer-dev/doktorp%40mac.com
>
> This email sent to [email protected]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com
This email sent to [email protected]